Skip to content

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.

  • key concepts, software, etc
  • John Doe
    • specific advice
    • workload, assessments, teaching style
    • professor specific advice