Assignments are where the rubber hits the road for CS135. Putting lecture content into practise is the best way for you to learn and one of the primary ways we assess your learning.

This section of the web site is concerned with the assignments themselves and resources for doing them. There are also a number of assignment policies .


  • Begin early.
  • Submit as soon as you have some results.
  • Submit again every time you have a substantive improvement.
  • Submit using MarkUs ; we don’t accept assignments any other way.
  • Submit on time; there are penalties for being late.
  • Submit well before the due date; the servers get busy and slow as the due date/time approaches.
  • Due date/time is the time in Waterloo; 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 every CS135 web page.
  • Make sure your submission follows the relevant sections of the Style Guide
  • Ask questions on Piazza .

ID Topics Points Due Date (Waterloo time) Support Files
A00 getting started 0 2024-01-19 9:00pm
A01 functions 3 2024-01-23 9:00pm No support files
A02 simple data; conditionals 3 2024-01-30 9:00pm No support files
A03 design recipe, stepping, fixed length lists 3 2024-02-06 9:00pm No support files
A04 simple lists, nats 3 2024-02-13 9:00pm
A05 list abbrev., dictionaries, 2D lists 3 2024-02-27 9:00pm No support files
A06 recursion on multiple parameters, patterns, structures 3 2024-03-19 9:00pm No support files
A07 trees, mutual recursion, general trees 3 2024-03-26 9:00pm
A08 local, functions as values 3 2024-04-02 9:00pm No support files
A09 higher order functions, generative recursion 3 2024-04-08 9:00pm No support files