CSU 690: Algorithms & Data
College of Computer
Email: rraj AT ccs DOT neu DOT edu
Class meeting times/location: 104
West Village Bldg G, TuF 3:25 PM-5:05 PM
Office Hours: Tu 12:30-1:30 PM, Th
Teaching Assistant: Abhishek Chaubey (chaubey AT ccs),
Office hours: M 4:45-5:45 PM, F
calendar (will include all handouts)
This course provides a undergraduate-level introduction to the design,
analysis, and implementation of algorithms. Topics covered will include
- Mathematical foundations: recurrences, asymptotic notation,
asymptotic analysis and formal methods for establishing the correctness
- Algorithm design paradigms: divide-and-conquer, greedy, dynamic
- Graph algorithms: traversals, shortest paths, spanning trees,
- Information theory, fundamental structures for representing
data, and data compression.
- An introduction to the theory of NP-completeness.
The following courses are prerequisites: CSU200, CSU213,
MTHU481. By topic, the prerequisites are:
- Discrete mathematics (sets, functions, elementary combinatorics)
- Elementary data structures (arrays, linked lists, trees, hashing,
- Encapsulation and abstraction
- Recursion and induction
- Elementary probability theory
A brief review of discrete mathematics, induction, and elementary
probability theory will be done at the beginning of the course.
This review, however, does not take the place of the
prerequisites. The prerequisites will be strictly enforced.
you have not taken any of the prerequisite courses (or their
equivalents), then you should not take CSU690.
J. Kleinberg and É. Tardos, Algorithm
Design, Addison-Wesley, 2006.
The course grade will be based on seven problem sets (for a total of
36%), a midterm (25%), a final exam (35%), and class
(4%). Problem sets are due at the beginning of class. No late
homework will be accepted! The lowest grade among the seven
problem sets will be dropped.