COMPSCI130 Introduction to Software Fundamentals
COMPSCI130 Overview
- 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.
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 |
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.
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.
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 equality02Maintenance, Modularity, Testing and Exceptions
module · test case · exception · refactor a fragile function into testable components and design normal, boundary and failure-path checks03Complexity 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 scale04Sorting and Searching Trade-offs
sorting algorithm · search algorithm · precondition · select a search or sort by connecting data order, update frequency, operation cost and required guarantee05Classes, 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 operation06Stacks and Queues
stack · queue · operation discipline · trace push, pop, enqueue and dequeue operations and select the discipline that matches the problem07Recursion and Call Structure
recursion · base case · recursive case · prove termination with a decreasing measure, then trace return values and stack frames on a small input08Linked 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 list09Trees and Recursive Traversal
tree · tree traversal · subtree · choose a traversal order from the required output and trace recursive calls across subtrees10Binary Search Trees
binary search tree · search path · tree height · trace search, insertion and deletion while preserving the ordering invariant under every structural case11Hashing and Collision Resolution
hash table · hash function · collision · compute candidate positions, trace collisions and relate load factor to expected operation performance12Priority Queues and Binary Heaps
priority queue · heap · heap-order invariant · implement insert and remove-priority by restoring heap shape and order after each local changeIt 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.
Select a data structure from required operations
- 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.
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.
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.