Contact | References | Grading | Objective | Schedule&Materials
Welcome to the CS2223 homepage. Here you'll find general information about the course, useful links, and downloadable materials that, when combined with participation in the lectures and labs, will help you benefit as much as possible from taking CS2223. Use the menu options above to find your way around.
What this course is about
This course provides an introduction to the design and analysis of
algorithms. Design topics discussed include greedy algorithms, divide
and conquer, and dynamic programming. Analysis topics include asymptotic
notation, worst-case and average-case analysis, and recurrence equations.
Specific algorithms from several areas including sorting and graph theory
will be covered.
You should have experience with programming techniques and basic data
structures (preferably in in C/C++ or Java) at the level of
CS 2005, as well as basic knowledge of discrete mathematics at the level of
CS2022 / MA2201.
Approximate Schedule of Topics
Some deviations from this schedule may occur.
Updates will be made during the term, and will appear only at http://www.cs.wpi.edu/~alvarez/CS2223/.
|Mar. 16-17||1.1-1.3, 2.1-2.7||Overview
3.1-3.3, 4.1-4.5, 4.7.1-4.7.3
also see 1.6.4
Euclid's gcd algorithm
|Mar. 27 - 31||5.7, 5.9, 6.1-6.4||
Test 1, Apr. 7
|Apr. 10-14||7.1-7.5, 7.7||
Divide and conquer
No class Th. Apr. 20
All-pairs shortest paths
|Apr. 24-28||9.3-9.6, 10.1-10.5||
Intro to probabilistic algorithms
Test 2, May 2
Term ends Th. May 4
Extra Credit Problem (due May 1 by 9 am)
|Additional topics if time allows|