Data Structures and Complexity Analysis

Course Description

This course offers an in-depth exploration of fundamental data structures and the principles of complexity analysis, emphasizing the efficiency and performance of algorithms. Students will begin by learning how recursive functions simplify complex problems by breaking them down into smaller, manageable subproblems, and they will study the essential components that define a recursive function. The course also delves into the purpose and critical role of sorting within computer science, covering popular sorting algorithms and their applications in searching, data analysis, and optimization. Students will gain insight into how efficient sorting is foundational to effective data manipulation and retrieval.

Additionally, students will be taught to work on complex data structures and algorithms. This includes key data structures including stacks, queues, linked lists, binary trees, recursion, and examples using some fundamental algorithms of computer science. Java and Python programming languages will be used. The course is designed to make students understand concepts related to data representation and organization in development of software products and services. The students will learn advanced algorithmic concepts such as time and space complexity, searching algorithms and sorting algorithms, etc. By the end of this course, students will be capable to select and implement data structures and algorithms that best suit specific computational tasks, with an understanding of the trade-offs between performance and resource consumption.

Course Objectives

  • Learn how recursive functions break down a problem into smaller subproblems
  • Understand the key components of a recursive function
  • Grasp the purpose and importance of sorting in computer science and data manipulation
  • Understand how sorting algorithms are used in searching, data analysis, and optimization
  • Grasp the concept of time complexity and how it is used to measure the performance of algorithms based on input size

Registration

Directions:

  • Create an account: GVSU Upskilling
  • Your username and password will be emailed to you.
  • Click on the direct registration link below for the dates you prefer.
  • Log in to the system.
  • Register and pay for the course.

Available Dates:



Page last modified June 18, 2025