|
91.503.201 Algorithms Spring
2007 |
Finding This Document
Course Objectives
Time and Place
Course Personnel and Office Hours
Prerequisites
Course Texts
Course Outline
Homework
Exams
Grading Policy
The class Web page is http://www.cs.uml.edu/~wang/cs503. Note that this page is a “living document:” extra information is expected to be added during the semester. For up-to-date contents please refer to this Web page.
This course has two objectives: (1) Expose students to various common algorithmic topics with depth. (2) Help students to learn and master rigorous methodologies to design algorithms, prove their correctness using mathematical techniques, and analyze their performance using complexity measures.
The class meets Mondays 5:30pm-8:10pm, Place: Olsen 403. Each meeting is divided into two sessions: 5:30-6:45 and 6:55-8:10, with a 10-min recess.
|
Person |
Role |
Office |
Office Phone |
Office Hours |
Email |
Jie Wang |
Instructor |
OS 201 |
978-934-3649 |
MWF: 1:15-2:15 or by appointment |
|
|
Mineseo Park |
TA |
OS 220B |
|
W: 12:00-1:00 |
Note: If you miss any one of these prerequisites, this course is not for you.
T.H. Corman, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms, 2nd edition, McGraw-Hill, 2nd edition, 2001. ISBN 0-07-013151-1
Handout: Introduction to NP-Completeness
Date |
Topic |
Reading |
|
Wk1 (01/29) |
Administrative Matter. Dynamic programming |
Ch15 |
|
Wk2 (02/05) |
Greedy algorithm |
Ch16 |
|
Wk3 (02/12) |
Amortized analysis |
Ch17 |
|
Wk4
( |
Shortest paths |
Ch24 & Ch25 |
|
Wk5 (02/26) |
Shortest paths |
Ch24 & Ch25 |
|
Wk6 (03/05) |
Maximum flow |
Ch26 |
|
(03/12) |
Spring recess; no class |
|
|
03/24 noon – 03/25 noon |
Take-home midterm
exam |
Everything from wk1 to wk6 |
|
Wk7 (03/19) |
NP-completeness |
Ch 34 and handout |
|
Wk8 (03/26) |
NP-completeness |
Ch 34 |
|
Wk9 (04/02) |
Approximation algorithms |
Ch 35 |
|
Wk10 (04/09) |
Linear programming |
Ch 29 |
|
Wk11
( |
No lecture; homework recitations by Ms. Park |
|
|
Wk12 (04/23) |
Polynomials and the FFT |
Ch 30 |
|
Wk13 (04/30) |
String matching |
Ch 32 |
|
Wk14 (05/07) |
Computational geometry |
Ch 33 |
|
TBA |
Final Exam |
Everything from midterm |
This is primarily a "paper-and-pencil" course. But homework must be typed. For each algorithm you design, you must include a description using English with math notations, pseudo code, correctness proof, and complexity analysis. Homework assignments are due on Mondays at the beginning of class.
Homework handed in after 8:15pm will be considered late, and no late homework assignments will be accepted. However, since occasional emergencies may occur, each student is allowed one extension of 48 hours to turn in his/her homework. This amount of time cannot be divided among assignments: It applies to one assignment only.
Midterm and final exams will be given. No early exams will be given. Exams may be taken after a scheduled date ONLY for documented emergencies. Students are required to obtain appropriate written documentations. A quiz with emphasis on prerequisite courses will be given in the 4th week to help you determine whether you should stay on the course.
Note: No Incompletes will be given in this course.
The approximate weights of the three components are
|
Homework |
20% |
|
Midterm |
40% |
|
Final |
40% |
Class attendance is important. You
are responsible for all scheduling and announcements made in class if you miss class. The likelihood of
failing the course is subsequently higher if you fail to attend class.
Students should be aware of, and adhere to, the University’s rules on academic dishonesty. These rules appear in the Graduate/Undergraduate Catalogs. The basic presumption is that the work you do is your own. Occasionally, especially when working on difficult homework problems (but never on quizzes or exams!), it may be necessary to ask someone for help. You are permitted to do so, provided you meet the following two conditions.
1. You acknowledge the help on the work you hand in.
2. You understand the work that you hand in, so that you could explain the reasoning behind the parts of the work done for you by another. This means that you must write your solutions using your own words.
Any other assistance by another person or from any other source constitutes a violation of the honor code. Even if you just provide your work for someone else to copy from, you are still violating the honor code.
This course adopts the zero-tolerance policy of honor-code violation; that is, anyone who violates the Honor-Code policy will automatically receive an F for the entire course, and this F will be noted as a cheating F.
If you have any questions about what this honor-code policy means, please discuss the matter with the instructor.