COMP102 (2023) - 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

This course is designed for in-person study, and students are strongly recommended to attend lectures and labs on campus.
Technical and theoretical content will be provided as online videos. The practical application of this is taught in lectures and labs. Lectures will be recorded and made available online. Labs are available in-person for those students in the Wellington region. There will be an online option for those studying outside of the Wellington region.
Tests are designed to be taken in-person, and a remote option for the tests will only be available to students studying abroad, although exception can be made under certain circumstances. The remote option for tests will use a Zoom-based system or similar for online supervision of the tests.
Students planning to take 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 be enough.

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 Ghassem Narimani

Dr Marcus Frean

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, with good justifications, 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 and labs in-person; students must have a good justification and obtain permission from the course coordinator to take the tests or attend labs by distance.
During the trimester there will be two lectures and onelab session per week.

Student feedback

The formal student feedback is generally good. 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 number of improvements learned during the pandemic. 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: 27 February 2023 - 02 June 2023
  • Break: 10 April 2023 - 23 April 2023
  • Study period: 05 June 2023 - 08 June 2023
  • Exam period: 09 June 2023 - 24 June 2023

Class Times and Room Numbers

27 February 2023 - 02 April 2023

  • Friday 13:10 - 14:00 – LT303, New Kirk, Kelburn
27 February 2023 - 09 April 2023

  • Tuesday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Wednesday 13:10 - 14:00 – LT303, New Kirk, Kelburn
24 April 2023 - 04 June 2023

  • Tuesday 13:10 - 14:00 – LT303, New Kirk, Kelburn
  • Wednesday 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 ONE weekly 1 hour lab session. 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

There are no mandatory course requirements for this 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 six pass/failassignments, one regularly graded assignment, and two tests. The first test will be in week 7. It will be a 1-hour test. The 2nd test will be 2 hours long in the assessment period of the trimester.
Pass/fail (p/f) assignemts:
To get the full grade on the course (i.e. the other assignments) at least 5 of the 6 p/f assignments must be passed.
If the student passes fewer of the pass/fail assignments, their overall grade will be capped at a grade maximum.
Below is a list of the maximums for the different number of passed assignments

  • Passed 5 or 6: A+
  • Passed 4: B+
  • Passed 2 or 3: C+
  • Passed 0 or 1: C-
These assignments are formative. A substantial attempt on a p/f assignment which receive a fail grade can be redone once and regraded in a lab.
For a p/f assignment to be regraded, the attempt must be substantial.If there is no submission or a submission is very limited, the assignment will receive a final fail grade.
Assignment and tests:
The other regularly graded assessments are summative, i.e. they are graded once and cannot be redone based on the receive grade or feedback.

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


Trimester 1, 2023: 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 3 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 requested if the extension is long.

Submission & Return

Students are not allowed to use AI tools (ChatGPT, Bing Chat, Github Copilot, Google Bard, Moonbeam, etc... ) to generate submitted material, or complete coursework in this course.
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 pass/fail assignments, as long as they declare who they worked with on the assignment. The graded assignment 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: 1 hours
  • Further work on the assignment outside the lab session: 5 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
You should make a bookmark to the course home page because you will need to access it frequently.
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, and the assignment submission system. You should make a bookmark to the course home page because you will need to access it frequently.
Announcements will be made via the COMP 102 course on Nuku. Recordings of lectures will also be available via Nuku.

Offering CRN: 943

Points: 15
Restrictions: COMP 112
Duration: 27 February 2023 - 25 June 2023
Starts: Trimester 1
Campus: Kelburn