Assignments
Please carefully read the Academic Integrity before you start working on the homework assignments.
In short, you can get help from the instructors, TAs, textbooks (or relevant books), the Internet, or discussions with your classmates, but you must cite them fully and completely (i.e., provide citations to the book or website link, acknowledge the other students that had discussions with you). Again, you are NOT allowed to:
- copy anything from the book or the Internet,
- read or look at anyone else’s solutions (write-up or code),
- share your solutions (write-up or code) with any other students, during or after the completion of the course.
When you write down your solution, it MUST be close-book. This is to make sure you truly understand and can recreate the solutions.
Written Assignments
You must use LaTeX to prepare your solution. Here you can find sample code for writing solutions using LaTeX.
In grading, we will reward not only correctness but also clarity and simplicity. To avoid losing points for hard-to-understand solutions, you should make sure your solutions are either self-explanatory or contains good explanations. Please understand that grading your assignments is a lot of work for your TAs and readers, especially determining the correctness and cost bounds for your algorithms. We reserve the right to manually deduct points for solutions that are conceptually correct but does not show a sincere attempt to explain the ideas clearly.
Assignment | Release Date | Deadline | Template | Solution |
---|---|---|---|---|
Written I | 09/22 | 10/06 | Template | Solution |
Written II | 10/06 | 10/20 | Template | Solution |
Written III | 10/20 | 11/03 | Template | |
Written IV | 11/03 | 11/17 | Template | |
Written V | 11/17 | 12/01 | Template |
Coding Assignments
We will use CodeForces to submit and test codes. You also need to submit a short report to describe your algorithm and specify your submission id. Here is a guideline about using CodeForces.
We run automatic code comparison programs on student solutions. These programs are very good at detecting similarity between code, even code that has been purposefully obfuscated. Such programs can compare a submitted assignment against all other submitted assignments, against all known previous solutions of a problem, etc. The signal-to-noise ratio of such comparisons is usually very distinctive, making it very clear what code is a student’s original creative work and what code is merely transcribed from some other source. Cheating is simply not worth the risk.
Assignment | Document | Release Date | Deadline | Solution |
---|---|---|---|---|
Contest | Programming I | 09/22 | 10/01 | Solution |
Contest | Programming II | 10/01 | 10/13 | Solution |
Contest | Programming III | 10/13 | 10/27 | Solution |
Contest | Programming IV | 10/27 | 11/10 | |
Contest | Programming V | 11/10 | 11/24 |