Data Structures and Complexity Analysis (January Cohort)

Dates: January 6 - February 3, 2025

Meets: No set meeting time

Location: ONLINE - Self-Paced

GVSU Student: $200.00

There are still openings remaining at this time.

OR

Share

Email Information to Friend Print

Course Description:

This is the final course of three, to earn the certificate in Foundations of Computing. The certificate is designed to make the students fluent in analyzing and creating programs using java programming language. This course may be taken concurrently with the other required courses, Algorithmic Analysis, and Object-oriented Design.

Data Structures and Complexity Analysis 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, this course, students will be taught to work on complex data structures and algorithms. It 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. Course is designed keeping in mind the need 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.

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.

Optional Textbook

Deitel, P. J., & Deitel, H. M. (2017). Java: How to program, Late Objects. New York, NY: Pearson.

Notes:

***This course is a one-month cohort. Registration ends on Thursday, January 2, and the course starts on January 6. All course material including the final exam must be turned in by February 3.

Please note that you will receive your continuing education Blackboard account credentials no less than two business days prior to the start date of this course, on January 1.

For assistance registering for the course or issues logging in to Blackboard, please contact our front desk by emailing learn@gvsu.edu. For questions regarding the content of the course, please contact Johanna Swanson, Graduate Programs Coordinator: swansjoh@gvsu.edu.

Students may cancel their registration up to the day the course starts by contacting our office at learn@gvsu.edu.

To view our complete policies, please visit: www.gvsu.edu/learn/policies

Fee: $200.00

ONLINE - Self-Paced

Program content is online, not-live and is self-paced