COMPSCI101 Principles of Programming
COMPSCI101 Overview
- School of Computer Science, University of Auckland
- Semester Two, 2026
- Stage 1 undergraduate course
- 15 points
COMPSCI 101 Principles of Programming teaches Python expressions, selection, iteration, sequences, functions, files, dictionaries, testing and debugging. It is taught within School of Computer Science, University of Auckland. It is Stage 1 undergraduate course. It carries 15 points.
- Two-lane pass rule Students need 50 overall and 50 in the 95% tests-and-exam lane; practical marks cannot compensate for a failed Lane 1.
- Progressive tests The three CodeRunner tests grow from 5% to 15% to 25%, so early tracing defects become increasingly expensive if left unresolved.
- Plussage is conditional Lane 1 uses the better of the normal tests-plus-exam calculation and the published exam-based alternative; Lane 2 remains separate.
What you get in the full COMPSCI101 Exam Bible
- 9 chapters, 25 pages — every examinable topic
- 12 original practice questions, each with a model answer in the Final Examination format
- 9 worked examples, solved the way COMPSCI101 marks
- 17 computed figures, redrawn from the course’s own numbers
- Exam-morning plan for the Final Examination (50%) — what to revise last, where marks are lost
Free on this page: assessment table, chapter map, one worked example, key terms, FAQ. The rest is in the full exam bible.
How COMPSCI101 is assessed
| Component | Weight | Format |
|---|---|---|
| Laboratory Attendance | 2% | Practical attendance component; current class and recording conditions are controlled by the Semester Two site |
| Assignment | 3% | Programming assignment; current brief and deadline must be checked live |
| Test 1 | 5% | Invigilated CodeRunner assessment |
| Test 2 | 15% | Invigilated CodeRunner assessment |
| Test 3 | 25% | Invigilated CodeRunner assessment |
| Final Examination | 50% | Invigilated CodeRunner assessment; contributes with the tests to the Lane 1 pass rule |
The current public page publishes 2% laboratory attendance, 3% assignment, tests worth 5%, 15% and 25%, and a 50% final exam. Students need 50% overall and 50% in Lane 1; plussage selects the higher of the published Lane 1 calculations.
What other students are asking about COMPSCI101
- Where can I find lecture notes or study guides for COMPSCI101 at Auckland?
- The COMPSCI101 study guide in AskSia Library covers Principles of Programming in 9 chapters, with the assessment table, a chapter-by-chapter topic map, key terms and a worked example, free to read on this page.
- Is there a final exam in COMPSCI101, and how much is it worth?
- Yes. In the offering this AskSia Library guide is built from, Final Examination carries 50% of the COMPSCI101 mark; the full split is Laboratory Attendance 2%, Assignment 3%, Test 1 5%, Test 2 15%, Test 3 25%, Final Examination 50%.
- What does COMPSCI101 cover on conditionals and boolean logic?
- In AskSia Library's COMPSCI101 guide, the Conditionals and Boolean Logic chapter explains boolean expression · conditional statement · branch coverage · trace an if-elif-else chain and design inputs that expose overlap, order and missing branches.
- What does COMPSCI101 cover on while loops and program state?
- In AskSia Library's COMPSCI101 guide, the While Loops and Program State chapter explains loop condition · state update · termination · build a trace table showing how a while loop progresses to termination.
- What does COMPSCI101 cover on strings, lists and sequence operations?
- In AskSia Library's COMPSCI101 guide, the Strings, Lists and Sequence Operations chapter explains sequence · index · slice · predict indexing, slicing and method effects without confusing mutation with creation of a new value.
What COMPSCI101 covers
Read Values, Input and Expressions as the foundation, For Loops, Range and Traversal as the main change in method, and Nested Structures, Testing and Debugging as the final application of the course.
Values, Input and Expressions
value and type · expression · user input · predict the type and value of an input-driven expression before running the Python codeDefine value and type
The course material gives this chapter a concrete anchor: The opening labs introduce execution, values, input conversion and expressions as a traceable sequence rather than isolated syntax.
- value and type
- expression
- user input
- Applying value and type
- Limits of expression and user input
Conditionals and Boolean Logic
Boolean expression · conditional statement · branch coverage · trace an if-elif-else chain and design inputs that expose overlap, order and missing branchesDefine Boolean expression
The course material gives this chapter a concrete anchor: Two consecutive labs develop relational tests into compound and nested selection, making branch order and coverage explicit.
- Boolean expression
- conditional statement
- branch coverage
- Applying Boolean expression
- Limits of conditional statement and branch coverage
While Loops and Program State
loop condition · state update · termination · build a trace table showing how a while loop progresses to terminationDefine loop condition
The course material gives this chapter a concrete anchor: The while-loop lab grounds repetition in condition checks and state change, and the first test page establishes its early assessed context without transferring dates.
- loop condition
- state update
- termination
- Applying loop condition
- Limits of state update and termination
Strings, Lists and Sequence Operations
sequence · index · slice · predict indexing, slicing and method effects without confusing mutation with creation of a new valueDefine sequence
The course material gives this chapter a concrete anchor: The paired labs distinguish shared sequence operations from the different mutation behaviour of strings and lists.
- sequence
- index
- slice
- Applying sequence
- Limits of index and slice
For Loops, Range and Traversal
iterable · range · accumulator · trace a for loop over range or a sequence and verify its iteration count and accumulated resultDefine iterable
The course material gives this chapter a concrete anchor: The landed progression moves from direct iterable traversal to range-controlled iteration, exposing endpoint and accumulator errors.
- iterable
- range
- accumulator
- Applying iterable
- Limits of range and accumulator
Functions, Parameters and Return Values
parameter · local scope · return value · trace a function call from arguments through local state to its returned value and side effectsDefine parameter
The course material gives this chapter a concrete anchor: The function labs develop definition, parameters and return behaviour across two stages so print, mutation and return can be separated.
- parameter
- local scope
- return value
- Applying parameter
- Limits of local scope and return value
Files and Persistent Data
file handle · record parsing · resource control · read a small text file, validate its records and produce a bounded result while guaranteeing closureDefine file handle
The course material gives this chapter a concrete anchor: The file labs pair reading and writing, making persistent representation and resource handling part of program correctness.
- file handle
- record parsing
- resource control
- Applying file handle
- Limits of record parsing and resource control
Dictionaries and Keyed Data
dictionary · key lookup · frequency table · construct and update a frequency dictionary while handling a previously unseen keyDefine dictionary
The course material gives this chapter a concrete anchor: The dictionary labs move from mapping creation and lookup to updates and applied keyed processing.
- dictionary
- key lookup
- frequency table
- Applying dictionary
- Limits of key lookup and frequency table
Nested Structures, Testing and Debugging
nested iteration · test case · debugging · localise a defect in nested data processing using trace evidence and a minimal failing testDefine nested iteration
The course material gives this chapter a concrete anchor: The final landed lab combines nested loops and nested lists, while the syllabus and third-test page place that integration in the later assessment arc without importing S1 dates.
- nested iteration
- test case
- debugging
- Applying nested iteration
- Limits of test case and debugging
It is positioned as A foundational programming course used across computing study paths.
The course combines small practical marks with three progressively weighted CodeRunner tests and a 50% final exam; plussage changes the Lane 1 calculation while leaving the practical lane separate.
Assessment in COMPSCI101 is distributed as follows: Laboratory attendance is worth 2%, an assignment 3%, Test 1 5%, Test 2 15%, Test 3 25%, and the final examination 50%.
Lane 1 is the 95% tests-and-exam portion; Lane 2 is the 5% assignment-and-attendance portion.
The operational assessment conditions matter here. The current public page describes the tests and final examination as invigilated CodeRunner assessments.
Check the Semester Two course site and official timetable for dates, venue and permitted materials.
What makes COMPSCI101 demanding is concrete: The main challenge is tracing program state across nested control flow and data structures, then explaining why a function or loop works on ordinary, boundary and invalid inputs rather than only reproducing syntax.
Passing requires at least 50% overall and at least 50% in Lane 1. Plussage calculates Lane 1 as the higher of the published tests-plus-exam combination and a 95%-scaled examination result.
Read Values, Input and Expressions as the foundation, For Loops, Range and Traversal as the main change in method, and Nested Structures, Testing and Debugging as the final application of the course.
Worked example · free
Trace a loop that filters and totals values
- 1Initialise the accumulator at zero and state the positive-even condition.
- 1Reject 3 and -1 because each fails at least one part of the condition.
- 1Add 4, leaving the accumulator at four.
- 1Reject 0 under the strictly positive condition and reject 5 because it is odd.
- 1Return 4 and propose the empty list as a boundary test with expected result zero.
Key terms
- Expression
- A combination of literals, variables, operators and function calls that Python evaluates to produce a value.
- Dictionary
- A mutable mapping that associates unique hashable keys with values and retrieves entries by key rather than position.
- Conditional statement
- A control structure that selects which block executes according to the truth value of one or more conditions.
- Boolean logic
- Reasoning with true and false values through comparison, conjunction, disjunction and negation to form program conditions.
- While loop
- An iteration structure that repeatedly executes a block while its condition remains true and must make progress toward termination.
- Sequence
- An ordered collection whose elements can be accessed or traversed by position, including strings, lists and tuples.
- For loop
- An iteration structure that binds a loop variable to each value produced by an iterable in a defined order.
- Function
- A named reusable unit of program behaviour with parameters, a local execution context and an optional returned value.
- File I/O
- Program operations that open, read, write and close persistent files while controlling representation and error conditions.
COMPSCI101 FAQ
Does COMPSCI101 have a hurdle or component-level pass rule?
Passing requires at least 50% overall and at least 50% in Lane 1. Plussage calculates Lane 1 as the higher of the published tests-plus-exam combination and a 95%-scaled examination result.
How is COMPSCI101 assessed?
Laboratory attendance is worth 2%, an assignment 3%, Test 1 5%, Test 2 15%, Test 3 25%, and the final examination 50%. Lane 1 is the 95% tests-and-exam portion; Lane 2 is the 5% assignment-and-attendance portion.
Where do students usually lose marks in COMPSCI101?
The main challenge is tracing program state across nested control flow and data structures, then explaining why a function or loop works on ordinary, boundary and invalid inputs rather than only reproducing syntax.
What is the COMPSCI101 exam or final-task format?
The current public page describes the tests and final examination as invigilated CodeRunner assessments. Check the Semester Two course site and official timetable for dates, venue and permitted materials.
Which offering does this COMPSCI101 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 COMPSCI101?
Check the current official handbook before enrolling in COMPSCI101; prerequisites are not inferred from its course number.
Is this COMPSCI101 resource an official university guide?
No. It is an independent COMPSCI101 study resource; current institutional instructions remain authoritative for assessment operation.
Questions students ask in each COMPSCI101 chapter
- What is the main task in Values, Input and Expressions?
- Predict the type and value of an input-driven expression before running the python code. Chapter 01 · Values, Input and Expressions
- What is the main task in Conditionals and Boolean Logic?
- Trace an if-elif-else chain and design inputs that expose overlap, order and missing branches. Chapter 02 · Conditionals and Boolean Logic
- What is the main task in While Loops and Program State?
- Build a trace table showing how a while loop progresses to termination. Chapter 03 · While Loops and Program State
- What is the main task in Strings, Lists and Sequence Operations?
- Predict indexing, slicing and method effects without confusing mutation with creation of a new value. Chapter 04 · Strings, Lists and Sequence Operations
- What is the main task in For Loops, Range and Traversal?
- Trace a for loop over range or a sequence and verify its iteration count and accumulated result. Chapter 05 · For Loops, Range and Traversal
- What is the main task in Functions, Parameters and Return Values?
- Trace a function call from arguments through local state to its returned value and side effects. Chapter 06 · Functions, Parameters and Return Values
- What is the main task in Files and Persistent Data?
- Read a small text file, validate its records and produce a bounded result while guaranteeing closure. Chapter 07 · Files and Persistent Data
- What is the main task in Dictionaries and Keyed Data?
- Construct and update a frequency dictionary while handling a previously unseen key. Chapter 08 · Dictionaries and Keyed Data
- What is the main task in Nested Structures, Testing and Debugging?
- Localise a defect in nested data processing using trace evidence and a minimal failing test. Chapter 09 · Nested Structures, Testing and Debugging
How to study for the exam
Retrieve the course map, practise the recurring method—state the input and expected output, trace values and control flow by hand, implement the smallest clear Python solution and test ordinary, boundary and invalid cases before explaining the failure or result—on changed scenarios, and verify every operational assessment detail in the live institutional system.
Your AI Computer Science tutor for COMPSCI101
Stuck on a hard COMPSCI101 question? Sia is AskSia’s AI Computer Science tutor — ask any COMPSCI101 Principles of Programming 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.