COMP102 (2022) - Introduction to Computer Program Design


This course introduces the fundamentals of programming in a high-level programming language (Java), using an object oriented approach to program design. Students develop their programming skills by constructing computer programs for a variety of applications. The course provides a foundation for all later courses in computer science, and develops programming skills useful for students in many other disciplines.

Course learning objectives

Students who pass this course should be able to:

  1. Read, comprehend, design, and construct small programs using the Java programming language and an object-oriented design approach.

Course content

2022: The course is primarily offered in-person, and there are components such as tests, labs, tutorials, and marking sessions which require in-person attendance. There will be remote alternatives for all the components of the course, but these are only available to students studying from outside the Wellington region. The remote option for tests will use a Zoom-based system or similar for online supervision of the tests. 
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 computer 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.

Required Academic Background

None. (Any background in programming is obviously helpful, but is neither expected nor required).

Withdrawal from Course

Withdrawal dates and process:


Dr Karsten Lundqvist (Coordinator)

Dr Bach Nguyen

Dr Marcus Frean

Dr Xiaoying Gao

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:
The formal student feedback in 2019 was good, and we intend to continue to run the course very similarly to 2019. In 2020, the COVID forced us to make a number of changes to the course. Unsurprisingly, many of those changes did not work out as well as the normal course offering, and therefore we will mostly follow the 2019 version, with a small number of improvements learned during 2020. As in 2019 and 2020, COMP 102 and 112 will continue to provide alternative lecture streams for students with different backgrounds and different levels of programming skills, but students from both courses may choose the lecture stream option that works best for them, and may switch between options during the course.

Dates (trimester, teaching & break dates)

  • Teaching: 28 February 2022 - 03 June 2022
  • Break: 11 April 2022 - 24 April 2022
  • Study period: 06 June 2022 - 09 June 2022
  • Exam period: 10 June 2022 - 25 June 2022

Class Times and Room Numbers

28 February 2022 - 10 April 2022

  • Monday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Thursday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Friday 13:10 - 14:00 – LT303, New Kirk, Kelburn
25 April 2022 - 05 June 2022

  • Monday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Thursday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Friday 13:10 - 14:00 – LT303, New Kirk, Kelburn

Other Classes

Each student should sign up for and attend TWO weekly 1 hour lab sessions. Our weekly timetable is on 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.

There are no recommended textbooks for the course.

Mandatory Course Requirements

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

  • submit reasonable attempts for at least eight of the ten assignments. A "reasonable attempt" is a D (40%) or better. 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.

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 two tests. The first test will be online in week 7. It will be a 1-hour test, which is available during a one day period. The 2nd test will be 2 hours long in the assessment period of the trimester.

Assessment ItemDue Date or Test DateCLO(s)Percentage
AssignmentsWeeklyCLO: 130%
Test 1Week 7CLO: 120%
Test 2 (2 hours)Assessment periodCLO: 150%


Trimester 1, 2022: LATE DAY POLICY (for Assignments). Each student will have ONE "LATE DAY" - 24 hours of automatic extension which will be applied to any assignment or assignments during the course, as needed. 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.
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 (beyond the automatic 24 hours for the "late day") will only be granted if there are special personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

Submission of assignments must be done via the ECS online submission system, accessible through the 'Assignments' link on 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 contains resources to make it easy for students to work on the programming assignments on their own computers.


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

  • Lectures : 3 hours (a third of these will be provided as video only)
  • Reading and preparation: 1 hour
  • Lab Sessions: 2 hours
  • Further work on the assignment outside the lab session: 4 hours

Teaching Plan

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

Communication of Additional Information

The primary means of communication outside of lecture will be the COMP 102 web site at There you will find, among other things, more details about course requirements, the course schedule (with links to copies of the lecture slides), details and resources for the assignments, the COMP 102 Forum, ways of getting help, and the assignment submission system. 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: 943

Points: 15
Restrictions: COMP 112
Duration: 28 February 2022 - 26 June 2022
Starts: Trimester 1
Campus: Kelburn