Introduction to Computer Science - Course Information

COMP 112: 2019 Trimester 1

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

Course Organisation details


There are three lectures each week for COMP 112: Mon, Tue, Thu 12 noon in Kirk LT301.
  • The Mon & Tue lecture will address programming in Java,
  • The Fri lecture will address topics in Computer Science
You can also choose to attend the COMP 102 lectures (instead of, or in addition to the 112 lectures), which also cover programming in Java, but go more slowly.
  • Stream B: 12 noon, Mon, Tue, Thu, SU LT228 (Memorial Theatre) : Same time as 112 lectures
  • Stream A: 10am, Mon, Tue, 2pm Fri, SU LT228 (Memorial Theatre) : Different time from 112 lectures

Note: if necessary because of timetable clashes, you could attend a mixture of Stream A and Stream B lectures.


Each student should sign up for and attend two weekly 1 hour lab sessions
  • Labs in Cotton 238.
  • Tutorial Lab: choose one of Monday 1-2, 2-3, 3-4, 4-5, Tuesday 1-2, 2-3, 3-4, 4-5
  • Assignment Lab: choose one of Thursday 11-12, 2-3, 3-4 Friday 10-11, 12-1, 1-2, 3-4

The first lab is on Thu/Fri in the first week of the trimester.

Note there are eight options 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).

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.

We will run help desks and Worshops from the third week of the course.

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 will be 10 weekly lab assignments in the course. The course web site has a page listing the assignments, due dates, and resources. The 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. The lab assignments will be available from the website. Due dates and how to submit your answers to the assignments is addressed below.

Some of the assignments (1-5 and 8) are one-week assignments; the other two (6&7, and 9&10) are two-week assignments. If you are finding the course challenging, there are alternative one-week assignments (6, 7, 9, and 10) that you may choose to do in place of the two-week assignments.

The lab exercise in the first week is an introduction to using the computers in our lab facilities and the software that you will be using throughout the course.

The assignments are intended to take about 6 hours per week, but the actual time required will vary considerably from student to student. The scheduled lab sessions will help you get started the assignments, and then help you solve issues that you are stuck on, but you will need to spend more time outside the scheduled sessions. 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.

Most of the assignments contain four parts:
  • a Core part, which you should aim to start in the first lab, and involves constructing programs using the basic concepts and constructs,
  • a Completion part, which extends the Core part and involves more difficult problem solving and may cover additional concepts and constructs,
  • a Challenge part, which usually involves substantially more difficult programming and may require you to find out new concepts and constructs by yourself.
  • a Reflection part, which involves thinking and writing about your experience of the assignment.

We also provide Lab exercises and they are not assessed. The assignment question part will be worth 90% and the Reflection part will be worth 10%. For each question, the Core part will be worth around 65%, the Completion will be worth 15% and the Challenge part is the other 20%. The programs will be marked primarily on whether they work correctly, but there will be some weighting for good design.

We expect all students to be able to complete most of the Core and Reflection parts, and most to at least attempt the Completion part. The Completion part is important for students planning to go on to COMP103. The Challenge components are for students aiming for an A. If it takes you more than about 6 hours to complete the Core part of an assignment, we suggest that you should not spend additional time on the Challenge part. It is probably better to spend the additional time on the Reflection part, reading the textbook, going over your notes from the lectures, going to the tutorial, or working on questions and problems with other students.

Assignment Submission

Assignments are due at 9am on Monday's, except Assignment 5 which is due at the end of the day on 26 Apr.

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

All the assignments are important for your learning. All the assignments will together contribute a total of 20% to your final grade.

We will mark the assignments as quickly as possible; our goal is to have the marks and comments returned within two weeks of the submission time. Your marks and comments on your submission will be accessible via the web: see the links on the Assignments page.

Note that the mandatory course requirement is that you must submit reasonable attempts for at least eight of the ten assignments (counting the two-week assignments as two assignments). A "reasonable attempt" is a D (40%) or better. If you miss more than one of the assignments, contact the lecturer or the Senior Tutor as soon as possible. Students who have not met these mandatory requirements will be required to do make-up programming assignments in order to be able to pass the course.

Model solutions to the assignments are generally made available one day after the assignment deadline (in the lecture following the deadline), so that you can review and assess your own work, and also build on the model solutions for the next assignment. Comparing your work to the provided solutions is an important part of the learning. This means that assignments submitted after the solutions are posted will generally not be marked, unless you have made arrangements on the basis of exceptional circumstances with the course organiser (course coordinator).

Group Work

We encourage you to work on the exercises in small groups in the labs.

In COMP 112 you are also permitted and encouraged to work on the core and completion parts of the assignments in pairs. (Note: this is special to COMP112 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 for the Core and Completion parts. You must do the Challenge, and Reflection parts 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.

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 always be available late in the evening, especially the night before the deadline..

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 COMP 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 COMP 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!