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
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
Taught by
School of Engineering and Computer Science—Faculty of Science and Engineering
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:
Read and write programs using standard collections (sets, lists, stacks, queues, priority queues, maps)
Read and write programs using linked data structures, particularly tree structures
Read and write programs using recursion
Understand ideas of algorithm complexity, do approximate analysis of simple programs with collections, and make efficient design decisions
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:
- Achieve at least 40% on at least 5 of the 6 assignments.
- (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.
Who to contact
Selected offering
COMP 103
7 Jul–9 Nov 2025
Trimester 2 · CRN 945