Schedule | Policies |
---|
Background Assumed:
Students should have basic knowledge about programming and should be able to read and write math proofs.
If you have taken CS 1, CS 10, and CS 30, you should be fine. In case you haven't, then please see the instructor.
See this for what I teach in CS30.
Text Books
There is no required textbook. Lecture notes will be posted after every lecture.
However, the material is mostly going to be from the following two books, and I will give pointers to them as well.
Evaluation
Date | Topics | Notes | Other Reference |
---|---|---|---|
26 Mar (Tue): | Algorithms with Numbers | Lec, Supp | [DPV 1.1] |
27 Mar (X): | Big-Oh notation | Lec | [DPV 0.3, CLRS 3.1] |
28 Mar (Thu): | Divide and Conquer 1: Merge Sort, Counting Inversions | Lec, Supp | [DPV 2.3, CLRS 2.3] |
2 Apr (Tue): | Divide and Conquer 2 : Maximum Range Sub-Array, Multiplying Polynomials Fast | Lec | [CLRS 4.1], [DPV 2.1] |
3 Apr (X): | Prantar Proves Master Theorem | Notes | |
4 Apr (Thu) | Divide and Conquer 3: Closest Pair of Points; Dynamic Programming 0: Recursion with Memory | Lec | [CLRS 33.4] |
9 Apr (Tue) | Dynamic Programming 1 : Subset Sum Problem | Lec | |
10 Apr (X): | Dynamic Programming 2: Knapsack problem | Lec | |
11 Apr (Thu) | Dynamic Programming 3: Longest Common Subsequence, Edit Distance | Lec | |
16 Apr (Tue) | Instructor Out-of-Town | ||
18 Apr (Thu) | In-class Midterm 1: 10A hour, Filene | Instructor Out-of-Town | |
23 Apr (Tue) | Randomized Algorithms 1: Frievald, QuickSort | Lec | |
25 Apr (Thu) | Randomized Algorithms 2: Hashing | Lec | |
30 Apr (Tue) | Graph Algorithms 1: Depth First Search | Lec | |
1 May (X) | Graph Algorithms 1.5: Depth First Search (some proofs) | ||
2 May (Thu) | Graph Algorithms 2: Applications of Depth First Search | Lec | |
7 May (Tue) | Graph Algorithms 3: BFS, Shortest Paths | Lec | |
9 May (Thu) | Graph Algorithms 4: Dealing with Negative Costs | Lec | |
10th May (Fri) | In-class Midterm 2, [3:30p to 6:00p, LSC100] | ||
14 May (Tue) | Graph Algorithms 5: Flows and Cuts | Lec | |
16 May (Thu) | Graph Algorithms 6: The Ford-Fulkerson Algorithm | Lec | |
21 May (Tue) | Graph Algorithms 7: Applications of Flows | Lec | |
23 May (Thu) | Graph Algorithms 8: Faster Flows | Lec | |
28 May (Tue) | P, NP, and all that Jazz | Lec | |
28 May (Tue) | Review | Lec | |
June 1 (Sat) | In Class Finals : 3pm - 6pm |
Evaluation Policies : Details
Regrading Policy
If there is a totalling error, please see any of the TAs and they will fix it rightaway.
On the other hand, if you feel that the grader has not graded accurately then you should clearly write down which problem and your reason why you think the grading is
incorrect, staple it with your answer-sheet and hand it to the Head TA during his or her office hour
If even after this you feel unsatisfied, then you can email the instructor for a full regrade .
I will look at the entire problem set and re-grade it completely.
Late Exercises and Problem Sets
Problem Sets are submitted via Canvas. Each student has a total of two late days available.
Note that even a minute late in canvas is a day late.
I will be extremely strict on this: any late submissions after the two late days will be straight given a zero.
No excuses shall be entertained. Drill Problem Sets have no late days available. However, Drills will have slack, that is, even if you miss one,
you will have an opportunity to make up.
Laptops and Phone Policy
We encourage students not to use devices in class. If they have to, then they need to seat themselves on the fringes of the classroom
so as to not distract other students.
Office Hours Policy
There is no laptop/cell phone allowed in office hours (Instructor or TA). So if you have a specific question on a problem set, please make sure to get a print-out of that problem set.
You are also not allowed to sit in office hours and write your assignment solutions. Remember: if you don't understand the concepts, you may suffer in the
in-class tests.
Academic Integrity / Honor Code
All work submitted for credit must be your own.
This means what you put down on paper for submission must be your own words and
cannot be in any way copied from a black/white board, a computer screen, or even your notes from class.
Please be extremely sure of this. Also, many of the problems have their solutions on the web.
You are not allowed to search or obtain and consult these solutions.
You cannot discuss the drill problem sets with anyone. Clarification questions can be asked on Piazza, or face-to-face.
Piazza is preferred as the doubt may be common and the answer reaches everyone.
You may discuss the problem sets and ideas to attack them with (a) your classmates (taking the course with you), (b) the TAs, and (c) the instructor.
No one else. Not even your individual Tutor, if you have one.
You are also not allowed to give away solutions to your classmates.
Clarification questions about problems should be asked on Piazza.
This is important: Please carefully read what is written below.
When you submit your weekly problem set, at the beginning of each problem you must write who all helped you and who all you helped with this problem.
If you did not talk with anyone, mention this as well. This information forms a part of your submission.
This can't be written as a comment on your Canvas submission.
If you do not follow the above, you may be awarded zero points. Seriously.
I know many solutions are written at the last minute; spend the first 10 seconds of that minute to
cite people who help you.
Dartmouth's Academic Honor Principle applies to this course. Please be sure to read the principle, which you can
find here .
Please ask me if you have any questions about the honor code as it applies to CS 31. Please, please don't be in a situation where you and I need to go through unpleasantries.