M01: Syllabus

Hint: If possible, make your browser wide enough to place the slides and commentary side-by-side.

The slides on this page are not accessible (for screen readers, etc). The 1up and 3up slides are better.

Module Topics

  1. Themes
  2. Course Structure
  3. Getting Help
Slide 000
Slide 001

Video: Download m01.00_welcome

video m01.00_welcome

CS135 instructors are supported by a small army of course personnel:

  • The ones you’re most likely to meet are ISAs or “Instructional Support Assistants”.
    These are undergraduate co-op students whom we hire full-time for their co-op job. They’ve all taken the course and are here to help you in office hours and help answer questions on our Q&A forums. They also set up automatic tests for your programs and do many other behind-the-scenes jobs.
  • Instructional Apprentices are graduate students with a special interest in teaching.
  • Karen Anderson is our Instructional Support Coordinator and a long-term staff member. She’s the institutional memory for CS135, hires and supervises the ISAs, IAs, TAs, etc. Karen is responsible for the detested task of handling cheating cases. She also coordinates missed grading components (e.g assignments, exams, etc.) due to medical reasons or special circumstances (e.g. AccessAbility Services accommodations, death of someone near and dear to you, etc.).
  • The TAs for CS135 are graduate students who do most of the marking.

More details at Help -> Personnel .

Slide 002
Slide 003

There are four major components to CS135. We’ll discuss each of them in turn.

About time: Waterloo time is known more formally as EDT (Eastern Daylight Time) or GMT-04:00 until Sun. Nov 5, 2023, 02:00 when clocks in Waterloo move back one hour and it is known as EST (Eastern Standard Time) or GMT-05:00.

The course website displays the current Waterloo time in the blue square in the upper left corner. The display does assume that your computer’s clock is set correctly to your local time and timezone.

Slide 004

On the web (here!) the slides are accompanied by “commentary”; much that is written, some as videos. These were the primary resources students had to learn the course content during the pandemic. Like them, you could in principle learn the course content on your own without coming to lectures. We think, however, that there are many good reasons to come to lecture. They include asking questions in real time, a richer information stream (more things said, body language, easier to stress what’s important, etc), making friends, better study habits, etc.

There’s also the participation marks…

Slide 005

Active learners are better learners. One way you can be active learners is to check your understanding and put it into practise as often as possible.
These clicker questions help you do that.

If you are having difficulty with the self-check exercises, you may want to speak with your instructor.

There is a cost associated with iClicker. Sorry. We investigated 14 different platforms looking for the best mix of functionality for our use case and low or no cost. iClicker was by far the best option. (There was a recent project to choose a campus-wide solution. It could be that the cost is now carried by the University.)

Slide 006

Tutorials are in-person only. If we’re forced on-line, we don’t intend to have anything to replace the tutorials.

Slide 007

Assignments are where you demonstrate your mastery of the course material. They are also critical in developing and deepening your mastery, which also makes future assignments, exams and even courses easier and faster to do with less stress. All assignments are important since they target different pieces of the puzzle and build on understanding from previous assignments.

The specifications for what you are to do are found in the Assignments. They are submitted electronically to a tool called “MarkUs”. More about MarkUs in assignment A00.

Start assignments early. As soon as they are released read through them to see what you already know how to do and watch for what you don’t know in upcoming modules.

Time management is key. Just because you were able to do and/or submit one assignment last minute does not mean it will go so smoothly next time – leave yourself time for things going wrong (e.g. internet down or overloaded at near the due date, mobile device runs out of power, your last minute change breaks code that used to work, etc.).

Friday mornings The process we recommend for developing functions (the “design recipe”) includes solving a number of examples by hand to use as tests and to ensure that YOU know how to do it, even if you don’t (yet) know how to do it with a computer.

We believe that doing these examples early benefit you in a number of ways:

  • Reading the assignment early gives you time to think about it in the background, before you attempt to write code.
  • Doing the examples before the tutorial will help you understand how the tutorial problems may be relevant.
  • You may find parts of the assignment that you don’t understand and would be good to ask about before the weekend.

These examples do not involve writing code to solve the problem! Just read the assignment and work through some simple examples to include in your submission.

This is not extra work! It’s simply asking for some of the normal work to be done early in the process and submitted.

Individual work

All assignments are to be done individually. Submit your own work and no one else’s.


You can (and should!) submit as soon as you have a partial result on one of the questions. Submit again when you have more. This is sometimes summarized as “Submit early; submit often1”. Submitting early and often serves as both a backup if something goes wrong with your computer as well as insurance that something will be marked, even if you get distracted (a hot date, maybe?) and forget to submit your final work.


After your assignment is marked, you should review it using MarkUs to see any mistakes you made so you can correct them for the next assignment. You should also request a copy of the sample solutions to compare to your own solution. Even if you got a perfect mark, there may be techniques that you can learn.

Each assignment also has a post-mortem2 that gives common mistakes. Read it even if you got an excellent mark to help understand what we look for more thoroughly.

If life prevents you from completing an assignment on time, you can submit it after the due date and request that it be “marked for feedback”. Email the course account to alert the ISAs to look for it.

Slide 008

We’ll post more details as the exams approach.

Slide 009

Passing CS135 requires a mark of 50% or greater. However, the natural successor course is CS136. It has a prerequisite requirement of 60% or greater for CS135. So you are probably aiming for a mark of 60% or higher in CS135.

See the Assessment page for an example.

Slide 010

Don’t abuse private Piazza posts. In general, a post should be public unless

  • it is specific to you (your marks, the death of your great aunt twice removed, etc)
  • it asks a question about your solution
    Note: If you are asking a question about your solution, be sure it has been asked as a private post.

Identifying yourself

You are linked to many systems on campus via your “userid”. This is up to 8 characters long and based on your name. The userid for student “Jiminy Cricket” will be jcricket or, if there have been seven previous J Crickets attending UWaterloo, j8cricke.

Your “student id” is an 8 digit number. We rarely care about your student id.

Please include your userid in any email correspondence with us.

Slide 011

Find the Thrival Guide under “Help -> Thrival Guide”.

Slide 012

Please read the Math Faculty page on academic integrity .

Penalties for cheating start at losing 5% from your course mark and go all the way up to suspension or expulsion from the university, depending on the severity.

We use software to compare your assignments to others in the class. It’s pretty darn good at identifying cheaters.

Your honour and integrity are incredibly important commodities. They are important in building trust with your teammates, your employers, your financial institutions, your friends. Honour and integrity is important to how you view yourself and your sense of self-worth. Once lost, honour and integrity are hard to regain.

Cheating on assignments instantly begins to chip away at your honour and integrity.

The University of Waterloo also cares about your honour and integrity. If our students become known as cheaters the value of a UWaterloo degree decreases. Employers will be less willing to hire our students, graduate school opportunities will be less available, the best potential students will look elsewhere, it will become harder to hire the best professors, etc.

Maintain your honour and your integrity.

The University of Waterloo provides lots of resources for CS135. You should be able to get all the legitimate help you need right here. There should be no need to go to outside organizations for help. There should also be no need to help those organizations by giving them our materials so they can make a buck.

Academic penalties apply to those who share these materials without authorization.

Summary: You should not put assignments, exams, solutions (either yours or ours), etc. where they can be accessed by others – even after you’ve finished the course.

Slide 014

The end of each lecture module will review its goals. They give an indication of what we expect from you based on the module’s content.

  1. “Submit early; submit often” is an allusion to “Vote early; vote often”  ↩︎

  2. A “post-mortem” is an analysis performed after something is finished or the subject has died. ↩︎