CS5800 Algorithms Fall, 2009 Syllabus
Created: Thu 14 Aug 2009
Professor Harriet Fell
Office: 340 WVH
Phone: (617) 373-2198
Office Hours: Mondays 3 PM to 4 PM; Thursdays 3 PM to 5 PM
Niklaus Wirth famously wrote "programs = algorithms + data structures".
This course is part of the M.S. Core. It presents the mathematical techniques used for the design and analysis of computer algorithms. Focuses on algorithmic design paradigms and techniques for analyzing the correctness, time and space complexity of algorithms. Topics chosen from: asymptotic notation, recurrences, loop invariants, Hoare triples, sorting and searching, advanced data structures, lower bounds, hashing, greedy algorithms, dynamic programming, graph algorithms, and NP-completeness.
Introduction to Algorithms, Third (or Second) Edition,Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
Exams and Grades
Course grades will be based on
- homeworks 50%
- mid-term exam 25% (in class, one 2-sided 8.5" by 11" sheet of notes)
- final exam 25% (in class, one 2-sided 8.5" by 11" sheet of notes)
- There will be ~10 written assignments. There will be links to the assignments on the home page and on the schedule page. Some of the problems will be difficult, and it will often be helpful to discuss them with others. Feel free to form study groups. However, the idea is for everyone to understand the problems and experience working through the solutions, so you may not simply "give" a solution to another classmate. In particular, each student must write up his or her own homework solutions and must not read or copy the solutions of others. If you work with others on a problem, you must note with whom you discussed the problem at the beginning of your solution write-up.
- Late homework policy: Homework is due at the beginning of class on the announced due date. You will be granted one homework extension of 1 week, to be used at your discretion, no questions asked. After the first late assignment, unexcused late assignments will be penalized 20% per calendar day late. I normally will not accept assignments after the date on which the following assignment is due or after the solutions have been handed out, whichever comes first. If you will have a valid reason for turning in an assignment late, please see me in advance to obtain full-credit.
- All work submitted for credit must be your own.
- You may discuss the homework problems or projects with your classmates, the teaching assistant(s), and instructor. You must acknowledge the people with whom you discussed your work, and you must write up your own solutions. Any written sources used (apart from the text) must also be acknowledged; however, you may not consult any solutions from previous years' assignments whether they are student or faculty generated.
- Please ask if you have any questions about academic honesty as it applies to CS5800.