Home Schedule and Assignments
Meeting times: MWThF 12-12:50pm
Location: 206 Seeley Mudd
Prerequisites: COSC-112 and COSC-211 (or their equivalents at another institution). Please come talk to me if you have not taken both of these courses.
Overview: This course is the second half of a two-course sequence on data structures and algorithms (COSC-211, Data Structures, is the first half). Topics covered will include sorting and selection, divide-and-conquer algorithms, greedy algorithms, dynamic programming, network flow, and NP-completeness. Much of the course content is theoretical, focusing on understanding what it means for an algorithm to be efficient, learning how to analyze algoithms' efficiency, and exploring what to do when we cannot design efficient algorithms.
Office: 405 Seeley Mudd
Office hours: MW 3-4pm and by appointment
The following two textbooks are good references that provide supplementary coverage of the material we will discuss in class. You are NOT required to purchase these books. There will not be any assignments that require you to have the books (though I will note the relevant chapters for each topic on the course schedule); they are simply recommendations should you wish to consult a source other than your notes. Both books are on reserve in the Science Library in Merrill.
Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein, MIT Press, 2009. ISBN: 9780262033848.
Algorithm Design, by Kleinberg and Tardos, Pearson/Addison-Wesley, 2006. ISBN: 0321295359.
1. Homework (50%). There will be five homework assignments, due roughly every two weeks. Most of these will be written assignments, but there may occasionally be a programming component. Homework must be submitted in class on the date on which it is due. Extensions will be granted on a case-by-case basis due to an illness or other extenuating circumstance; please email me at least 48 hours before the deadline should you need to request an extension (a sudden illness or other emergency less than 48 hours before the deadline is, of course, a special case).
2. Midterm (20%). There will be an in-class midterm, likely at the end of October.
3. Final exam (30%). There will be a final exam, likely in class on the last day of classes.
I will not take attendance and you will not be explicitly graded on participation, but participating in class (or not) can help (or hurt) you should you end up on the border between two grades.
In general, you are expected to do your own work in this class unless otherwise specified. You may discuss how to approach homework assignments with other students who are currently taking the class, but all written solutions and code must be your own. Do not look at other students' work, and do not show your work to other students. If you discuss an assignment with other students in the class, please note their names at the top of your submission. You do not need to note if you consulted with me or the course TAs. Do not discuss assignments with anyone other than myself, the course TAs, and students currently enrolled in the class, and do not look for solutions on the internet. Exams must be completed individually.
If you are struggling...
Please come see me. In addition to my office hours and the TA-led evening help sessions, the Dean of Students office offers peer tutoring if we decide you would benefit from some extra time spent one-on-one with a peer tutor. Should you need support related to challenges beyond this course, I encourage you to seek help from the numerous resources available on campus, including but not limited to your class dean, your RC, the health center, and the counseling center.
If you have a documented disability that requires accommodations, you will need to contact Accessibility Services (firstname.lastname@example.org or 413-542-2337). After you have arranged your accommodations with Accessibility Services, please set up a time to meet with me to discuss how we can best implement your accommodations in this class.