The 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 source-grounded COMPSCI130 guide to program state, assignment, control flow and the complete published assessment structure.
  • School of Computer Science
  • Semester Two, 2026
  • Stage 1 undergraduate course
  • 15 points

COMPSCI130 Introduction to Software Fundamentals teaches robust Python program construction, testing, complexity, searching, recursion and implementation of common abstract data types. It is taught within School of Computer Science. It is Stage 1 undergraduate course. It carries 15 points.

  • 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

Labs and Assignments are 30%, the individual CodeRunner Test is 20%, and the individual CodeRunner Examination is 50%. Passing requires all three controls at once: at least 50% overall, at least 35/70 across Test plus Exam, and at least 15/30 across Labs plus Assignments. The catalogue does not establish the current S2 lab count, assignment count or dates; Canvas controls those details.

Contents · every chapter, one map

What COMPSCI130 covers

Build the course in three arcs: Python Revision and Program State establishes the frame, Recursion and Call Structure deepens it, and Priority Queues and Binary Heaps tests the complete method.

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
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
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
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
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
06

Stacks and Queues

stack · queue · operation discipline · trace push, pop, enqueue and dequeue operations and select the discipline that matches the problem
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
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
09

Trees and Recursive Traversal

tree · tree traversal · subtree · choose a traversal order from the required output and trace recursive calls across subtrees
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
11

Hashing and Collision Resolution

hash table · hash function · collision · compute candidate positions, trace collisions and relate load factor to expected operation performance
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

It is positioned as the entry course to computer science for students who already have programming experience.

Assessment uses CodeRunner for the test and examination, with separate combined theory and practical component thresholds in addition to the 50% overall pass mark.

Assessment in COMPSCI130 is distributed as follows: 30% individual Labs and Assignments, 20% individual Test, and 50% individual Examination.

The operational assessment conditions matter here.

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.

What makes COMPSCI130 demanding is concrete: 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.

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.

For enrolment planning, Prior programming experience is expected.

The current catalogue should be checked for formal programme and enrolment rules.

Build the course in three arcs: Python Revision and Program State establishes the frame, Recursion and Call Structure deepens it, and Priority Queues and Binary Heaps tests the complete method.

Coverage note: no current shared session was available; S2 dates, lab count and assignment count are therefore deliberately omitted and must be checked in Canvas.

Worked example · free

Select a data structure from required operations

Q [5 marks]. An AskSia-authored service must repeatedly add jobs, remove the smallest-priority job and update no existing job. Compare a sorted list and a binary heap for n jobs.
  • 1State the required insert and remove-min operations.
  • 1Give the relevant asymptotic cost for insertion into a sorted list.
  • 1Give the relevant heap insertion and removal costs.
  • 1Explain the heap-order and shape invariants needed for correctness.
  • 1Choose the structure and state when the alternative could still be reasonable.
A binary heap supports insertion and removal of the minimum in logarithmic time while preserving complete-tree shape and heap order. A sorted list can make remove-min cheap but pays linear movement or traversal on insertion, though it may remain reasonable for very small inputs.
Sia tip — Choose from the operations and scale, not from the data structure's familiarity.
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.

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 3 of your The 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
Unlock the full COMPSCI130 Bible + 3 The University of Auckland subjects
$0.99 Trial