CS583 Analysis of Algorithms I (Spring 2019)


  • Instructor: Amarda Shehu amarda\AT\gmu.edu
    Place and Time: Innovation Hall 204, F 1:30-4:10 pm
    Instructor Office Hours: ENGR #4452, M 3:30-4:30 pm, F 11:30 am - 1:30 pm
    TA Office Hours: Yang Yong (yyang29\AT\gmu.edu), ENGR #5321, W 4:00 - 6:00pm


  • This course will offer students a set of techniques by which to design and analyze algorithms. The class will cover recurrence relations, probabilistic analysis, sorting algorithms, algorithms for order statistics, advanced data structures for searching and mapping, optimization algorithms and advanced analysis, and graph algorithms. The last few lectures of the class will be devoted to special topics, including NP-completeness and approximation algorithms.


  • Material will be disseminated in the form of lectures. Students will be tested on the comprehension of the basic material through a combination of quizzes, homeworks, and exams. All quizzes and exams are closed book. Up to two cheat sheets will be allowed. Extra credit will allow students that are interested in advanced topics and research to demonstrate their abilities. Extra credit will not account for more than 10% of the total grade of a homework or exam. No late deliverables will be accepted, except for rare documented special circumstances.


  • Upon completion of this course, students should be able to analyze and compare algorithms in terms of both time and space complexity, understand fundamental sorting, optimization, and graph algorithms, understand when and how to use advanced data structures, analyze the computability of a problem, reason algorithmically, and design efficient algorithms.

Grade Breakdown

  • Quizzes: 45% (~5% each)
    Homeworks: 10% (~5% each)
    Exams: 45% (~15% each)