COMP102/112 2021 Tri 1: Assignments

Note that the demos will only run on the school workstations. They cannot be copied or downloaded to run at home.

See also the weekly timetable with lecture, lab, and tutorial times. Assignments are due at 10am on Thursdays.

You can get online help from a tutor via the web interface or

See more information about

Assignments are made available at midday on Thursdays; solutions at 11am on Fridays (in the lab)

Assig Comment Out Due Submit
Marks and
Lab 0 (instructions + zip)
online lab version
    25 Feb 4 Mar Submit  
Lab 1 (instructions + zip) Assig 1 (instructions + zip) Answer Videos 4 Mar 11 Mar Submit Marks
Lab 2 (instructions + zip) Assig 2 (instructions + zip)   11 Mar 18 Mar Submit Marks
Lab 3 (instructions + zip) Assig 3 (instructions + zip)   18 Mar 25 Mar Submit Marks
Lab 4 (instructions + zip) Assig 4 (instructions + zip)   25 Mar 1 Apr Submit Marks
Lab 5 (instructions + zip) Assig 5 (instructions + zip)   1 Apr 22 Apr Submit Marks
Lab 6 (instructions + zip) Assig 6 (instructions + zip)   22 Apr 29 Apr Submit Marks
Lab 7 (instructions + zip) Assig 7 (instructions + zip)   29 Apr 6 May Submit Marks
  Assig 6+7
(instructions + zip)
You can do this in place
of Assig 6 and Assig 7
22 Apr 6 May Submit Marks
Lab 8 (instructions + zip) Assig 8 (instructions + zip)   6 May 13 May Submit Marks
Lab 9 (instructions + zip) Assig 9 (instructions + zip)   13 May 20 May Submit Marks
Lab 10 (instructions + zip) Assig 10 (instructions + zip)   20 May 27 May Submit Marks
  Assig 9+10
(instructions + zip)
You can do this in place
of Assig 9 and Assig 10
13 May 27 May Submit Marks
Make up Assignments
  MakeupAssig1 (instructions + zip)   19 Apr 3 Jun Submit  
  MakeupAssig2 (instructions + zip)   17 May 3 Jun Submit  

Structure of the Assignments

Each program in the assignments has "Core", "Completion", and "Challenge" parts.

  1. Core parts: the parts that everyone should aim to do. 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+)

You will get a mark for every assignment, and we will provide model solutions for all the programs and review videos for many of them. However, because of limited tutor resources this year, we will only mark and provide feedback on one of the programs in each assignment. We will not be telling you which program will be marked and will change from assignment to assignment. So you will have to do all the programs because all the programs are important for your learning. All the assignments will together contribute a total of 20% to your final grade.