RMIT University · S2 2026 · FACULTY OF COMPUTER SCIENCE

COSC2531 Programming Fundamentals

- one subject, every graph, every model, every mark
10 Chapters28-page Bible
Our own words - no uploaded lecturer files
Built to mirror S2 2026 · updated this semester
The Complete Study & Assessment Guide · S2 2026

COSC2531 Overview

Programming Fundamentals
— A source-grounded COSC2531 guide to 20/40/40 structure, code and explanation, secure assessment control and the complete published assessment structure.
  • 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.
COSC2531 · RMIT University
An independent, AskSia-authored study guide. AskSia is not affiliated with, endorsed by, or sponsored by RMIT University; the course code and name are used for identification only.
Assessment

How COSC2531 is assessed

ComponentWeightFormat
Assignment 120%Individual programming assignment; use the current Canvas specification
Assignment 240%Milestone 10%, code 15%, presentation 15%
Invigilated Timed and Timetabled Assessment40%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.

Contents · every chapter, one map

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.

01

Assessment Map and Programming Workflow

20/40/40 structure · code and explanation · secure assessment control · turn each task into a build-test-explain checklist
02

Programming, Algorithms and Python

algorithmic sequence · Python execution · input and output · write a small program from plain-language steps and trace each state change
03

Values, Types, Expressions and Strings

primitive values · type-aware operators · string construction · predict expression results before checking them in Python
04

Boolean Logic and Selection

comparison · logical operators · if-elif-else flow · derive branch conditions from a decision table and test boundary values
05

Iteration and Loop Design

for iteration · while conditions · termination and invariants · select a loop form and trace the variable that proves progress
06

Functions, Decomposition and Style

parameters and returns · scope · function contracts · decompose a larger task into functions with one clear responsibility
07

Lists, Dictionaries, Sets and Tuples

collection choice · mutation and traversal · lookup and membership · choose a data structure by the operations the program must perform
08

Modules, Files and Formatted Output

imports · file lifecycle · format specification · read a text file, validate a record and emit a stable summary
09

Exceptions and Defensive Programs

try-except-else-finally · exception scope · cleanup · catch only the failure a block can responsibly handle and preserve useful diagnostics
10

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 simpler

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

Q [4 marks]. While trying to translate a problem into an algorithm, implement it in small testable Python units and explain the result under assessment constraints, a draft jumps from 20/40/40 structure directly to primitive values. Restore the missing for iteration link and state the limit on the conclusion. This is AskSia-authored practice, not a University question or marking scheme.
  • 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.
The completed chain begins with 20/40/40 structure, states what for iteration changes, and only then reaches primitive values. Each arrow therefore represents a checkable mechanism rather than an association. The chain supports no broader conclusion than this boundary allows: Implicit assumptions about type cause errors that a correct-looking formula can hide.
Sia tip — When tracing the integrated program, annotate each primitive value with its type before following the for loop. A formula can look algebraically correct yet concatenate text, truncate, or fail because the actual runtime types do not support the assumed operation.
Glossary

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.
FAQ

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.

Study strategy

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.

Study COSC2531 with AI

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.

A+Everything unlocked
Unlocks this Bible + all 9 of your RMIT University subjects - and 1,000+ Bibles across every Australian university.
Sia - your COSC2531 tutor, unlimited, worked the way the exam marks it
The full 28-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works
COSC2531 · Programming Fundamentals - independent study guide on the AskSia Library. More RMIT University subjects · Microeconomics across all universities