CS 25 Fall 2009
Syllabus

Instructor

Prasad Jayanti
Office: 224 Sudikoff Laboratory
Email: prasad@cs.dartmouth.edu

Office Hours

When emailing a question about a homework problem, instead of sending it to an individual, please send it to all of the course staff (professor and 4 TAs) at cs25staff@cs.dartmouth.edu This way someone or the other will see and respond without much delay. Also, whenever you have questions, feel free to see the professor or the TAs during the following office hours:

Teaching Assistants

Course Description

Algorithm design is heart and soul of computer science, and CS 25 is all about designing algorithms and analyzing their time and space complexity. The course covers Divide and Conquer, Greedy, and Dynamic Programming strategies for algorithm design, and studies algorithms for sorting, median-finding, graphs, network flows, and implementations of clever data structures, such as balanced trees and disjoint-sets. For algorithm analysis, the course covers amortized analysis and how to solve certain recurrence relations. Weekly homework exercises and two take-home exams reinforce learning.

Course Goals

Even if a student never subsequently studies algorithms, the student will never forget that (1) humanity's ability to solve large scale computational problems that arise in the real world depends to a large degree on our ability to design efficient algorithms, and (2) the design and analysis of algorithms is a difficult enterprise.

By covering clever and efficient algorithms for some common problems (e.g., sorting, searching, shortest paths, network flows), the course helps the students

Lectures

Lectures are in 115 Sudikoff in the 10 hour: MWF, 10:00-11:05 AM. X-hour is Thursday 12:00-12:50.

X-hours

Since this course covers a lot of nontrivial material, I expect to use nearly all X-hours for lectures. Please note that there will be a lecture during the first X-hour on Thursday, September 24, from 12:00 to 12:50pm. It is extremely important that you have no other engagements during X-hours. I cannot adequately emphasize the need to attend all lectures, including X-hours.

Prerequisite

Computer Science 8 and 19.

Text

There is one text, and it is required: Introduction to Algorithms, Third edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein; we will refer to it as "CLRS."

The Day by Day page will tell you what reading I expect you to do for each lecture. You are responsible for checking the syllabus page to find out what to read. And you are of course responsible for then actually doing the assigned reading.

Homework

There will be weekly homework assignments. They usually go out on a Wednesday and are due in class one week later; the first homework will be assigned on Wednesday, September 30. Only Professor Jayanti may grant any extensions on homework assignments.

A few points about the homework assignments:

Homework Lateness Policy

Homework is due at the beginning of class on the announced due date. Late homework has an immediate 20% penalty (unless you have a valid excuse and, unless impossible, have discussed with me in advance), and 10% penalty per calendar day after that. I will not accept a homework after the next homework is due, or after the final. In this course, if you do not do homework on time, you will soon find yourself overwhelmed, so please be regular with your work.

Exams

There will be a midterm exam and a final exam, both of which will be take-home. Unlike the homework assignments, you may not discuss exam problems with anyone, not even with the professor.

The midterm exam will go out on Wednesday, October 28 and will be due before class starts on Wednesday, November 4. The midterm exam replaces that week's homework.

The final exam will be a takehome exam. It will be available on the web starting December 5 (more precisely, no later than 12.01am on December 5). You will have 48 hours to work on the exam. To accomodate everyone's schedule, I let each of you decide when you want to start on the exam, but you must start on the exam no later than 11.59am on December 7. This way I can be certain that I have all of the exams back before noon on December 9.

Before the final exam, we will have a review session 1.00-2.30pm on Friday, December 4.

Grading

Simple formula: Although the cut offs vary from year to year, I provide the following information from the previous years as a rough guide to the expected performance for the various top grade levels:

Honor Code

All work submitted for credit must be your own. As explained below, the rules with regard to the extent of collaboration are different for homework and exams.

You may discuss the homework problems with your classmates, the TAs, and Professor Jayanti, but you must write up your own solutions. For each problem, you must indicate who else you worked with or got any help from, small or big. Even if you worked with the same people on the entire assignment, be sure to write their names at the start of the solution of each problem. Any written sources used (apart from the text, your lecture notes and any homework solutions that I distribute) must also be acknowledged; however, you may not consult any solutions on the internet or from previous years' assignments, whether they are student- or faculty-generated.

The rules are different for the exams (because exams are where we find out what you have learned by doing the homework). Unlike the homework, any discussion of the problems is prohibited for the midterm and the final exams: you may not discuss the problems with your classmates, the TA, the professor or anyone else. You may not consult written sources other than the text book, your class notes, and any homework solutions that I distribute during this term; and you may not consult any electronic sources, including the internet.

You should consult a copy of Sources, their Use and Acknowledgment, which can be found on the internet at www.dartmouth.edu/~sources

Dartmouth's Academic Honor Principle applies to this course. Please be sure to read the principle, which you can find at .

Please ask me if you have any questions about the honor code as it applies to CS 25. Better safe than sorry!

Disabilities

Students with disabilities enrolled in this course and who may need disability-related accommodations are encouraged to make an appointment to see me on or before October 2. All discussions will remain confidential, although the Student Accessibility Services office may be consulted to discuss appropriate implementation of any accommodation requested.

Religious Observances

Some students may wish to take part in religious observances that occur during this acdemic term. If you have a religious observance that conflicts with your participation in the course, please meet with me on or before Friday, October 2 to discuss appropriate accommodations.

Back to CS 25 home page


Prasad Jayanti <prasad@cs.dartmouth.edu>
Last modified: Tuesday, September 23, 2009