Course syllabus

Welcome to COMPSCI 120 

COMPSCI 120 introduces the basic mathematical tools and methods needed for computer science. In this course, we will develop the elementary mathematical skills needed to define, analyze and reason with the sorts of abstract concepts used in programming and computer science. Topics covered in this class include integer arithmetic, sets, methods of proof (including induction), algorithmic analysis, graph theory, trees, counting, and probability.


Quick useful information:

Course book: compsci_120_coursebook.pdf

Hard-copies will be available from the Science Student Resource Centre at a cost of $10.

Study Guide: cs120_studyguide_2020.pdf

Tutorial Guide: cs120_tutorialguide.pdf


Teaching staff

Course Coordinator and Lecturer (weeks 1-6):

Tanya Gvozdeva, room 303-467

Office hours:

Thursday 12-1

Friday 12-1

Monday 11-1


Lecturer (weeks 7-12):

Kim Locke, room 303e-151,

Office hours:

MTuWThF 12-1




Class representatives:

You can share with them any suggestions/complaints/remarks about the course. Please note, that class reps are not part of the teaching team. 



Lecture/Tutorial times and locations

Please check SSO for locations, as they may change at the start of the semester!


Learning Outcomes

  1. Communicate mathematically. Students should be able to read and interpret basic mathematical symbols and notation (for example, standard terminology of numbers, functions, strings, trees and graphs), and be capable of translating and communicating their own ideas into mathematical language.
  2. Perform simple mathematical modelling. Students should be capable of translating simple real-life tasks into algorithms, and of describing the tasks in mathematical language and abstraction. In particular, students should be capable of using the language and ideas represented by functions, strings, trees and graphs when modelling and studying real-life tasks.
  3. Understand counting and probability. Students should be comfortable with basic ideas in probability and counting, and applying them in easy real-life settings (for example, counting arrangements of items).
  4. Understand formal logic and perform elementary proofs, including inductive proofs. Students should be comfortable with elementary formal mathematical proof techniques and inductive reasoning, and be capable of using these to prove theorems, such as correctness of a simple algorithm.




We have set up Piazza for this course. The main purpose of Piazza is for you to interact with other students in the course. While lecturers will monitor Piazza and help if necessary, we believe that the best way for Piazza to work in this class is if you are all collectively responding to each other's problems! 

In general: mathematics is something that is best learned by doing and then having others critique your working, so that you can get better.  As lecturers, students often ask us for extra practice problems, or for the best way to revise material: We claim that Piazza is this!  Try to ask 1-3 questions a week and try to comment on 1-3 posts a week, and see how your skills will improve.

To encourage student responses, we as lecturers will follow a "2 hour" rule: during the first two hours of any post about the material in CS120, we will not respond.  (Note: this does not mean that we will respond immediately after two hours!  Depending on when your question goes up, we may be in meetings etc.  In general, we'll get responses up as soon as we are able to do so.  If you haven't seen a response in two working days, please repost or email us.)

Note that official course announcement will be made on Canvas and not necessarily also on Piazza. You are therefore required to check Canvas and your university email account ( regularly.


Information regarding university policies and technical support:

Academic Integrity

Aegrotats and compassionate passes

Canvas help



Attempt all of the assessments, even if what you submit is incomplete!

  • 4 assignments, worth 20%  (5% each)
  • 10 tutorials, worth 9% (8 best tutorial grades are chosen, every tutorial is worth 2 marks)  
  • Mid-semester test, worth 20% 
  • Exam, worth 50%
  • Diagnostic test 1%



  • Assignment 1 is due on   15 January 2020, 4pm
  • Assignment 2 is due on  23 January 2020,  4pm
  • Assignment 3 is due on 5 February 2020,  4pm
  • Assignment 4 is due on 14 February 2020,  4pm

Assignment hand-in boxes are located in the Faculty of Science Student Resource Centre on the ground floor of Building 301 - room G402. All assignments should be handed in to the correct hand-in box before 4pm on the due date. Late assignments and those in wrong boxes will not be marked.

The most important part when submitting an assignment is the coversheet. Coversheets must be generated on Canvas. Each coversheet contains a personalised QR-Code with your information, unique to that particular assignment.

Please make sure that your QR-Code is complete, machine readable, not resized and not corrupted. The Student Resource Centre needs this QR-code to scan, track and process assignments in a timely manner. Furthermore, each coversheet has a declaration on it which you must date and sign.

Assignments without a valid coversheet cannot and will not be marked. In addition, you may be penalised for failing to sign and date the declaration.

Coversheet help video: cover-sheet-guide.mp4  



Tutorials are weekly.  There is one 90 min tutorial each week that you are responsible for attending. Tutorials start in week 1 of the semester (the second tutorial of the week). The will be only 1 tutorial (the first tutorial of the week) in weeks 3.

You must attend the tutorial that you signed up for on Student Services Online.   If you are unable to do so due to illness/family emergencies/other extenuating circumstances, email your course coordinator as soon as you can. 


Mid-Semester Test  -- Friday 24 January 2020, in class, start at 11am, room 303-G01:

The test is 60 min long plus a five minute reading period and covers all of the material from the first five weeks of class.  The test will contain 8 multi-choice questions and  1 free-response question. Check the assignment page and Canvas announcements for locations, times, and more information closer to the test date.



The exam is two hours long and covers material from the whole course. The exact date of the exam is not available until around the middle of the semester.

No calculators are permitted on the exam or test. Please note that the test and exam are designed so that a calculator is unnecessary; if you can add and multiply single-digit numbers, you will be capable of performing any of the calculations present.

Course summary:

Date Details