COMP112 (2021) - Introduction to Computer Science


This course introduces a range of important concepts and topics across Computer Science, Software Engineering and Network Engineering. Students will also gain a solid foundation of programming skills in object oriented programming. The course is an entry point to the BE(Hons) and BSc in Computer Science for students who already have basic programming skills.

Course learning objectives

Students who pass this course should be able to:

  1. Understand, design, and construct programs using the Java language, a variety of libraries and an object-oriented design approach.

Course content

The course is primarily offered in-person, but there will also be a remote option and there will be online alternatives for all the components of the course for students who cannot attend in-person.
Students taking this course remotely must have access to a computer with camera and microphone and a reliable high speed internet connection that will support real-time video plus audio connections and screen sharing.  Students must be able to use Zoom; other communication applications may also be used. A mobile phone connection only is not considered sufficient.   The comuputer must be adequate to support the programming required by the course: almost any modern windows, macintosh, or unix laptop or desktop computer will be sufficient, but an Android or IOS tablet will not.
If the assessment of the course includes tests, the tests will generally be run in-person on the Kelburn campus. There will be a remote option for students who cannot attend in-person and who have a strong justification (for example, being enrolled from overseas). The remote test option will use the ProctorU system for online supervision of the tests. ProctorU requires installation of monitoring software on your computer which also uses your camera and microphone, and monitors your test-taking in real-time. Students who will need to use the remote test option must contact the course coordinator in the first two weeks to get permission and make arrangements.

Withdrawal from Course

Withdrawal dates and process:


Dr Xiaoying Gao (Coordinator)

Dr Marcus Frean

Dr Peter Andreae

Teaching Format

This course will be offered in-person and online.  For students in Wellington, there will be a combination of in-person components and web/internet based resources. It will also be possible to take the course entirely online for those who cannot attend on campus, with all the components provided in-person also made available online. All students who are able to are expected to attend the tests in-person; students must have a good justification and obtain permission from the course coordinator to take the tests by distance.
During the trimester there will be three lectures and two lab sessions per week.

Student feedback

Student feedback on University courses may be found at:

Dates (trimester, teaching & break dates)

  • Teaching: 22 February 2021 - 28 May 2021
  • Break: 05 April 2021 - 18 April 2021
  • Study period: 31 May 2021 - 03 June 2021
  • Exam period: 04 June 2021 - 19 June 2021

Class Times and Room Numbers

22 February 2021 - 04 April 2021

  • Monday 14:10 - 15:00 – LT102, Maclaurin, Kelburn
  • Wednesday 14:10 - 15:00 – LT102, Maclaurin, Kelburn
  • Friday 14:10 - 15:00 – LT102, Maclaurin, Kelburn
19 April 2021 - 30 May 2021

  • Monday 14:10 - 15:00 – LT102, Maclaurin, Kelburn
  • Wednesday 14:10 - 15:00 – LT102, Maclaurin, Kelburn
  • Friday 14:10 - 15:00 – LT102, Maclaurin, Kelburn

Other Classes

Each student should sign up for and attend two weekly 1 hour lab sessions. The timetable is available through the 'Timetable' link on the course web pages:
We also have optional workshops and help desks. More details are given on our web site.


There are no required texts for this offering.

The textbook for COMP 102 is: Java Foundations: Introduction to Program Design and Data Structures, by Lewis, DePasquale, and Chase, 4th or 5th Edition, published by Pearson (2016: ISBN 10: 0134285433 ISBN 13: 978-0134285436). The 3rd edition is also suitable and is available from Vic Books.
Note that the course does not follow the textbook closely; the textbook is intended to be a resource and to provide you with explanations that will complement the lectures. The assigned textbook matches the course better than any other Java textbooks that we have seen, but other Java textbooks could also be a useful reference if you already have them. Note that the assigned textbook is also the current textbook for COMP103.

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • Attain at least a D in at least 8 of the lab assignments. Reason: the practical skills involved in being able to write and debug programs are an essential component of COMP 112.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


This course will be assessed through ten assignments and three tests. The tests will be held in an evening (after 5pm) in the 5th,9th weeks, and the assessment period of the trimester.
The assessment weights shown below are based on the assumption that we can do the tests in-person. If there is a lockdown during Test1, the weight of Test1 will be reduced from 15% to 6%, and the deducted 8% will be added to the weights of A1-A3; Similarly if there is a lockdown during Test 2, the Test2 weight will be reduced from 15% to 6%, and the deducted 8% will be added to A4-A6; For Test 3, the weight will be reduced from 50% to 20%, and the deducted 30% will be added to A1-A10.

Assessment ItemDue Date or Test DateCLO(s)Percentage
AssignmentsweeklyCLO: 120%
Test 1week 5CLO: 115%
Test 2week 9CLO: 115%
Test 3 (2 hours)Assessment periodCLO: 150%


LATE DAY POLICY (for Assignments). Each student will have ONE LATE DAY which you may choose to use for any assignment or assignments during the course. Please note that these 24 hours are for the whole course, not for each assignment. So you have on average 2.4 late hours for each assignment. There will be no penalty applied for these hours. You do not need to apply for them, instead any late hours you have left will be automatically applied to assignments that you submit late. You get zero marks for late assignments when you run out of these late hours, unless you have made arrangements on the basis of exceptional circumstances with the course coordinator.

Model solutions to the core parts of the assignments will be made available in the lab after one day of the submission time. These will allow you to 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. Note that this means that assignments submitted after the solutions are made available will generally not be marked, unless you have made arrangements on the basis of exceptional circumstances with the course coordinator.


Individual extensions will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

All work is submitted through the ECS submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages.

Group Work

Students may work in pairs on the core and completion parts of the assignments, as long as they declare who they worked with on the assignment. The challenge parts of the assignments must be worked on individually.

Required Equipment

Students completing the course remotely must have adequate computer and internet resources. For students in Wellington, the School does have lab computers, but students who need to use these computers for their assignments may have to use them during the evenings and weekends; it will be a significant advantage to have access to your own computer. The 'Resources' link on the course web pages provides resources to make it easy for students to work on the programming assignments on their own computers.


COMP 112 is a 15pt course and therefore has nominal total workload of 150 hours. In order to maintain satisfactory progress in COMP 112, you should plan on spending 10 hours per week on this course. A plausible and approximate breakdown for these hours would be:

  • Lectures: 3 hours
  • Reading and preparation: 1 hour
  • Lab Sessions: 2 hours
  • Further work on the assignment outside the lab session: 4 hours

Teaching Plan

See the 'COMP112 Schedule' link on the course web pages:

Communication of Additional Information

The main means of communication outside of lecture will be the COMP 112 web site at
Please note that we have merged COMP112 web site with COMP102 web site. There will be one web site for both courses, with the same submission systems, forum, online help etc. The only difference is that we have two lecture streams, one for 102 and one for 112.
The forum is a web-based bulletin board system. Questions, comments, and responses can be posted to the forum. Staff will read the forum posts and will frequently respond to them also. You should make a bookmark to the course home page because you will need to access it frequently.

Offering CRN: 26034

Points: 15
Prerequisites: 14 AS level 3 NCEA credits in Digital Technology including 6 credits in Computer Programming, or COMP 132, or equivalent programming experience
Restrictions: COMP 102
Duration: 22 February 2021 - 20 June 2021
Starts: Trimester 1
Campus: Kelburn