CS 231: Algorithmic Problem Solving


Assignments consist of written and programming components, which are handled differently. Please read the information below carefully to ensure that your assignments are handed in properly.

Submit both types of components electronically using MarkUs. If MarkUs is new to you, help is available from the CS 116 website.

Written components

Please ensure that each written component contains your name, student ID, and assignment number.

Programming components

You must use Python 3.2.3 or higher for all programming questions. Your code will be assessed based on how it runs on linux.student.cs.uwaterloo.ca -- it is not sufficient for it to run without any errors on your home machine, so please test it accordingly.

The Python page contains a style guide that outlines guidelines for all assignments. Your code must be formatted according to these guidelines.

Assignment policies

All assignments must be completed individually in this course. The solutions you submit must be entirely your own work. Do not look up full or partial solutions on the Internet or in printed sources. Please consult the Policy page for information on plagiarism and various course policies.

In order for your assignment to be marked, you must submit the associated academic integrity declaration (available on LEARN) to MarkUs as a text file before you start work on the assignment.

No late assignments will be accepted.

We do not accept assignments that are emailed to course personnel. If there are problems with MarkUs, continue to submit your work until you succeed. We will handle special cases as warranted, based on what has been submitted. We recommend that you submit drafts of your work early and often before the deadline. Should problems occur, your early drafts serve as backups in case of computer problems, and provide evidence of your having attempted to submit work before the deadline.

When assignments are marked and available on MarkUs, an announcement will be made.

If you believe your assignment was not marked correctly, please see the section on grade appeals on the grading page.

Assignment schedule

Assignments will be available at least two weeks before due dates, on LEARN.

Assignment  Deadline  Solutions  PostMortem 
Assignment 1 Tuesday June 2 at 4 PM
Assignment 2 Tuesday June 23 at 4 PM
Assignment 3 Tuesday July 14 at 4 PM
Assignment 4 Tuesday August 4 at 4 PM