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 give you a chance to practise using the concepts and skills discussed in lecture. The point is not to earn marks by any means possible; marks are a consequence of the understanding gained through practice. Please read the section below on Plagiarism, including the linked UW Policies. UW Policies apply to every course you will take at UW, and you should be familiar with them.


There will be weekly assignments counting for 60% of the final grade, as shown on the Assignments page. There will likely be nine or ten assignments in total (not counting Assignment 0), so each one counts for about 6.6% or 6.0% of your final grade. Unless you have a legitimate excuse (ex. documented illness), all assignments will count for marks; no assignment will be dropped. But note that you must pass both the weighted exam average and the weighted assignment average in order to pass the course.

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.
Please adhere to CS135’s Style guide.

Due Dates and Late Policy

Unless otherwise specified, assignments are due at noon (Waterloo time) on the deadline day (usually Tuesday). You will submit files electronically as described below; these files will be run through automated marking, with the results uploaded to MarkUs for further assessment and comments (annotations) by the markers.

Late assignments will not be accepted; consequently, you should aim to finish early, to allow for unexpected delays. 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. 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 on MarkUs like 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.

The Post-Mortems page 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 Solution Request page.

Academic Integrity


All work in CS 135 is to be done individually. The penalty for plagiarism on assignments (first offense) is an assigned mark of 0 percent on the assignment and a 5 percent reduction of the final grade, consistent with School of Computer Science policy. In addition, a letter detailing the offense is sent to the Associate Dean of Undergraduate Studies, meaning that subsequent offenses will carry more severe penalties, up to suspension or expulsion.

To avoid inadvertently incurring this penalty, you should discuss assignment issues with other students only in a very broad and high-level fashion. Do not take notes during such discussions, and avoid looking at anyone else’s code, on screen or on paper. If you find yourself stuck, contact the ISA or instructor for help, instead of getting the solution from someone else. Do not consult other books, library materials, Internet sources, or solutions (yours or other people’s) from other courses or other terms.

See Math cheating and academic discipline guidelines for more cheating/excessive collaboration avoidance guidelines.

Plagiarism is also discussed in the Thrival Guide.


MOSS (Measure of Software Similarities) is used in this course as a means of comparing students’ assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.

Other Academic Integrity Issues

It is an academic integrity violation to attempt to interfere with the intended operation of automated submission and marking systems such as Marmoset or MarkUs. Examples include, but are not limited to:

  • printing or returning values in order to match expected test results rather than making an actual reasonable attempt to solve the problem as required in the assignment question specification.
  • mounting a denial of service attack on such systems.
  • attempting to run malicious code during the submission or marking process.