Introduction to Computer Program Design - Course Information

COMP 102-112: 2023 Trimester 1

Please note that this is the web site for both COMP102 and COMP112. The only differences between the two courses are the lectures.

This document gives additional information about the course that is not included in the Course Outline.

Course Organisation details


COMP 102 lectures:
  • Tue, Wed, Fri, 1:10-2pm, KKLT303
COMP 112 lectures:
  • Tue, Wed, 1:10-2pm, MCLT102: faster programming
  • Fri, 1:10-2pm, KKLT301: Computer Science topics

Lectures are recorded (available through Nuku) so that you can catch up on a lecture that you missed or if you have a timetable clash. The recordings aren't great, so it is very unwise to plan on using them in place of attending lectures unless you really have to.


Each student should sign up for and attend one weekly 1 hour lab session, Choose one of the nine lab sessions:
  • Monday 10-11, 11-12, 12-1, 1-2, 2-3, 3-4
  • Tuesday 10-11, 11-12, 12-1

Note there are nine times to choose from for each of the two lab sessions. See the online timetable for the times you can choose from. You must sign up for a lab session on the web: (at (also linked from the course home page).

Where are the labs:
  • Note that our labs are In-person Labs. They mostly are in Cotton 219 (main room) and Cotton 238 (overflow).
The labs start on the second week of the trimester.

To work on your assignments beyond the scheduled lab times, you may use any of the ECS computing labs on the second floor of Cotton at any time, unless they are booked for another class. You may also use your own computer.

The school also runs optional workshop sessions for 1st year students.

The details for all of these are available on the weekly timetable page.

Assignments and Practical Work.

There is an introductory lab in the second week that is mainly an introduction to using the computers in our lab facilities and the software that you will be using throughout the course. The other weekly assignments consist primarily of programming tasks.

There will be 6 pass/fail (P/F) assignments and 1 graded assignment. The course web site has a page listing the assignments, due dates, and resources. You can find specific information about the assignments on that page.

The P/F assignments are a critical learning component of the course. They address most of the concepts and techniques that are introduced in the lectures, and they are the most important way of coming to grips with the material in the course before you are tested in tests and the assignment. Due dates and how to submit your answers to the assignments is addressed below.

In the lab sessions, you will be able to get help with the assignments and help solve issues that you are stuck on. If you have started on the assignment before you arrive at your lab session, you will get more targeted help. You will need to spend more time outside the scheduled sessions. The assignments are intended to take about 6 hours per week, but the actual time required will vary considerably from student to student. There will be scheduled help-desk times when a tutor is available to answer individual questions about the assignments, and we will also provide on-line helpdesk assistance.

Assignment Submission

P/F Assignments are due at 10am on the Thursday of the week after the assignment was handed out. The graded assignment will be due at 10am on the Monday of Week 11.

When you have completed them, the assignments should be submitted via the online submission system. This means that you can submit assignments from the ECS labs or from a computer at home (or anywhere on the internet). You may resubmit as many times as you wish, but the most recent submission of a file will be marked . (You'll learn about how to submit assignments using a web browser in the introductory lab).

Assignment Marking

We will mark all assignments. You can find information about marks in the assignment page.

We will mark the assignments as quickly as possible. Your result on your submission will be accessible via the web: see the links on the Assignments page.

Note: If you pass less than 5 P/F assignments your overall grade will be capped at a maximum grade. You can also find the exact rules on the assignment page.

Group Work

In COMP 102/112 you are permitted and encouraged to work on the P/F assignments in pairs. (Note: this is special to COMP102/112 and is not generally true for Engineering and Computer Science courses!) As long as you both include the name of the person you worked with on your assignment, you and your partner may each submit the same answer. You must do the Challenge level of the assignment yourself, and you may not work on shared code in groups of more than two. Make sure you read the section on plagiarism below.

You may choose a partner yourself, and you do not have to have the same partner (or any partner) for all the assignments. When choosing a partner, find someone with a similar level of confidence as yourself - working with a partner who is much more confident about programming than you will probably not help you to learn the material.

You have to do the graded assignment on your own. You are not allowed to do that in pairs.

Getting Help: help desk and online help.

To help you when you are having difficulties with the assignments, we have tutors able to respond to queries via an on-line helpdesk. The online tutor will be responding to queries throughout the week, but we cannot guarantee an immediate reply. We also intend to have a tutor in one of the labs at certain times. When they have been determined, the times will be announced and posted on the course web site.

We strongly advise you NOT to leave the assignments to the last minute, since there may not be any help available near the submission deadline. In particular, you should not have an expectation that online help will be available in the evening, and especially not the night before the deadline. Your inability to plan is not a reason for us to work outside normal office hours.

Course Specific Information about Plagiarism.

Please read the School policy on Plagiarism. We will penalise anyone we find plagiarising, whether from students currently doing the course, or from other sources. Students who knowingly allow other students to copy their work may also be penalised. If you have had help from someone else (other than a tutor), it is always safe to state the help that you got. For example, if you had help from someone else in writing a component of your code, it is not plagiarism as long as you state (eg, as a comment in the code) who helped you in writing the method.

In COMP102/112 you are not allowed to use AI tools (such as COPILOT, ChatGBT or similar) to produce code. The course teaches you fundamental concepts that are important to understand more advanced concepts. If you use AI tools, you will likely not understand the fundamental concepts. To avoid use of AI in key assessments, the tests will be on-site and paper-based.

In COMP102/112, we may use an automated system to check all submitted code in order to identify students submitting the same code who have not stated that they were working with a partner. The system does not make any code available to people other than the organiser of the course and the managers of the system.

Copyright: Although students own the copyright of any code that they write for an assignment, the COMP102/112 assignments all build on some code that we have provided. This code is copyright by the university. We give you permission to use this code for your assignments, but you are not permitted to post your answers to the web, or distribute in any other way, if they include any of our code. Also, you may not distribute model solutions to anyone other than a student currently in the course. Breaking this rule is a violation of the university's statute on student conduct. If we find that you have distributed our code on the web or by other means, we will seek disciplinary penalties. Don't ruin the course for future students by giving them answers!