University of Auckland · S2 2026 · FACULTY OF COMPUTER SCIENCE

COMPSCI130 Introduction to Software Fundamentals

- one subject, every graph, every model, every mark
12 Chapters33-page Bible
Our own words - no uploaded lecturer files
Built to mirror S2 2026 · updated this semester
The Complete Exam Bible · S2 2026

COMPSCI130 Overview

Introduction to Software Fundamentals
— A limited COMPSCI130 scaffold: official CLOs, topic headings and assessment skeleton; detailed teaching coverage requires further course-level sources.
  • School of Computer Science
  • Semester Two, 2026
  • Stage 1 undergraduate course
  • 15 points

The official 2026 COMPSCI130 course page establishes the course identity, 15-point Stage 1 status, learning outcomes, twelve broad topic headings, assessment weights and published pass controls.

  • Three simultaneous thresholds A 50 overall mark is insufficient unless the 35/70 Test-plus-Exam control and the 15/30 practical control are both satisfied.
  • CodeRunner breadth The test checks programming, while the final adds understanding of data-structure concepts; preparation must cover code execution and explanation.
  • Twelve-topic spine The official sequence progresses from Python quality and complexity through linear structures, recursion, trees, hashing and heaps.
  • S2 detail boundary The catalogue supports topics, weights and pass rules, but current Canvas controls the number and dates of labs and assignments.
COMPSCI130 · The University of Auckland
An independent, AskSia-authored study guide. AskSia is not affiliated with, endorsed by, or sponsored by The University of Auckland; the course code and name are used for identification only.
Assessment

How COMPSCI130 is assessed

ComponentWeightFormat
Labs and Assignments30%Individual practical coursework; current count and dates remain in Canvas
Test20%Individual CodeRunner programming test
Examination50%Individual CodeRunner exam on data-structure concepts and programming

The official page publishes 30% Labs and Assignments, 20% Test and 50% Examination, plus the overall, theory and practical pass controls. It does not establish the current lab count, assignment count, dates or detailed sitting conditions; Canvas/current course communication controls those details.

Contents · every chapter, one map

What COMPSCI130 covers

Use the twelve official topic headings as a navigation skeleton only; the retrieved source does not publish the detailed teaching sequence or worked solutions.

01

Python Revision and Program State

program state · assignment · control flow · trace a short Python program line by line and predict its output without confusing assignment with mathematical equality

Define program state

The course material gives this chapter a concrete anchor: The official Topic 1 is Python revision, supporting a state-and-control foundation without inventing a new language syllabus.

  • program state
  • assignment
  • control flow
  • Applying program state
  • Limits of assignment and control flow
02

Maintenance, Modularity, Testing and Exceptions

module · test case · exception · refactor a fragile function into testable components and design normal, boundary and failure-path checks

Define module

The course material gives this chapter a concrete anchor: Official Topic 2 combines maintenance, modularity, testing and exceptions as one software-quality cluster.

  • module
  • test case
  • exception
  • Applying module
  • Limits of test case and exception
03

Complexity and Big O Reasoning

input size · time complexity · Big O notation · derive a dominant growth term from loop or recursive structure and compare alternatives at a stated input scale

Define input size

The course material gives this chapter a concrete anchor: Official Topic 3 explicitly teaches program complexity and Big O.

  • input size
  • time complexity
  • Big O notation
  • Applying input size
  • Limits of time complexity and Big O notation
04

Sorting and Searching Trade-offs

sorting algorithm · search algorithm · precondition · select a search or sort by connecting data order, update frequency, operation cost and required guarantee

Define sorting algorithm

The course material gives this chapter a concrete anchor: Official Topic 4 joins sorting and searching so the cost of obtaining order remains visible in the search decision.

  • sorting algorithm
  • search algorithm
  • precondition
  • Applying sorting algorithm
  • Limits of search algorithm and precondition
05

Classes, Abstraction and Abstract Data Types

class · abstraction · abstract data type · write an ADT contract before choosing a class representation and preserve its invariant through every public operation

Define class

The course material gives this chapter a concrete anchor: Official Topic 5 explicitly combines abstraction, classes and abstract data types.

  • class
  • abstraction
  • abstract data type
  • Applying class
  • Limits of abstraction and abstract data type
06

Stacks and Queues

stack · queue · operation discipline · trace push, pop, enqueue and dequeue operations and select the discipline that matches the problem

Define stack

The course material gives this chapter a concrete anchor: Official Topic 6 places stacks and queues together to compare their ordering guarantees and implementations.

  • stack
  • queue
  • operation discipline
  • Applying stack
  • Limits of queue and operation discipline
07

Recursion and Call Structure

recursion · base case · recursive case · prove termination with a decreasing measure, then trace return values and stack frames on a small input

Define recursion

The course material gives this chapter a concrete anchor: Recursion is official Topic 7 and follows linear data structures before linked structures and trees.

  • recursion
  • base case
  • recursive case
  • Applying recursion
  • Limits of base case and recursive case
08

Linked Lists and Pointer-safe Updates

linked list · node · link invariant · draw the links before coding insertion or deletion and update references without losing the remainder of the list

Define linked list

The course material gives this chapter a concrete anchor: Linked lists are the official Topic 8 after recursion, providing a concrete setting for reference and base-case reasoning.

  • linked list
  • node
  • link invariant
  • Applying linked list
  • Limits of node and link invariant
09

Trees and Recursive Traversal

tree · tree traversal · subtree · choose a traversal order from the required output and trace recursive calls across subtrees

Define tree

The course material gives this chapter a concrete anchor: Trees are official Topic 9 and make recursive decomposition operate on structural subproblems rather than integers alone.

  • tree
  • tree traversal
  • subtree
  • Applying tree
  • Limits of tree traversal and subtree
10

Binary Search Trees

binary search tree · search path · tree height · trace search, insertion and deletion while preserving the ordering invariant under every structural case

Define binary search tree

The course material gives this chapter a concrete anchor: Binary search trees are official Topic 10 and require students to connect ordering, traversal and structural shape.

  • binary search tree
  • search path
  • tree height
  • Applying binary search tree
  • Limits of search path and tree height
11

Hashing and Collision Resolution

hash table · hash function · collision · compute candidate positions, trace collisions and relate load factor to expected operation performance

Define hash table

The course material gives this chapter a concrete anchor: Hashing is official Topic 11 after search trees, allowing alternative mapping structures to be compared by operation assumptions.

  • hash table
  • hash function
  • collision
  • Applying hash table
  • Limits of hash function and collision
12

Priority Queues and Binary Heaps

priority queue · heap · heap-order invariant · implement insert and remove-priority by restoring heap shape and order after each local change

Define priority queue

The course material gives this chapter a concrete anchor: Priority queues and heaps form official Topic 12, completing the course with an ADT-to-implementation comparison.

  • priority queue
  • heap
  • heap-order invariant
  • Applying priority queue
  • Limits of heap and heap-order invariant

It does not supply lecture notes, a detailed teaching sequence, lab or assignment counts, current dates, or worked solutions.

This page is therefore a limited CLO/topics/assessment scaffold. The chapter explanations and practice problems are independently authored to make the named topics usable; they are not evidence that the retrieved teaching source is content-rich, complete or upload-ready.

Detailed course-level teaching material is still required for that stronger status.

The published assessment skeleton is 30% individual Labs and Assignments, 20% individual CodeRunner Test, and 50% individual CodeRunner Examination.

The page also publishes three pass controls: at least 50% overall, at least 35/70 across Test plus Examination, and at least 15/30 across Labs plus Assignments.

The Test assesses programming ability; the Examination assesses data-structure concepts and programming ability.

Exact Semester Two dates, sitting conditions and the number of labs or assignments remain live-course details controlled by Canvas/current course communication.

For study, move from program-state tracing and testable functions through complexity, searching and abstract data types, then practise recursion, linked structures, trees, hashing and heaps.

Treat that organisation as an AskSia revision arrangement built around published headings, not as a reproduced university week-by-week plan.

Source insufficiency boundary: one catalogue/course page can support the published CLOs, topics and assessment skeleton, but it cannot substantiate detailed exposition or official worked answers. No new teaching source is inferred.

Worked example · free

Choose structures for undo and scheduling

Q [7 marks]. A small editor must undo commands in reverse execution order, while a print service must always release the pending job with the smallest numeric priority. Commands arrive `type A`, `type B`, `type C`; jobs arrive `(draft,4)`, `(exam,1)`, `(notes,3)`. Choose one abstract data type for each service and give the first two removals from both. This is AskSia-authored practice, not a University question or marking scheme.
Figure.Figure. program state, assignment and control flow define the route to execution trace.program stateassignmentcontrol flowexecution trace
Figure. program state, assignment and control flow define the route to execution trace.
  • 2Match reverse-command removal to a stack and smallest-priority removal to a min-priority queue.
  • 2Push A, B and C and return C then B on two undo operations.
  • 2Insert the three jobs by priority and remove `(exam,1)` then `(notes,3)`.
  • 1Name LIFO and minimum-key invariants that justify the choices.
Undo needs a stack: after A, B and C, two pops return C then B because the most recently executed command is at the top. The print service needs a min-priority queue: its first two removals are `(exam,1)` and `(notes,3)`, leaving `(draft,4)`. LIFO order is the stack invariant relevant to undo; every priority-queue removal must return a pending item whose key is minimal.
Sia tip — Choose from the removal rule: reverse arrival order signals a stack, while smallest key signals a min-priority queue even though both services accept insertions.
Glossary

Key terms

Big O notation
An asymptotic notation describing an upper growth-rate bound for resource use as input size increases.
Abstract data type
A data model defined by its values and permitted operations independently of a particular implementation.
Hash table
A mapping structure that uses a hash function and collision strategy to locate key-value entries in an array-like store.
Heap
A complete tree-based structure maintaining a parent-child priority invariant, commonly used to implement a priority queue.
Algorithm
A finite, ordered and unambiguous procedure that transforms valid inputs into specified outputs.
Stack
A last-in, first-out abstract data type supporting insertion and removal at the same logical end.
Queue
A first-in, first-out abstract data type that inserts at the rear and removes from the front.
Recursion
A problem-solving technique in which a function invokes itself on a smaller instance until reaching a base case.
Linked list
A sequence represented by nodes whose links identify the next, and sometimes previous, node rather than contiguous positions.
Tree
A hierarchical acyclic structure of nodes connected by parent-child relationships from a designated root.
Binary search tree
A binary tree maintaining an ordering invariant that places smaller and larger keys in designated subtrees.
Priority queue
An abstract data type that removes an item according to priority rather than arrival order.
Testing
The systematic execution and inspection of software against expected behaviour, boundaries and failure cases.
Exception handling
A control mechanism for detecting, propagating and responding to exceptional runtime conditions without obscuring program state.
FAQ

COMPSCI130 FAQ

Does COMPSCI130 have a hurdle or component-level pass rule?

Three pass controls apply together: at least 50% overall, at least 35 out of 70 across Test plus Exam, and at least 15 out of 30 across the practical Labs plus Assignments component.

What is the COMPSCI130 exam or final-task format?

The mid-semester test and final examination both use CodeRunner. The test assesses programming ability; the examination assesses data-structure concepts as well as programming ability. Exact S2 dates and sitting conditions remain live-course details.

Where do students usually lose marks in COMPSCI130?

Choosing and implementing a data structure whose invariants and complexity fit the operation, then debugging recursive and pointer-based code while explaining why the algorithm is correct and efficient.

How is COMPSCI130 assessed?

30% individual Labs and Assignments, 20% individual Test, and 50% individual Examination.

Which offering does this COMPSCI130 guide cover?

It is aligned to Semester Two, 2026; confirm your enrolled class and timetable in the current institutional system.

What prerequisites or restrictions apply to COMPSCI130?

Prior programming experience is expected. The current catalogue should be checked for formal programme and enrolment rules.

Is this COMPSCI130 resource an official university guide?

No. It is an independent COMPSCI130 study resource; current institutional instructions remain authoritative for assessment operation.

Chapter questions

Questions students ask in each COMPSCI130 chapter

What is the main task in Python Revision and Program State?
Trace a short python program line by line and predict its output without confusing assignment with mathematical equality. Chapter 01 · Python Revision and Program State
What is the main task in Maintenance, Modularity, Testing and Exceptions?
Refactor a fragile function into testable components and design normal, boundary and failure-path checks. Chapter 02 · Maintenance, Modularity, Testing and Exceptions
What is the main task in Complexity and Big O Reasoning?
Derive a dominant growth term from loop or recursive structure and compare alternatives at a stated input scale. Chapter 03 · Complexity and Big O Reasoning
What is the main task in Sorting and Searching Trade-offs?
Select a search or sort by connecting data order, update frequency, operation cost and required guarantee. Chapter 04 · Sorting and Searching Trade-offs
What is the main task in Classes, Abstraction and Abstract Data Types?
Write an adt contract before choosing a class representation and preserve its invariant through every public operation. Chapter 05 · Classes, Abstraction and Abstract Data Types
What is the main task in Stacks and Queues?
Trace push, pop, enqueue and dequeue operations and select the discipline that matches the problem. Chapter 06 · Stacks and Queues
What is the main task in Recursion and Call Structure?
Prove termination with a decreasing measure, then trace return values and stack frames on a small input. Chapter 07 · Recursion and Call Structure
What is the main task in Linked Lists and Pointer-safe Updates?
Draw the links before coding insertion or deletion and update references without losing the remainder of the list. Chapter 08 · Linked Lists and Pointer-safe Updates
What is the main task in Trees and Recursive Traversal?
Choose a traversal order from the required output and trace recursive calls across subtrees. Chapter 09 · Trees and Recursive Traversal
What is the main task in Binary Search Trees?
Trace search, insertion and deletion while preserving the ordering invariant under every structural case. Chapter 10 · Binary Search Trees
What is the main task in Hashing and Collision Resolution?
Compute candidate positions, trace collisions and relate load factor to expected operation performance. Chapter 11 · Hashing and Collision Resolution
What is the main task in Priority Queues and Binary Heaps?
Implement insert and remove-priority by restoring heap shape and order after each local change. Chapter 12 · Priority Queues and Binary Heaps
Study strategy

How to study for the exam

Retrieve the course map, practise the recurring method—state the required operations and invariants, select a data structure and algorithm whose complexity fits the input, trace state changes on a small case, and test boundaries and failure paths before interpreting performance—on changed scenarios, and verify every operational assessment detail in the live institutional system.

Study COMPSCI130 with AI

Your AI Computer Science tutor for COMPSCI130

Stuck on a hard COMPSCI130 question? Sia is AskSia’s AI Computer Science tutor — ask any COMPSCI130 Introduction to Software Fundamentals question and get a clear, step-by-step explanation grounded in how the course is actually taught and assessed. Read this whole study guide free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 14 of your University of Auckland subjects - and 1,000+ Bibles across every Australian university.
Sia - your COMPSCI130 tutor, unlimited, worked the way the exam marks it
The full 33-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works