CS 441 – Advanced Algorithms Fall 2015 Course Information Instructor: Ananya Das Christman Email: achristman 'at' middlebury 'dot' edu Office Hours: WF 2:40pm – 4:10pm (and by appointment) Office: McCardell Bicentennial Hall (MBH) 637 Lectures: MWF 11:15am - 12:05pm, MBH 538 Course Objective: This is an advanced course in algorithm design and analysis. Topics include divide and conquer algorithms, advanced graph algorithms including shortest path and network flow, data encoding algorithms, approximation algorithms, and randomized algorithms. Course Webpages/Resources: http://www.cs.middlebury.edu/~achristman/cs441/index.html: This is the primary course webpage. It will contain course information and materials. You are responsible for regularly checking this site to stay updated. moodle.middlebury.edu: This site will be used for posting solutions and assignment submission. email: Course announcements will be made through Middlebury email. You are responsible for regularly checking your email to stay updated. Textbook: None required but two helpful ones are (both will be on reserves at Armstrong Library): Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein (CLRS). 3rd edition, Addison Wesley, 2009. Algorithm Design, by Kleinberg & Tardos (KT). 1st edition, Pearson, 2005. Slides for this text available here. Course Grading: Homework/Presentations 40% Midterm 1 15% Midterm 2 Class Participation/Attendance 15% 5% Final Project 25% Homework: Much of what is learned in this course will be from trying to solve the homework problems, so make a conscientious effort to complete them well. Some of the problems may be quite challenging so do not be surprised if some of them stump you; you are not expected to solve every homework problem perfectly. Your solutions should be concise, correct, and legible. Understandability of the solution is as necessary as correctness. Expect to lose points if you provide a "correct" solution with an unclear write-up. As with an English paper, do not expect to turn in a first draft: it takes refinement to describe something well. If you can't solve a problem, briefly indicate what you've tried and where the difficulty lies. Don't try to pull one over on me. :) Problem sets will be assigned roughly every week, due by the first 5 minutes of class typically using the following schedule: if an assignment is out on Monday, it will be due the following Wednesday; if out on Wednesday, due the following Friday; if out on Friday, due the Monday after the following Monday. You are encouraged to discuss homework problems with classmates, but you must write up your solutions independently (with the exception of group presentation solutions - see below). Homework submissions must be typed using LaTex. Group Presentations: Throughout the semester you will get into groups of two and present solutions to a homework problem. Since there will be 3-4 problems per assignment, you will present for every roughly every other assignment. The problems will be assigned randomly and grading will take into account the difficulty of a problem, i.e. a more challenging problem will be graded more leniently than an easier problem. You will be graded both on your solution and your ability to present the solution effectively to the class. Midterms: There will be two in-class exams - one will be around the 4th or 5th week, the other around the 11th or 12th week. Exact dates will be announced soon. Class Attendance: Since there is no assigned textbook it is extremely important for you to attend the lectures. Class attendance and participation will also make up a small but important portion of your grade. Please keep in mind that if you do miss class, you are responsible for any missed material. I will not reiterate material that has already been covered solely for students who missed the original lecture. If you miss class, you are certainly welcome to review topics with me during my office hours, but please do so only after getting the notes from a fellow classmate. Your attendance/participation grade will be based on your attending class regularly and showing evidence that you are actively engaged in the class. Lateness Policy: You will be allowed three late days for the semester. You may not use a late day for a homework solution that you are to present (no exceptions). You must notify me before the due date if you are planning to use a late day (again, no exceptions). After the three late days, no late assignments will be accepted. Computer and Cell Phone Policy: You may use desktop or laptop computers (quietly) during lecture to take notes. You should not use computers during lecture for any other purposes (e.g. email, web browsing, games, work for other classes, etc.). You may not use cell phones during lecture, lab, or exams. Disabilities Accommodations Students with documented disabilities who believe that they may need accommodations in this class are encouraged to contact me as early in the semester as possible to ensure that such accommodations are implemented in a timely fashion. Assistance is available to eligible students through the ADA Office. Please contact Jodi Litchfield, the ADA Coordinator, at litchfie@middlebury.edu or 802-443-5936 for more information. All discussions will remain confidential. Academic Honor Code: Any form of plagiarism is considered a violation of the honor code and will be heavily penalized. Note that allowing someone else to copy your solutions also violates the honor code. Any assignment that shows signs of plagiarism will be investigated and reported if necessary. Please note that there are several programs that allow us to easily check whether an electronic document has been copied, so detecting plagiarism will not be difficult. Violations will result in a homework grade of 0 and will be reported to the academic judicial board.