COMP30023 · Computer Systems
Computer Systems
COMP30023 Computer Systems is the University of Melbourne's third-year subject in the School of Computing and Information Systems, and it splits cleanly into two halves. Weeks 1-5 are the operating-systems half: what an operating system is and the kernel/user-mode boundary, the process and thread abstractions, interprocess communication and mutual exclusion, CPU scheduling, memory management and paging, then a cryptography-and-secure-communication bridge (symmetric vs asymmetric encryption, hashes, digital signatures, certificates and TLS). Weeks 6-12 are the networking half: layered protocol models and the OSI/TCP-IP stack, sockets and DNS and mail, HTTP and UDP, TCP and reliable transport, flow and congestion control and IP addressing, routing and control protocols, and middleboxes (NAT and firewalls). The whole subject is taught from the programmer's perspective — the two C socket-programming projects and the exam both reward reasoning about mechanisms rather than memorising facts. Assessment (delivered through Canvas) is two programming projects (30%), weekly tutorial-participation quizzes (10%), a mid-semester test (10%) and an end-of-semester examination (50%). The load-bearing rule is a dual hurdle: you must score at least 30/60 across the MST and final exam combined, AND at least 20/40 across the projects and tutorial quizzes combined, on top of clearing the overall pass — miss either hurdle and the result is capped. The final exam is on-campus and digital, 15 minutes reading plus 2 hours writing, closed-book except for one double-sided A4 note sheet. Your COMP30023 result feeds the Weighted Average Mark (WAM) that later computing subjects build on. Confirm the exact weights, hurdles and permitted materials on the subject's Canvas page and the current subject outline.
What COMP30023 covers
COMP30023 runs across twelve teaching weeks in two halves: an operating-systems half (Weeks 1-5 — the OS role, processes and threads, IPC, scheduling, memory management, then cryptography and TLS) and a networking half (Weeks 6-12 — the OSI model, sockets, DNS, HTTP, UDP, TCP, flow and congestion control, addressing, routing and middleboxes). It is assessed by two C programming projects (30%), weekly tutorial quizzes (10%), a mid-semester test (10%) and a final exam (50%), with a dual hurdle you must clear across the exam pair and across the coursework pair. This map walks each week's topic in teaching order toward that exam.
How COMP30023 is assessed
| Component | Weight | Format |
|---|---|---|
| Two programming projects (Project 1 + Project 2) | 30% | Programming projects across the semester (C / socket-based servers); part of the non-exam hurdle |
| Weekly tutorial participation activities (online quizzes) | 10% | Weekly online quizzes; part of the non-exam hurdle |
| Mid-semester test (MST) | 10% | On-campus, closed-book, digital (Canvas + Respondus LockDown Browser); part of the exam hurdle |
| End-of-semester examination | 50% | On-campus, digital, closed-book except one double-sided A4 note sheet; 15 min reading + 2 hours writing |
Average turnaround under FCFS vs SJF — why SJF wins
- +1Turnaround time = completion time − arrival time, and every job arrives at 0, so here turnaround = completion time. Run FCFS in arrival order P1 → P2 → P3 → P4 and accumulate completion times: P1 finishes at 8, P2 at 8+4 = 12, P3 at 12+9 = 21, P4 at 21+5 = 26.
- +1FCFS average turnaround = (8 + 12 + 21 + 26) ÷ 4 = 67 ÷ 4 = 16.75 ms.
- +1For SJF, order the ready jobs by shortest burst first: P2 (4) → P4 (5) → P1 (8) → P3 (9). Completion times: P2 at 4, P4 at 4+5 = 9, P1 at 9+8 = 17, P3 at 17+9 = 26.
- +1SJF average turnaround = (4 + 9 + 17 + 26) ÷ 4 = 56 ÷ 4 = 14 ms.
- +1SJF gives the lower average (14 < 16.75). SJF is provably optimal for average turnaround when all jobs are available together: running short jobs first means their small bursts are added into fewer of the running totals, so the long job P3 waits behind the short ones rather than the reverse. The trade-off is that a steady stream of short jobs can starve a long one.
Key terms
- Process vs program
- A program is static code sitting on disk (a recipe); a process is a dynamic, running instance of it (the act of cooking), with its own program counter, registers, stack, heap and data. Several processes can run the same program at once.
- Kernel vs user mode
- A hardware mode bit in the program status word sets the privilege level. Kernel mode can run every instruction and touch all memory; user mode is restricted (no privileged/I/O instructions, only permitted memory). A system call is the controlled gateway that switches user → kernel to request a privileged service.
- Dual hurdle
- COMP30023's pass rule beyond the weighted total: you must score at least 30/60 across the MST + final exam combined AND at least 20/40 across the projects + tutorial quizzes combined. Failing either hurdle caps your result regardless of the overall mark.
- Page table / address translation
- A per-process table mapping each virtual page number to a physical frame. A virtual address splits into a page number (top bits) and an offset (bottom bits); physical address = frame number × frame size + offset. The offset is copied through unchanged.
- Three-way handshake
- TCP's connection setup: SYN (SEQ = x) → SYN-ACK (SEQ = y, ACK = x+1) → ACK (SEQ = x+1, ACK = y+1). It guarantees exactly one connection forms and both sides agree on initial sequence numbers; SYN and FIN each consume one byte of sequence space.
- Public-key (asymmetric) encryption
- Each principal holds a key pair: encrypt with the recipient's public key, decrypt with their private key (RSA, ElGamal). It removes the secret-key-exchange problem but is slow, so real systems use hybrid encryption — asymmetric to exchange a symmetric session key, then symmetric (AES) for the bulk data.
COMP30023 FAQ
Is COMP30023 hard?
It is broad rather than deeply mathematical. The subject covers two quite different halves — operating systems in Weeks 1-5 and computer networking in Weeks 6-12 — so the real challenge is holding a lot of mechanisms (scheduling policies, paging, the TCP handshake, routing, NAT) straight rather than any single hard idea. The quantitative parts are hand-arithmetic — scheduling Gantt sums, paging address math, CIDR prefixes, sliding-window ACK numbers, a Dijkstra trace — with no calculator, so marks go to a clean method and correct units, not memorising formulas. Add the two C programming projects and the dual hurdle, and steady weekly work beats a SWOTVAC cram; consistent effort also protects your WAM. Students who redraw the recurring diagrams and rework a few exam-style questions each week tend to find it manageable.
Can AI help me with COMP30023?
Yes, as a step-by-step study aid. Sia is an AI tutor built to mirror how COMP30023 is actually taught and assessed at the University of Melbourne: it can walk you through a scheduling Gantt trace, a virtual-to-physical address translation, the TCP three-way handshake, a man-in-the-middle attack on unauthenticated key exchange, or a Dijkstra shortest-path table one line at a time, and it checks your reasoning as you go. Bring your own tutorial or past-exam question and ask Sia to explain each step. It does not do graded assessment for you — not the projects, the quizzes, the MST or the exam — and University of Melbourne academic-integrity rules still apply. Use it to understand the method, not to produce work you submit.
Where can I find past exam papers / practice for COMP30023?
Start on Canvas, where the subject posts its exam-preparation material (including any sample exam, the MST practice and the revision lecture in the final teaching week), and check the University of Melbourne Library's past-examination-paper collection for any released COMP30023 papers. Your weekly tutorial worksheets and their solutions are the closest match to the short-answer exam questions. This guide also includes a re-authored practice exam that mirrors the paper's shape — MCQ, short-answer and longer worked questions across scheduling, paging, crypto, TCP and routing — with fresh numbers, and you can ask Sia to generate extra practice in the same style and explain each step. Treat any third-party 'model answers' with caution and confirm what is officially provided on Canvas.
What are the COMP30023 hurdles and assessment rules?
The load-bearing rule is a dual hurdle. Beyond passing on the weighted total, you must score at least 30/60 across the mid-semester test and the end-of-semester exam combined, AND at least 20/40 across the two programming projects and the weekly tutorial-participation quizzes combined. Fail either hurdle and your result is capped regardless of the overall mark. The MST is strictly closed-book (no notes, no calculator, Respondus LockDown Browser); the final exam is closed-book except for a single double-sided A4 note sheet. These are the current published weights (projects 30% · quizzes 10% · MST 10% · exam 50%) — confirm the exact weights, hurdle thresholds and permitted materials on the subject's Canvas page and the current subject outline before you rely on them.
What is on the COMP30023 final exam?
A single on-campus digital paper spanning the whole subject — both the operating-systems and networking halves — worth 50%, with 15 minutes reading plus 2 hours writing, closed-book except one double-sided A4 note sheet and no calculator. It is structured as Part A multiple-choice (1 mark each), Part B short-answer (2 marks each, written in fixed-size answer boxes) and Part C longer worked/analytical questions (3-6 marks each, often multi-part). Expect the high-frequency shapes: program vs process, is a TLB necessary, a scheduling Gantt trace, a paging address calculation, a crypto man-in-the-middle, the OSI layers in order, the TCP handshake SEQ/ACK arithmetic, a sliding-window ACK read-off, a CIDR longest-prefix lookup, a Dijkstra trace and a NAT translation. The exam sits in the University of Melbourne Semester 1, 2027 examination period (around June 2027) — confirm the exact date, time and room on Canvas and the UniMelb exam timetable.
How to study for the exam
Treat COMP30023 as two linked skill sets — operating systems and networking — and rehearse both weekly rather than cramming through SWOTVAC, because the dual hurdle means you cannot afford to neglect either the exam pair or the coursework pair. For the OS half, redraw the recurring diagrams from memory (the process state machine, single- vs multi-threaded memory layout, a paged address translation with the TLB) and work one quantitative item end to end each week: a scheduling Gantt for FCFS/SJF/RR, a virtual-to-physical address calculation, an effective-access-time weighting. For the networking half, drill the hand-calculations until they are automatic: the TCP three-way-handshake SEQ/ACK arithmetic, a sliding-window cumulative-ACK read-off, CIDR membership and longest-prefix matching, and a Dijkstra shortest-path table. Because the exam is short-answer in boxes and rewards 'explain why / compare X and Y / what would go wrong', practise stating mechanisms crisply — the man-in-the-middle attack and how certificates stop it, why a TLB is not strictly necessary but speeds translation, why NAT breaks end-to-end connectivity but aids security. Keep the two C projects moving early so they never collide with exam revision, since they feed the 20/40 coursework hurdle. When a step won't click, ask Sia to explain that single step a different way and set you a fresh practice question in the same style; it teaches the method and checks your reasoning, and it never substitutes for your own graded work. Confirm the exam date, room, weighting and permitted materials on Canvas and the University of Melbourne exam timetable.
Your AI Computer Science tutor for COMP30023
Stuck on a hard COMP30023 question? Sia is AskSia’s AI Computer Science tutor — ask any COMP30023 Computer Systems 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.