CMPSCI 611: ADVANCED ALGORITHMS

A Graduate-Level Introduction to Algorithm Design and Analysis

Fall, 1999

 Instructor: Arnold L. Rosenberg http://www.cs.umass.edu/~rsnbrg

Office: Room 308, Computer Science Bldg; Tel: 413/545-2743; Fax: 413/545-1249; Email: rsnbrg@cs.umass.edu

Office hours: M, 3:30-4:30, W, 10:00-11:00, or by appointment (contact me by email for an in-person or telephone appointment)

Teaching Assistant: Matt Green; Tel: 413/545-2502; Email: mgreen@cs.umass.edu

 

COURSE DESCRIPTION

SCOPE: The aim of the course is to help one ``think algorithmically,'' not to supply a cookbook of the best algorithms for specific problems. Toward this end---

The course will survey principles underlying the design and analysis of efficient algorithms: design paradigms, such as divide-and-conquer, dynamic programming, greedy algorithmics, and the role of randomization; analysis paradigms, such as worst-case, average-case, and amortized analyses; other important themes, such as parallel algorithmics and avenues for coping with computational intractability (NP-hardness). Problem domains covered will include sorting and searching, and algorithms for manipulating sets and graphs.

PREREQUISITES: Mathematical sophistication expected of incoming CMPSCI graduate students, e.g., CMPSCI 350 or an A in CMPSCI 250; knowledge of programming and data structures at the level of CMPSCI 187.

WORK AND GRADES: On-site students will take detailed lecture notes (round-robin scheduling) and distribute them to the class within one week; they will receive one-assignment credit for each set of notes taken and distributed. All other work requirements apply equally to on-site and off-site students. There will be roughly 8-10 problem sets throughout the semester, with one-week deadlines (that will be extendible only in emergencies). There will be at least one midterm exam (more if class performance warrants) and a final exam. The semester grade will be determined roughly as follows: 30% for lecture notes plus assignments; 30% for the midterm(s); 40% for the final. 

For the purpose of assignments and exams: Students will be responsible for all topics covered in class (both the lecture material and the related material in the text), as well as for special topics assigned from the text and related readings.

For the purpose of assignments only: Students will be permitted to form fixed two- or three-member groups; however, all assignments must be written up individually. Assignments that are late or that have not been prepared independently will receive no credit.

Text: Almost all lectures and exercises will be taken from the assigned text: T. Cormen, C.E. Leiserson, R.L. Rivest (1990): Introduction to Algorithms, MIT Press, Cambridge, Mass.

Class schedule: Unless otherwise announced, there will be lectures every Monday and Wednesday, from 2:05 - 3:20, in Marcus 106. There will be no class on Monday, 9/20.

Click here to see the Course Material for the Fall, 1999, semester.

 

SYLLABUS: CMPSCI 611

Fall, 1999

 

Introductory Topics (CLR: Part I [skim chap. 6]; pp. 739-745)

Sorting and Order Statistics (CLR: Part II)

Data Structures and Searching (CLR: chaps. 11-13, 19, 22; skim the rest of Parts III, V)

Graph Algorithms and Greediness (CLR: chaps. 23-25)

Dynamic Programming and Path Problems (CLR: chaps. 16, 26 [skim 26.4])

Network Flow and Matching Problems (CLR: sects. 27.1-27.2; skim the rest of 27)

Coping with Intractability (CLR: chaps. 36 [skim 36.4], 37)