CS583: Analysis of Algorithms

Instructor

Giuseppe Ateniese (ateniese@gmu.edu)

Office hours: Tuesday, 4:30–5:30 PM (Zoom)

Description

Rigorous study of algorithm design and analysis. Topics include asymptotic notation, recurrence solving, divide-and-conquer, greedy methods, dynamic programming, graph algorithms (shortest paths, MST, flows and cuts), NP-completeness, reductions, approximation algorithms, and randomized algorithms. Emphasis on formal proofs of correctness and tight runtime/space analysis, as well as clear problem-solving strategies that generalize to unseen problems.

Schedule

Thursday, 4:30–7:10 PM, Horizon Hall 2014

Textbook

Prerequisites

Solid background in discrete mathematics and data structures. You should be comfortable with proof techniques (induction, contradiction, invariants), basic probability, and analyzing time/space complexity.

Learning Outcomes

Grading

Ethics and University Policies

Adherence to the GMU Common Course Policies, GMU Academic Standards, and the CS Department Honor Code is required.