Algorithms and Advanced Data Structures
Course Number: 02-613
The objective of this course is to study algorithms for general computational problems, with a focus on the principles used to design those algorithms. Efficient data structures will be discussed to support these algorithmic concepts.
Key Topics:
- Run time analysis
- Divide-and-conquer algorithms
- Dynamic programming algorithms
- Network flow algorithms
- Linear and integer programming
- Large-scale search algorithms and heuristics
- Efficient data storage and query
- NP-completeness
Semester(s): Fall, Spring
Units: 12
Prerequisite(s): 15-122 or 15-121
Learning Objectives
Ability to design, analyze complexity of, and prove the correctness of algorithms used with data structures.Cross-Listed: 15-351, 15-650
Note: This course is for students not in the computer science major or minor who are interested in advanced data structures.
Substitutes: 15-112 for 15-121, 15-123 for 15-122
Assessment Structure:
- Homework: 30%
- Midterm: 40%
- Final Exam: 30%
