Generated on Tue Oct 25 10:19:18 2022
CS 372: Data Structures and Algorithms (JSON)
Catalog description: Introduction to efficient data structure and algorithm design. Order notation and asymptotic run-time of algorithms. Recurrence relations and solutions. Abstract data type dynamic set and data structures based on trees. Classic algorithm design paradigms: divide-and-conquer, dynamic programming, greedy algorithms.
Prerequisites: At least a C- in CS 272 and C S 278. (Catalog Link)
Credits: 4 (3+2P)
Coordinator: Inna Pivkina
Textbook: Algorithms, Dasgupta, Papadimitriou, Vazirani. First Edition. McGraw Hill, ISBN 0073523402; and Introduction to Algorithms, Cormen, Leiserson, Rivest, Stein. Third edition. The MIT Press. ISBN 9780262033848
(also: online reading)
BS degree role: required
Course Learning Objectives
- Analyze the growth of functions via asymptotic notation
- Evaluate the asymptotic running time of a given algorithm
- Solve recurrence relations of the kinds encountered in algorithm analysis
- Design algorithms using the divide-and-conquer technique
- Design algorithms using the greedy technique
- Design algorithms using the dynamic-programming technique
- Use and analyze data structures based on trees
- Analyze the design, correctness, and time complexity of basic graph algorithms
Course Practicum Requirements
- Be able to implement algorithms in a programming language of choice
- Be able to compare empirical runtime differences on large input between efficient and inefficient algorithms
Course Topics
- Running time calculations
- Asymptotic notation
- Sorting algorithms
- Solving recurrences
- Divide-and-conquer algorithms
- Graph algorithms
- Data structures based on trees
- Greedy algorithms
- Dynamic programming
Course Improvement Decisions
(Course improvement decisions or recommendations from past assessments)
- FA19: broaden LO of binary search trees to other trees; improve practice on graph algorithms
- FA15: more examples of dynamic programming and divide and conquer
- FA13: improve presentation of divide and conquer
ABET Outcome Coverage
(Provide Mapping to ABET Student Outcomes)
- TBD
Other Notes
(Any important notes or issues to consider)
- none