COMPSCI130 Introduction to Software Fundamentals
COMPSCI130 Overview
- 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.
How COMPSCI130 is assessed
| Component | Weight | Format |
|---|---|---|
| Labs and Assignments | 30% | Individual practical coursework; current count and dates remain in Canvas |
| Test | 20% | Individual CodeRunner programming test |
| Examination | 50% | 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.
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.
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 equalityDefine 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
Maintenance, Modularity, Testing and Exceptions
module · test case · exception · refactor a fragile function into testable components and design normal, boundary and failure-path checksDefine 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
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 scaleDefine 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
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 guaranteeDefine 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
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 operationDefine 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
Stacks and Queues
stack · queue · operation discipline · trace push, pop, enqueue and dequeue operations and select the discipline that matches the problemDefine 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
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 inputDefine 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
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 listDefine 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
Trees and Recursive Traversal
tree · tree traversal · subtree · choose a traversal order from the required output and trace recursive calls across subtreesDefine 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
Binary Search Trees
binary search tree · search path · tree height · trace search, insertion and deletion while preserving the ordering invariant under every structural caseDefine 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
Hashing and Collision Resolution
hash table · hash function · collision · compute candidate positions, trace collisions and relate load factor to expected operation performanceDefine 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
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 changeDefine 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
- 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.
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.
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.
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
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.
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.