Advanced Algorithms

Title Advanced Algorithms (55005)
Quarter Summer 2020
Instructor Geraldine Brady (

Syllabus Advanced Algorithms is a second course on the design and analysis of efficient algorithms. This course will present many interesting and relevant algorithms and give students the tools to recognize and rigorously solve algorithmic problems in the real world. 

Topics include:
  • data structures: balanced binary search trees and Bloom filters
  • discrete and continuous optimization: advanced dynamic programming, gradient descent, Newton's method
  • NP-hardness and methods of dealing with intractability: approximation, randomization, backtracking, branch and bound, local search
  • computational geometry and advanced graph algorithms
with applications in computing, science, and engineering.

Engaging weekly homework assignments will involve designing new algorithms in pseudocode and implementing selected algorithms in Python. Course goals are to prepare students with skills necessary to tackle algorithmic problems they may encounter in their future work. 
Prerequisites (Courses)

B+ or better in MPCS 55001 Algorithms or consent of instructor

Prerequisites (Other)


Core Theory


Thursday 5:30-8:30 PM