COSC2531 Programming Fundamentals
COSC2531 Overview
- RMIT University
- Semester 2, 2026
Within RMIT University, STEM College — School of Computing Technologies, COSC2531 takes someone who has never written a line of code from installing Python and VS Code through variables, data types, arithmetic and comparison operators, Boolean logic and if, while and for loops with break/continue, pseudocode and flowcharts, functions with docstrings and annotations, lists/tuples/dictionaries/sets, modules, string formatting, file and CSV I/O and try/except/else/finally — then rebuilds the same running example, expense_manager.py, as an object-oriented program with classes, methods, cohesion and coupling, constructors, inheritance and access control, finishing with two unassessed weeks of Java basics as preparation for later Java courses.
It is positioned as 'This course is an optional course for several programs and a core course in MC208 Master of Information Technology'.
A blended, pre-class-first course with no traditional exam and no marks for showing up: practicals are ungraded, so 100% of the grade sits in two Python programs and one written test.
- COSC2531 grading 20% Assignment 1 — a simple Python program, due Week 6; 40% Assignment 2 — an object-oriented Python program, split 10% Week 10 milestone check + 15% Week 12 final code + 15% Week 13/14 presentation/interview; 40% on-campus invigilated timed and timetabled assessment, Week 15
- COSC2531 task mode On-campus Invigilated Timed and Timetabled Assessment (40%) — Due in Week 15. In this assessment, students are required to complete an on-campus, invigilated timed test that consists of multiple written questions designed to assess their understanding of all the programming concepts covered throughout the semester. Python is the programming language used in this assessment., confirmed in the published course material: Assessment 3 (40%) · Time and timetabled Assessment: on-campus and invigilated test consisting of multiple written questions.
- COSC2531 mark trap Assignment 2's three-checkpoint structure, because 15 of its 40 marks are a presentation/interview in Week 13/14 on code you submitted in Week 12. That is reinforced by the hard AI ban (AI tools (e.g. ChatGPT, Copilot, …) are not allowed to be used in any assessments of this course. This course will make use of Plagiarism Detection Software in assignment work, which helps to detect the copying of other students work, or copying work found on the Internet or using any AI tools) and by the citation rule in the Week 1 deck.
- COSC2531 rule check Treat the COSC2531 hurdle status as unconfirmed. Check the current official course outline for any component-level pass rule before relying on the overall mark.
How COSC2531 is assessed
| Component | Weight | Format |
|---|---|---|
| Assignment 1 | 20% | Individual programming assignment; use the current Canvas specification |
| Assignment 2 | 40% | Milestone 10%, code 15%, presentation 15% |
| Invigilated Timed and Timetabled Assessment | 40% | On-campus secure assessment; current instructions control permitted resources |
The secure 40% component is described as an on-campus invigilated timed and timetabled assessment. This guide preserves that exact wording rather than assigning a different assessment label.
What COSC2531 covers
Build the course in three arcs: Assessment Map and Programming Workflow establishes the frame, Functions, Decomposition and Style deepens it, and Classes, Objects and Assessment Synthesis tests the complete method.
Assessment Map and Programming Workflow
20/40/40 structure · code and explanation · secure assessment control · turn each task into a build-test-explain checklist02Programming, Algorithms and Python
algorithmic sequence · Python execution · input and output · write a small program from plain-language steps and trace each state change03Values, Types, Expressions and Strings
primitive values · type-aware operators · string construction · predict expression results before checking them in Python04Boolean Logic and Selection
comparison · logical operators · if-elif-else flow · derive branch conditions from a decision table and test boundary values05Iteration and Loop Design
for iteration · while conditions · termination and invariants · select a loop form and trace the variable that proves progress06Functions, Decomposition and Style
parameters and returns · scope · function contracts · decompose a larger task into functions with one clear responsibility07Lists, Dictionaries, Sets and Tuples
collection choice · mutation and traversal · lookup and membership · choose a data structure by the operations the program must perform08Modules, Files and Formatted Output
imports · file lifecycle · format specification · read a text file, validate a record and emit a stable summary09Exceptions and Defensive Programs
try-except-else-finally · exception scope · cleanup · catch only the failure a block can responsibly handle and preserve useful diagnostics10Classes, Objects and Assessment Synthesis
state and behaviour · constructors and methods · inheritance boundary · model a small domain with classes, then explain when a function-based design would be simplerThe big one, Assignment 2 at 40%, is split into three checkpoints — a Week 10 milestone, Week 12 final code and a Week 13/14 interview — so you have to be able to explain your own code out loud, not just submit it. The 40% final is on-campus, invigilated and made of written questions about Python, meaning you answer code questions on paper with no interpreter to check against.
And the AI rule is absolute rather than conditional: 'AI tools (e.g. ChatGPT, Copilot,.) are not allowed to be used in any assessments of this course', enforced with plagiarism detection software.
Assessment in COSC2531 is distributed as follows: 20% Assignment 1 — a simple Python program, due Week 6; 40% Assignment 2 — an object-oriented Python program, split 10% Week 10 milestone check + 15% Week 12 final code + 15% Week 13/14 presentation/interview; 40% on-campus invigilated timed and timetabled assessment, Week 15
The operational assessment conditions matter here.
On-campus Invigilated Timed and Timetabled Assessment (40%) — Due in Week 15. In this assessment, students are required to complete an on-campus, invigilated timed test that consists of multiple written questions designed to assess their understanding of all the programming concepts covered throughout the semester.
Python is the programming language used in this assessment., confirmed in the published course material: Assessment 3 (40%) · Time and timetabled Assessment: on-campus and invigilated test consisting of multiple written questions.
What makes COSC2531 demanding is concrete: Assignment 2's three-checkpoint structure, because 15 of its 40 marks are a presentation/interview in Week 13/14 on code you submitted in Week 12. That is reinforced by the hard AI ban (AI tools (e.g. ChatGPT, Copilot, …) are not allowed to be used in any assessments of this course.
This course will make use of Plagiarism Detection Software in assignment work, which helps to detect the copying of other students work, or copying work found on the Internet or using any AI tools) and by the citation rule in the Week 1 deck.
Treat the COSC2531 hurdle status as unconfirmed.
Check the current official course outline for any component-level pass rule before relying on the overall mark.
Build the course in three arcs: Assessment Map and Programming Workflow establishes the frame, Functions, Decomposition and Style deepens it, and Classes, Objects and Assessment Synthesis tests the complete method.
Worked example: Programming Fundamentals integrated response
- 1Mark the starting condition or object represented by 20/40/40 structure.
- 1Write the change, rule or mechanism supplied by for iteration as a verb-led link.
- 1Show how that link reaches primitive values; do not skip an intermediate actor, quantity or stage.
- 1Answer the task with the completed chain and preserve this limit: Implicit assumptions about type cause errors that a correct-looking formula can hide.
Key terms
- Algorithm, pseudocode and flowchart
- An algorithm is a finite, ordered procedure for solving a problem; pseudocode expresses that procedure in language-like steps, while a flowchart represents its control flow with connected symbols.
- Variable, identifier and data type
- A variable is a named storage reference, its identifier is the name used in code, and its data type determines the kind of value and operations the program can use.
- Arithmetic, compound, comparison and logical operators
- Arithmetic operators calculate values, compound-assignment operators update a variable, comparison operators produce Boolean results, and logical operators combine or negate Boolean conditions.
- Boolean value and the if statement
- A Boolean value is either true or false, and an if statement selects which block executes by evaluating a Boolean condition.
- while loop, for loop, the range function, break and continue
- A while loop repeats while a condition is true; a for loop iterates over items, range generates integer sequences, break exits the loop, and continue skips to the next iteration.
- Function definition, documentation string and function annotation
- A function definition creates a reusable named block with parameters and an optional return value; a docstring explains its contract, while annotations record expected parameter and return types.
- List, tuple, dictionary and set
- A list is an ordered mutable sequence, a tuple is an ordered immutable sequence, a dictionary maps unique keys to values, and a set stores unique unordered elements.
- Exception handling
- Exception handling intercepts runtime errors so a program can recover or fail deliberately: try encloses risky code, except handles matching errors, else runs after success and finally always runs.
COSC2531 FAQ
Is COSC2531 hard?
Assignment 2's three-checkpoint structure, because 15 of its 40 marks are a presentation/interview in Week 13/14 on code you submitted in Week 12. That is reinforced by the hard AI ban (AI tools (e.g. ChatGPT, Copilot, …) are not allowed to be used in any assessments of this course.
This course will make use of Plagiarism Detection Software in assignment work, which helps to detect the copying of other students work, or copying work found on the Internet or using any AI tools) and by the citation rule in the Week 1 deck.
How is COSC2531 assessed?
20% Assignment 1 — a simple Python program, due Week 6; 40% Assignment 2 — an object-oriented Python program, split 10% Week 10 milestone check + 15% Week 12 final code + 15% Week 13/14 presentation/interview; 40% on-campus invigilated timed and timetabled assessment, Week 15
What is the COSC2531 exam or final-task format?
On-campus Invigilated Timed and Timetabled Assessment (40%) — Due in Week 15. In this assessment, students are required to complete an on-campus, invigilated timed test that consists of multiple written questions designed to assess their understanding of all the programming concepts covered throughout the semester.
Python is the programming language used in this assessment., confirmed in the published course material: Assessment 3 (40%) · Time and timetabled Assessment: on-campus and invigilated test consisting of multiple written questions.
Does COSC2531 have a hurdle or component-level pass rule?
Treat the COSC2531 hurdle status as unconfirmed. Check the current official course outline for any component-level pass rule before relying on the overall mark.
What prerequisites or restrictions apply to COSC2531?
Check the current official handbook before enrolling in COSC2531; prerequisites are not inferred from its course number.
Is COSC2531 offered in Semester 2, 2026?
This resource is aligned to Semester 2, 2026. Confirm your class and assessment timetable in the current institutional system.
Is this COSC2531 resource an official university guide?
No. It is an independent COSC2531 study resource; current institutional instructions remain authoritative for assessment operation.
How to prepare for the assessments
Retrieve the course map, practise the recurring method—translate a problem into an algorithm, implement it in small testable Python units and explain the result under assessment constraints—on changed scenarios, and verify every operational assessment detail in the live institutional system.
Your AI Computer Science tutor for COSC2531
Stuck on a hard COSC2531 question? Sia is AskSia’s AI Computer Science tutor — ask any COSC2531 Programming 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.