CS483 Analysis of Algorithms (Spring 2010)


  • Instructor: Amarda Shehu amarda\AT\cs.gmu.edu
    Place and Time: STI #122, W 4:30-7:10 pm
    Office Hours: ENG #4422, T 2:00 - 4:00 pm and by appointment
    TA: Chen Liang (aneliselc\AT\gmail.com), ENG #4456, M 4:00-6:00 pm


  • 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, 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 the topic of NP-completeness, approximation algorithms, and other special topics.


  • Material will be disseminated in the form of lectures. Students will be tested on the comprehension of the basic material through homeworks and exams. In addition to the basic material, special topics will be covered. Extra credit in the homeworks and exams 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. Some homeworks may include programming and reporting on the performance of algorithms implemented. No programming is involved in the exams, only pseudocode. No late homeworks or project deliverables will be accepted.


  • 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, and reason algorithmically and design efficient algorithms.


  • C or better in CS 310 (Data Structures), CS 330 (Formal Methods & Models), and MATH 125 (Discrete Math). Programming in a high-level language that supports recursion (e.g. PL/I, Pascal, C, C++, Lisp, Java).


  • Required Reading: Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani, The McGraw-Hill Companies (2008). The book is available at http://www.cs.berkeley.edu/~vazirani/algorithms.html . Recommended Reading: Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, The McGraw-Hill Companies, 2nd Edition (2001).


Grade Breakdown

  • Homeworks: 40% (10% each)
    Exam 1: 25%
    Exam 2: 35%