CSU 690: Algorithms & Data
Spring 2005
Instructor: Rajmohan
Rajaraman
240 WVH
Work: 617-373-2075
College of Computer
Science
Email: rraj AT ccs DOT neu DOT edu
Northeastern
University Fax:
617-373-5121
Class meeting times/location: 108 WVH,MW
2:50-4:30
Office Hours: M 4:30-5:30 PM, Th 4:15-5:15
PM
Teaching Assistant: Xin Liu (liux AT ccs), WVH 208,
617-373-5878
Office hours: 11:00am~1:00pm
Course Description
Prerequisites
Textbook
Grading
Course
calendar (will include all handouts)
Course Description
This course provides a undergraduate-level introduction to the design,
analysis, and implementation of algorithms. Topics covered will include
the following.
- Mathematical foundations: recurrences, asymptotic notation,
asymptotic analysis and formal methods for establishing the correctness
of algorithms
- Sorting and searching algorithms.
- Algorithm design paradigms: divide-and-conquer and dynamic
programming.
- Graph algorithms: depth-first search, breadth-first search, and
shortest paths.
- Information theory and fundamental structures for representing
data.
- Hierarchical representations, dynamic data representations, and
data compression.
- An introduction to the theory of NP-completeness.
Prerequisites
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,
priority queues)
- Encapsulation and abstraction
- Programming
- 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. If
you do have not taken any of the prerequisite courses (or their
equivalents), then you should not take CSU690.
Textbook
T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction
to Algorithms, MIT Press & McGraw-Hill, Second Edition 2001.
Grading
The course grade will be based on seven problem sets (for a total of
35%), a midterm (20%), a final exam (40%), and class participation
(5%). Problem sets are due at the beginning of class. No late
homework will be accepted!