Assignment Policies

This page is about assignment policies. There’s another whole section devoted to the actual assignments and the logistics of submitting them and getting feedback.

Unfortunately, there is a lot to know about assignments!


Assignments are where the rubber hits the road. They provide opportunities to deepen your learning by applying the concepts discussed in lecture. The point is not to earn marks by any means possible; marks are a consequence of the understanding gained through practice.


In CS 135 there are (approximately) weekly assignments. See the Assessment page to see how much they are worth.

Assignments are created by the instructors and are marked by the graduate teaching assistants based on specifications drawn up by the instructors. The midterms and final are created by the instructors and marked by instructors, ISAs, IAs, and TAs.

Assignment submission, evaluation, and return is a paperless process. Students will submit their assignments using MarkUs. Graders will mark the assignments online. When all assignments have been marked they will be available for viewing within MarkUs.

Style Guide

Organizations with multiple programmers usually have a style guide. CS135 is no different. To make code easily readable and understandable, it helps to have a consistent style.
You will be expected to adhere to CS135's Style guide. It would be wise to bookmark that page!

Due Dates and Late Policy

Assignments are due at 9:00pm Eastern time on the date specified. Assuming your computer’s date/time is set correctly for your locale, Waterloo’s date and time are displayed in the upper left corner of the course website.

  • Do your absolute best to get your assignment in before the assignment deadline. We do not accept late submissions (if ill, with acceptable proof, a component can be excused). Start assignments when they are first posted – you will save yourself time and frustration because the material is fresh in your minds and, if it has not been covered yet, you can watch for it in the next lecture or two and the immediate deployment in the assignment will also speed your learning. Starting early also gives more time for consulting with course personnel, if necessary, instead of committing a last-minute panic academic violation with worse consequences than just the mark on the assignment.
  • To account for some potential incidents such as connection problems, we offer you a maximum of two hours as grace period after the deadline. You do not need to contact us about submitting your work during the grace period.
  • Please note that it is solely your responsibility to make sure you have your work submitted before the 9:00 PM deadline. If you use the grace period, it is at your own risk. If, for any reason, for example, the website goes down or submission system is not working during the grace period, there will not be any further adjustments – we will only mark what is in MarkUs at the end of the original grace period. So please submit early, submit often and don’t wait until you have finished everything before submitting.
  • If you want us to mark an earlier submission, email the course account ASAP with a request to roll back to a version from before the deadline (no penalty). Look in MarkUs for the exact time and filenames of the file(s) you want. The subject of your email should be AXX Rollback Request, where XX is the assignment number.
  • Requests that we receive before 10:00AM Wednesday will be treated more favourably than requests received after that (because marking has not yet started and it’s less work for us).
  • Your grade for the question/file will be based on:
    • Hand-marking of the files we’ve been told about before 10:00AM Wednesday
    • Automatic marking/testing (correctness) of the files you’ve requested
      • If the request comes after 10AM Wednesday, an additional deduction of one rubric level on the correctness marks

Submitting Assignments

You will submit files electronically; these files will be run through automated marking, with the results uploaded to MarkUs for further assessment and comments (annotations) by the markers.

You may submit your solutions as often as you wish; submitting a partially completed solution is a good idea, just in case you don’t get back to it in time.

We do not accept emailed assignments. Do not email your assignment to us. Do not send it via Microsoft Teams (or everybody in the class might get a copy!). Submit solutions via the MarkUs web interface only. For more information, see the instructions for your assignment.

After an assignment due date has passed, you may submit your work for feedback only (no marks). If you want feedback on a late submission, submit your work as normal, then email the ISAs to let them know.

Assignment 0 is Mandatory

If you do not get perfect on Assignment 0, then you will get zero on every assignment and fail the course. You need to get a perfect mark on Assignment 0. Furthermore:

  • Completing Assignment 0 after the Assignment 1 deadline will result in a mark of zero on Assignment 1; same for Assignments 2 and onward.
  • If you get perfect on Assignment 0 after Assignment 0’s deadline, but before Assignment 1’s deadline, you can still earn marks for Assignment 1; same for Assignments 2 and onward.

Returning Assignments and Feedback

Your assignment will be marked by a computer and by a human (usually a graduate student or an ISA). It takes about one week to mark your assignment.

When your assignment has been marked, you can check your grade on MarkUs. Make sure you look at any annotations that the grader has left for you to read. See MarkUs Help for more information on viewing assignment feedback.

After each assignment has been marked, we will create a Post-Mortems page which shows common errors that students made on the assignment. You should read it, even if you got perfect on the assignment.

Assignment solutions are posted on the Solutions page.

Remark Requests

It is our goal to assess your work fairly, but sometimes we mess up and mark your work incorrectly. If this happens you may submit a re-mark request .