CS网课代修 | CS526 Data Structures and Algorithms Syllabus


Course Description

This course covers and relates fundamental components of programs. Students use various data structures to solve computational problems, and implement data structures using a high-level programming language. Algorithms are created, decomposed, and expressed as pseudocode. The running time of various algorithms and their computational complexity are analyzed.

Course Objectives

Upon successful completion of this course, students will be able to:

1. Describe and illustrate fundamental data structures.
2. Use fundamental data structures to support the implementation of algorithms.
3. Given a problem definition, develop an algorithm to solve the problem.
4. Write an algorithm using a pseudocode.
5. Illustrate the execution of a pseudocode of an algorithm using a sample input.
6. Analyze the performance of an algorithm.
7. Implement a given algorithm using a high-level programming language.
8. Solve computational problems using algorithms.


o MET CS300 and either MET CS520 or MET CS521, or instructor consent.
o Must have knowledge of or experience in at least one high-level programming language, such as Java, C++, C#, Python, etc.
Text: Michael T. Goodrich, Roberto Tamassia, and Michael T. Goldwasser, “Data Structures and Algorithms in Java,” John Wiley & Sons, 6th Edition, January 2014.

Assignment: There will be 10 homework assignments (the number of assignments is subject to change according to the actual progress of the class) and most assignments include Java programming.

Project: This is a programming project. Details will be discussed in the class later.

Midterm: Administered remotely via Zoom
Final: Administered remotely via Zoom; comprehensive