CS 31 Winter 2020 Syllabus

Instructor

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

Teaching Assistants

Professor's Office Hours (Tentative)

All Office Hours

The times below are tentative.

Course Description

Algorithm design is the heart and soul of computer science, and CS 31 is all about designing algorithms and analyzing their time complexity. The course covers divide-and-conquer, greedy, and dynamic programming strategies for algorithm design, and studies algorithms for median-finding, graphs, network flows, and the design of clever data structures, such as balanced trees and disjoint-sets. For algorithm analysis, the course covers amortized analysis and solving certain types of 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 challenging enterprise.

Through a study of efficient algorithms for some common problems (e.g., sorting, searching, shortest paths, network flows), the course helps the students

Lectures, X-hours & Attendance Policy

All lectures are held in LSC 201 in the 10 hour: MWF 10.10-11.15 PM. The X-hours are on Thursdays 12.15-1.05 PM. The course covers a lot of nontrivial material, so I expect to use most or all X-hours for lectures. 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.

Many students find the material of CS 31 fun and useful, but challenging. The best way to cope with the challenge is not to miss even a single lecture, not be late to class, and be attentive in class. It takes a lot more time to learn a topic on your own (even with the help of the lecture videos). To reinforce the importance of attending lectures, 4% of the course grade is set aside for attendance. I understand that a variety of situations---falling sick, interviews, family emergencies etc.---lead to missing some lectures. So, I have a liberal policy of allowing up to 8 absences without any penalty (note that attendance is taken during MWF lectures as well as Tuesday X-hours). If a student misses more than 8 lectures (counting x-hours), they lose all 4 of the attendance points, but if they miss 8 or fewer lectures in the term, they get all 4 attendance points.

The Day by Day page lists what what topic is covered in each lecture.

Prerequisite

Computer Science 10 and 30 are both required. If you have not passed these two courses, you must talk to Professor Jayanti.

Text

Here are two good texts, but neither is required.

Homework

There will be weekly homework assignments. They go out on Wednesdays and are due next Tuesday by 11.59 PM. The first homework goes out on January 8. Homework can only be turned in electronically, via canvas. For homework lateness policy, see the section below on Policies

A few points about the homework assignments:

Homework Late Days

Each student has 3 free late days towards homework submission over the course of the term. Manage them wisely, conserving them for unforeseen situations such as interviews, falling sick, multiple midterms in the same week etc. Any portion of a late day is counted as one full day (for example, if your homework is 36 hours late, it costs you 2 late days, and not 1.5 late days). Even one minute late counts as a full day and if the Canvas timestamp says you're late, you're late; no exceptions. Late days can be used only for homework, and not for the midterm or the final exam.

Once the three late days are used up, any homework turned in late will suffer a penalty of 20% for each day (for example, if your score on a homework would normally be 84% but you turned it in 30 hours late and you have no late days left, your score will be recorded as 84 minus a penalty of 40, which is 44%).

Homework can only be turned in electronically, via canvas.

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 TAs or the professor. Also, late days can be used only for homework and not for the midterm or the final exam.

The midterm exam will go out on Wednesday, February 12 and will be due by 11.59pm on Tuesday, February 18. I give about a week to solve the midterm partly to accommodate the diverse schedules and situations such as interviews, multiple midterms, down sick for a couple of days etc. Late days and penalties apply only to homework and not to the midterm or the final: the deadline of 11.59pm Tuesday, February 18 to turn in the midterm is strict. There will be no homework during the week of the midterm.

The final exam will be a take-home exam. It will be available on the web starting 12.01am March 9. You will have 48 hours to work on the exam. To accommodate 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 March 11. This way I am certain that I'll have all of the exams back before noon on March 13.

Homework/Exam Regrade Procedure

Your work is graded by the graduate TAs and the graders, according to a grading guide that I explain to the graders at a meeting each week. In case you have any grading questions on a homework or exam, please follow the procedure below.

Grading

Simple formula: Although the cut offs vary from year to year (depending on the class median), I provide the following information from 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. If you didn't collaborate with any, state that explicitly. Any written sources used (apart from the text, your lecture notes and any solutions that I distribute in this term) 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 from the class and 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 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 and Citations at Dartmouth College, which can be found on the Internet at http://writing-speech.dartmouth.edu/learning/materials/sources-and-citations-dartmouth.

Dartmouth's Academic Honor Principle applies to this course. Please be sure to read the principle, which you can find at http://www.dartmouth.edu/judicialaffairs/honor/ .

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

Laptop/Phone Policies

No-Laptop/No-Phone Policy during Lecures
We have a no-laptop/no-phone policy in class to minimize distractions and encourage participation. Please read this article to better understand this policy.
No-Laptop, No-Notetaking Policy during Homework Help Hours:
We have a firm policy that you do not take any notes on paper or on any electronic device during Homework Help Hours. Accordingly, laptops/tablets/phones as well as notebooks should remain closed during these hours. The basic idea is that you should understand what we have discussed and be able to reconstruct the solutions later by yourself.

Disabilities

Students with disabilities who may need disability-related academic adjustments and services for this course are encouraged to see me privately as early in the term as possible, but no later than Friday, January 17. Students requiring disability-related academic adjustments and services must consult Student Accessibility Services (SAS). Once SAS approves any accommodations, students must bring their approvals to me. As a first step, if students have questions about whether they qualify to receive academic adjustments and services, they should contact the SAS office. All inquiries and discussions will remain confidential.

Religious Observances

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

Back to CS 31 home page


Prasad Jayanti <prasad @ cs.dartmouth. edu>
Last modified: January 4, 2020