Unit Review & Final Exam Guide
Exam structure, assessment breakdown, marking criteria, and how to prepare.
| Date | Monday, 10 November 2025 |
| Time | 13:30 (1:30 PM) |
| Duration | 1.5 hours + 10 minutes reading time |
| Type | Face-to-face, invigilated, closed book |
| Venue | Building 415 (Gym) |
| Allowed | Nothing β no notes, no calculator, no phone |
| Bring | A couple of good black or blue pens |
| Item | Detail |
|---|---|
| Questions | 4 questions (25 + 25 + 25 + 25 = 100 marks) |
| Coverage | All 11 topics (Topics 1β11) |
| Question types | Theory/conceptual AND code-writing (most questions) |
| Weight | 50% of unit assessment |
| Component | Weight | Notes |
|---|---|---|
| Weekly Labs | 25% | Assessed during tutorial after lab submission deadline |
| Assignment | 25% | Due Week 14 |
| Final Exam | 50% | Examination period |
| Total | 100% |
Aggregate Mark Formula
aggregate_mark =
moderated_weekly_labs(%) * 0.25
+ moderated_assignment(%) * 0.25
+ moderated_final_exam(%) * 0.50
All marks are moderated first (to iron out marker differences) before computing the aggregate.
| Aggregate Mark | Grade | Outcome |
|---|---|---|
| β₯ 80% | HD (High Distinction) | Pass |
| 70β79% | D (Distinction) | Pass |
| 60β69% | C (Credit) | Pass |
| 50β59% | P (Pass) | Pass |
| 45β49% | SA / SX (Supplementary) | Given supplementary assessment |
| < 45% | N (Fail) | Fail |
Supplementary Assessment
If you score 45β49%, you get a second chance (supplementary exam or assignment). The style, scope, and difficulty is the same as the final exam. If you pass the supplementary, you pass the unit. If you fail, you fail the unit.
Recommended Study Steps
- Read the lecture notes, topic by topic.
- Try the code examples from the slides β type them yourself, don't copy-paste. Better: read until you understand, then write from memory.
- Review all lab exercises. Complete any you didn't finish. Exam questions often resemble lab exercises.
- Review your assignment.
- Try the sample exam paper (available on LMS) β it's similar in style, scope, and difficulty.
- Increase understanding by proposing a hypothesis and testing it by modifying a program.
If You Forget a Function's Exact Syntax
Don't panic! If you can't remember the exact syntax of a function or method, you may write your own notation and explain what it does and what each parameter means. Then use that notation in your answer.
Examiners award marks for demonstrating understanding of what you're doing, not just the exact spelling of a function name.
For Theory Questions β Length of Answer
Look at the marks allocated and the space provided β then decide how much to write. Examiners look for how many critical points you cover and the quality of your answer, not the length.
Topic 1 β Introduction to Python
Algorithms vs programs, Python basics, variables, data types (int, float, str, bool, None), print(), input(), type().
Topic 2 β Expressions, Variables & Types
Arithmetic operators (+, -, *, /, //, %, **), operator precedence, type conversion, string concatenation and repetition.
Topic 3 β Control Flow: Conditions
if, elif, else; comparison operators (==, !=, <, >, <=, >=); logical operators (and, or, not); nested if statements.
Topic 4 β Control Flow: Loops
while and for loops, range(stop/start,stop/start,stop,step), break, continue, nested loops, accumulator pattern.
Topic 5 β Data Structures
Lists (ordered, mutable), tuples (ordered, immutable), sets (unique elements), dictionaries (key-value). Methods, slicing, iteration.
Topic 6 β Functions & Modules
def, parameters, return, default args, scope (local/global), lambda, import, math and random modules, creating modules.
Topic 7 β Files & String Processing
open() with modes r/w/a, with statement, read/readline/readlines, write. String methods, f-strings, string indexing/slicing.
Topic 8 β Testing, Debugging & Exceptions
3 error types (syntax, runtime, logic), try-except-else-finally, common exceptions, raise, assert, defensive programming, debugging tips.
Topic 9 β Object-Oriented Programming
OOP vs procedural, encapsulation/inheritance/polymorphism, class definition, __init__, self, class vs instance variables, @classmethod.
Topic 10 β NumPy & Ndarrays
NumPy install/import, ndarray vs list (50Γ speed), array(), zeros(), ones(), arange(), linspace(), ndim/shape/size/dtype, indexing, slicing, copy vs view, element-wise ops, ufuncs, matrix mult (@).
Topic 11 β Data Visualisation with Matplotlib
pyplot import, figure vs axes, subplot(), plot() with format strings, title/xlabel/ylabel/xlim/ylim/legend/show, scatter, histogram, bar chart, pie chart.
- All 11 topics are examined β don't skip any. Allocate 8β9 minutes per question section.
- Code questions dominate β practise writing Python by hand (no IDE). Focus on correct logic and syntax.
- Indentation matters β Python uses indentation as syntax. Wrong indent = wrong logic in the exam.
- Read errors carefully β theory questions ask you to explain concepts. Cover the key points: definition, how it works, an example.
- Sample exam paper is similar in style, scope, and difficulty β try it under timed conditions.
- Forget a function name? Write your own notation and explain what it does β examiners award marks for understanding.
- Check your output β trace through your code to verify what it prints before handing in.
- Exam: 4 questions Γ 25 marks = 100. 1.5 hours + 10 min reading. Closed book.
- Worth 50% of unit. All 11 topics covered.
- Pass: β₯50%. Supplementary: 45β49%. Fail: <45%.
- Prepare: study notes β type examples β do lab exercises β sample exam.
- Python is OOP: every value is an object. Think about types, scope, and indentation.
- This unit teaches logical thinking, abstraction, and divide-and-conquer β skills beyond just Python.