Advanced Data Structures and Algorithms
Credits: 3
Prerequisites: CS 261
This course is a follow-up to CS261, covering additional topics that are important for aspiring computer scientists and software engineers. Data structures and algorithms covered in the course will include graphs and related graph algorithms; algorithm strategies (e.g., greedy algorithms, dynamic programming, randomized algorithms); string algorithms (e.g., tries, suffix trees, suffix arrays); and disjoint sets. The course will also introduce students to topics from theoretical computer science, such as computational formalisms, Turing machines, complexity classes, the “P=NP?” question, and approximation algorithms. Some time will be set aside for additional advanced data structures and algorithms that will vary between semesters based on current trends and the instructor’s preference.
Course Overview & Topics
Section titled “Course Overview & Topics”- key concepts, software, etc
Professors
Section titled “Professors”- John Doe
- specific advice
- workload, assessments, teaching style
- professor specific advice