COMP102/112 2023 Tri 1: Assignments

Assignments are made available at midday on Thursdays.
Assignments are due at 10am on Thursdays.

See the weekly timetable with lecture, and lab times.

Labs are In-person: Go first to CO 219, and use CO 238 as an overflow lab.

See more information about

Assig Out Due Submit
Marks and
Introductory Lab (instructions + zip) 6 Mar 7 Mar Submit  
Assig 1 (instructions + zip) 9 Mar 16 Mar Submit Marks
Assig 2 (instructions + zip) 16 Mar 23 Mar Submit Marks
Assig 3 (instructions + zip) 23 Mar 30 Mar Submit Marks
Assig 4 (instructions + zip) 30 Mar 6 Apr Submit Marks
Assig 5 (instructions + zip) 27 Apr 4 May Submit Marks
Assig 6 (instructions + zip) 4 May 11 May Submit Marks
Assig 7 (instructions + zip) 11 May 22 May Submit Marks
Note that the demos will only run on the school workstations. They cannot be copied or downloaded to run at home.

Types of Assignments

Pass/Fail (P/F) Assignments

The first 6 assignments are P/F assignments. These are formative (i.e. designed for you to learn from them) and you have several attempts to pass them, following the rules below. Each of the P/F Assignments has two parts.
  1. Online part: This is a number of small problems based closely on the content taught in the videos and class. When you attempt an assignment, you get immediate result/feedback. You can attempt them multiple times (unlimited), but you must successfully solve each problem before the assignment deadline.
  2. Programming part: This is a bigger assigment, where you implement the solution in BlueJ and submit the code for evaluation. We provide a template, where you implement your own code. Each problem will have two levels
    1. Pass level: To pass you must successfully implement a solution to all parts of this level. All students must pass these.
    2. Challenge level: This will be additional challenging work that students can do as extra work. These will not be marked, but is available to provide challenges for COMP112 (and top-level COMP102) students. After the assignment, there will be a part of the COMP112 lectures where students can show and discuss their challenge-level work.

If you because of extenuating circumstances (e.g. illness) cannot meet the deadline, it is important to apply for an extension in the extension system as soon as possible. It is harder to get an extension after the deadline than before.


Your work will receive one of four grades in the assessment system:
  • 3 : Pass (recognition of challenge level)
  • 2 : Pass
  • 1 : Fail
  • 0 : No attempt, late attempt, or an attempt that was not substantial (i.e. too little work)
If you receive 2 or 3, you have passed (you will not receive specific feedback.)

If you receive a 1, you will be allowed to redo the assignment once (with potential support from tutors in the lab) and get it regraded in the following lab. If successful, this will change the grade to a 2 grade.

If you receive a 0, the assignment is a fail, and cannot be reattempted.

Impact of failing P/F Assignments

To get the full grade on the course (i.e. the overall result of the other assignment and tests) at least 5 of the 6 p/f assignments must be passed. Below is a list of the maximum grade you can achieve overall for different numbers of successfully passed p/f assignments:
  • A+: Passed 5 or 6
  • B+: Passed 4
  • C+: Passed 2 or 3
  • C-: Passed 0 or 1

Graded Assignment

The assignment has "Core", "Completion", and "Challenge" parts.

  1. Core part: the part that everyone should aim to do to pass. They cover the basic principles that the assignment is intended to help you learn. You should complete all the core parts before going on the other parts; if you are having difficulty with the assignments, it is important that you try to finish the core parts.
  2. Completion parts: should be attempted only when you have finished all the core parts of the assignment. They cover additional programming features that are useful but not absolutely central to the course (or not central yet) and give you more practice in programming. If you use up all your time for the course on the core parts, you should not spend more time on the completion parts. You are allowed to work on the Core and Completion parts with a partner and submit a joint solution (as long as you record in the code and indicate in the submission system who you worked with).
  3. Challenge parts: will allow you to demonstrate mastery of the material. Attempting the Challenge parts is required to get some kind of "A" on the program; completing them is intended to be a challenge!


Assignment programs will be marked out of 100. The marks will be allocated according to the following criteria:
  • 0: did nothing or submitted too late (after the answers were posted),
  • 1-49: attempted, but many errors, or incomplete (Grade: D or E)
  • 50-64: got most of the Core working correctly, but little or none of Completion (Grade: C- to C+)
  • 65-79: got most of the Core and Completion working (Grade: B- to B+)
  • 80-100: got the Core and Completion working, and attempted some of the Challenge (Grade: A- to A+)

This grade will be worth 20% of the final grade.