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.
What you get in the full COSC2531 Study & Assessment Guide
- 10 chapters, 28 pages — every assessed topic
- 13 original practice questions, each with a model answer
- 10 worked examples, solved the way COSC2531 marks
- 18 computed figures, redrawn from the course’s own numbers
- Before-you-submit checklist for the Assignment 2 (40%) — what markers reward, what costs marks
Free on this page: assessment table, chapter map, one worked example, key terms, FAQ. The rest is in the full study & assessment guide.
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 other students are asking about COSC2531
- Where can I find lecture notes or study guides for COSC2531 at RMIT?
- The COSC2531 study guide in AskSia Library covers Programming Fundamentals in 10 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 COSC2531?
- No final exam is listed in the offering this AskSia Library guide is built from; COSC2531 is assessed by Assignment 1 20%, Assignment 2 40%, Invigilated Timed and Timetabled Assessment 40%.
- What does COSC2531 cover on programming, algorithms and python?
- In AskSia Library's COSC2531 guide, the Programming, Algorithms and Python chapter explains algorithmic sequence · Python execution · input and output · write a small program from plain-language steps and trace each state change.
- What does COSC2531 cover on values, types, expressions and strings?
- In AskSia Library's COSC2531 guide, the Values, Types, Expressions and Strings chapter explains primitive values · type-aware operators · string construction · predict expression results before checking them in Python.
- What does COSC2531 cover on boolean logic and selection?
- In AskSia Library's COSC2531 guide, the Boolean Logic and Selection chapter explains comparison · logical operators · if-elif-else flow · derive branch conditions from a decision table and test boundary values.
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 checklistAssessment Map and Programming Workflow turns 20/40/40 structure, code and explanation and secure assessment control into executable reasoning.
- 20/40/40 structure
- code and explanation
- secure assessment control
- Applying 20/40/40 structure
- Limits of code and explanation and secure assessment control
Programming, Algorithms and Python
algorithmic sequence · Python execution · input and output · write a small program from plain-language steps and trace each state changeProgramming, Algorithms and Python turns algorithmic sequence, Python execution and input and output into executable reasoning.
- algorithmic sequence
- Python execution
- input and output
- Applying algorithmic sequence
- Limits of Python execution and input and output
Values, Types, Expressions and Strings
primitive values · type-aware operators · string construction · predict expression results before checking them in PythonValues, Types, Expressions and Strings turns primitive values, type-aware operators and string construction into executable reasoning.
- primitive values
- type-aware operators
- string construction
- Applying primitive values
- Limits of type-aware operators and string construction
Boolean Logic and Selection
comparison · logical operators · if-elif-else flow · derive branch conditions from a decision table and test boundary valuesBoolean Logic and Selection turns comparison, logical operators and if-elif-else flow into executable reasoning.
- comparison
- logical operators
- if-elif-else flow
- Applying comparison
- Limits of logical operators and if-elif-else flow
Iteration and Loop Design
for iteration · while conditions · termination and invariants · select a loop form and trace the variable that proves progressIteration and Loop Design turns for iteration, while conditions and termination and invariants into executable reasoning.
- for iteration
- while conditions
- termination and invariants
- Applying for iteration
- Limits of while conditions and termination and invariants
Functions, Decomposition and Style
parameters and returns · scope · function contracts · decompose a larger task into functions with one clear responsibilityFunctions, Decomposition and Style turns parameters and returns, scope and function contracts into executable reasoning.
- parameters and returns
- scope
- function contracts
- Applying parameters and returns
- Limits of scope and function contracts
Lists, Dictionaries, Sets and Tuples
collection choice · mutation and traversal · lookup and membership · choose a data structure by the operations the program must performLists, Dictionaries, Sets and Tuples turns collection choice, mutation and traversal and lookup and membership into executable reasoning.
- collection choice
- mutation and traversal
- lookup and membership
- Applying collection choice
- Limits of mutation and traversal and lookup and membership
Modules, Files and Formatted Output
imports · file lifecycle · format specification · read a text file, validate a record and emit a stable summaryModules, Files and Formatted Output turns imports, file lifecycle and format specification into executable reasoning.
- imports
- file lifecycle
- format specification
- Applying imports
- Limits of file lifecycle and format specification
Exceptions and Defensive Programs
try-except-else-finally · exception scope · cleanup · catch only the failure a block can responsibly handle and preserve useful diagnosticsExceptions and Defensive Programs turns try-except-else-finally, exception scope and cleanup into executable reasoning.
- try-except-else-finally
- exception scope
- cleanup
- Applying try-except-else-finally
- Limits of exception scope and cleanup
Classes, 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 simplerClasses, Objects and Assessment Synthesis turns state and behaviour, constructors and methods and inheritance boundary into executable reasoning.
- state and behaviour
- constructors and methods
- inheritance boundary
- Applying state and behaviour
- Limits of constructors and methods and inheritance boundary
The 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 · free
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.
Questions students ask in each COSC2531 chapter
- What is the main task in Assessment Map and Programming Workflow?
- Turn each task into a build-test-explain checklist. Chapter 01 · Assessment Map and Programming Workflow
- What is the main task in Programming, Algorithms and Python?
- Write a small program from plain-language steps and trace each state change. Chapter 02 · Programming, Algorithms and Python
- What is the main task in Values, Types, Expressions and Strings?
- Predict expression results before checking them in python. Chapter 03 · Values, Types, Expressions and Strings
- What is the main task in Boolean Logic and Selection?
- Derive branch conditions from a decision table and test boundary values. Chapter 04 · Boolean Logic and Selection
- What is the main task in Iteration and Loop Design?
- Select a loop form and trace the variable that proves progress. Chapter 05 · Iteration and Loop Design
- What is the main task in Functions, Decomposition and Style?
- Decompose a larger task into functions with one clear responsibility. Chapter 06 · Functions, Decomposition and Style
- What is the main task in Lists, Dictionaries, Sets and Tuples?
- Choose a data structure by the operations the program must perform. Chapter 07 · Lists, Dictionaries, Sets and Tuples
- What is the main task in Modules, Files and Formatted Output?
- Read a text file, validate a record and emit a stable summary. Chapter 08 · Modules, Files and Formatted Output
- What is the main task in Exceptions and Defensive Programs?
- Catch only the failure a block can responsibly handle and preserve useful diagnostics. Chapter 09 · Exceptions and Defensive Programs
- What is the main task in Classes, Objects and Assessment Synthesis?
- Model a small domain with classes, then explain when a function-based design would be simpler. Chapter 10 · Classes, Objects and Assessment Synthesis
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.