ICT582 Python Revision
πŸ“‹ Final Examination Details
DateMonday, 10 November 2025
Time13:30 (1:30 PM)
Duration1.5 hours + 10 minutes reading time
TypeFace-to-face, invigilated, closed book
VenueBuilding 415 (Gym)
AllowedNothing β€” no notes, no calculator, no phone
BringA couple of good black or blue pens

ItemDetail
Questions4 questions (25 + 25 + 25 + 25 = 100 marks)
CoverageAll 11 topics (Topics 1–11)
Question typesTheory/conceptual AND code-writing (most questions)
Weight50% of unit assessment
πŸ’° Assessment Components
ComponentWeightNotes
Weekly Labs25%Assessed during tutorial after lab submission deadline
Assignment25%Due Week 14
Final Exam50%Examination period
Total100%

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.

πŸŽ“ Grading Criteria
Aggregate MarkGradeOutcome
β‰₯ 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.

πŸ“š How to Prepare (From the Slides)

Recommended Study Steps

  1. Read the lecture notes, topic by topic.
  2. Try the code examples from the slides β€” type them yourself, don't copy-paste. Better: read until you understand, then write from memory.
  3. Review all lab exercises. Complete any you didn't finish. Exam questions often resemble lab exercises.
  4. Review your assignment.
  5. Try the sample exam paper (available on LMS) β€” it's similar in style, scope, and difficulty.
  6. 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.

πŸ“– All Topics Summary

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.

⚠️ Top Exam Tips
  1. All 11 topics are examined β€” don't skip any. Allocate 8–9 minutes per question section.
  2. Code questions dominate β€” practise writing Python by hand (no IDE). Focus on correct logic and syntax.
  3. Indentation matters β€” Python uses indentation as syntax. Wrong indent = wrong logic in the exam.
  4. Read errors carefully β€” theory questions ask you to explain concepts. Cover the key points: definition, how it works, an example.
  5. Sample exam paper is similar in style, scope, and difficulty β€” try it under timed conditions.
  6. Forget a function name? Write your own notation and explain what it does β€” examiners award marks for understanding.
  7. Check your output β€” trace through your code to verify what it prints before handing in.
⚑ Final Quick Recap
← Topic 11: Matplotlib 🏠 All Topics