COMP 103Introduction to Data Structures and Algorithms

This course focuses on the techniques for designing, building and analysing computer programs that deal with large collections of data. The course addresses techniques for programming with collections of data, and the data structures and algorithms needed to implement these collections. The course expands programming skills and provides an understanding of the principles of data abstraction, algorithm design, and the analysis of algorithms fundamental to computer science.

On this page

Choose when and where to take this course.

No information for 2023

COMP 103 is not offered in 2023. We're showing course information for 2025.

Academic year
Course options (2)
Select a course offering to view its details below
Select a course offering to view its details
Select offering Dates Location
Trimester One of three teaching periods that make up the academic year—usually March to June, July to October, and November to February.
CRN A unique number given to a single version of a course. It differentiates between courses with the same course code that are taught in different trimesters or streams, or in different modes (for example, in person or online).

Course details

Dates
7 Jul 2025 to 9 Nov 2025
Starts
Trimester 2
Fees
NZ$1,022.25 for
International fees
NZ$4,771.80
Lecture start times
  • Monday 3.10pm
  • Tuesday 3.10pm
  • Thursday 3.10pm
Campus
Kelburn
Estimated workload
Approximately 150 hours or 8.8 hours per week for 17 weeks
Points
15

Entry restrictions

Prerequisites
Corequisites
None
Restrictions
None

Taught by

School of Engineering and Computer ScienceFaculty of Science and Engineering

Key dates

Find important dates—including mid-trimester teaching breaks—on the University's key dates calendar.

You'll be told about assessment dates once the course has begun.

Key dates

About this course

We have designed this course for in-person study, and to get the most out of it we strongly recommend you attend lectures on campus. Most assessment items, as well as tutorials/seminars/labs/workshops will only be available in person. Any exceptions for in-person attendance for assessment will be looked at on a case-by-case basis in exceptional circumstances, e.g., through disability services or by approval by the course coordinator.

Course learning objectives

Students who pass this course will be able to:

  1. Read and write programs using standard collections (sets, lists, stacks, queues, priority queues, maps)

  2. Read and write programs using linked data structures, particularly tree structures

  3. Read and write programs using recursion

  4. Understand ideas of algorithm complexity, do approximate analysis of simple programs with collections, and make efficient design decisions

  5. Recognise, understand and use a selection of basic algorithms

How this course is taught

This course will be offered in person. During the trimester there will be three lectures and one laboratory per week. The lectures will introduce the core material of the course and include interactive code demos. The lectures are critical for learning the material in the course.

We will run labs to provide extra help for students who want to discuss their assignment work in some detail with experienced tutors. Students will be able to ask for help from tutors on problems with code, via an online help system.

Assessment

  • Exam Type: IndividualMark: 50%
  • Assignments Type: IndividualMark: 30%
  • Mid-Trimester Test Type: IndividualMark: 20%

Assessment dates and extensions

Once you've signed up to this course, you can use to see due dates for assessments and information about extensions.

Mandatory requirements

Find out what you must do to pass this course.

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

  1. Achieve at least 40% on at least 5 of the 6 assignments.
  2. (Required to ensure that CLO's 1, 2, and 3 are met.)

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.

Group work

Assignments and tests MUST be done individually.

Lecture times and rooms

What you’ll need to get

In 2023, the optional textbook for COMP 103 is:

  • Lewis, DePasquale and Chase, "Java Foundations: Introduction to Program Design and Data Structures", 5th or 4th edition, though earlier editions will still be helpful.

Past versions of this course

You may be able to access older versions of this course through our course archive.

View course archive

Student feedback

You can search for and read previous students’ feedback on this course.

Student feedback database

Selected offering

COMP 103

7 Jul–9 Nov 2025

Trimester 2 · CRN 945

2025 course optionsOptions (2)