Open Letter

The UniMelb CS Curriculum

An open letter to the School of Computing and Information Systems at the University of Melbourne, from current and former students of its CS programs.

Dear School of Computing and Information Systems,

We're current and former postgraduate students of the UniMelb CS programs. The curriculum is in worse shape than most students or staff seem to realise. After comparing notes with peers from other universities, and going through technical interviews ourselves, the gaps are obvious, and they hurt the value of a UniMelb CS degree.

Missing fundamental courses

UniMelb has dropped core CS courses that are still standard everywhere else. The discontinued ones include:

  • Programming Language Implementation (COMP90045) - Compilers and interpreters
  • Program Analysis and Transformation (COMP90053) - Static analysis and optimization
  • Constraint Programming (COMP90046) - Constraint satisfaction and reasoning
  • Programming the Machine (COMP20006) - Low-level systems programming

The result: UniMelb now offers zero dedicated postgraduate courses in compilers, operating systems design, database implementation, or advanced systems programming. The only systems course, Computer Systems (COMP30023), is not available to MIT or MCS students. Those are the very programs aimed at career-changers, who need this foundation most.

Databases get the same shallow treatment. INFO20003 teaches students how to use databases. Nothing covers database implementation, storage engines, query optimisation, or concurrency control. That's what separates a computer scientist from someone who just runs SQL.

This isn't a minor curriculum tweak. It's an abandonment of core CS education. Students are graduating without understanding how programming languages work, how operating systems manage resources, how databases are implemented, or how to make code run fast.

The undergraduate program: breadth over depth

The undergraduate program has the same problem. The Computing and Software Systems major only requires 12 mandatory subjects. Here's the full list:

Mandatory undergraduate subjects 12 total

Mathematics
2
  • MAST10006 Calculus 2
  • MAST10007 Linear Algebra
Programming basics
3
  • COMP10001 Foundations of Computing
  • COMP10002 Foundations of Algorithms
  • COMP20007 Design of Algorithms
Systems and databases
3
  • COMP30023 Computer Systems
  • INFO20003 Database Systems
  • SWEN20003 Object Oriented Software Development
Software engineering & theory
4
  • SWEN30006 Software Modelling and Design
  • COMP30026 Models of Computation
  • COMP30022 IT Project (Website Development)
  • SCIE10005 Science subjects

This curriculum produces web developers, not computer scientists. The capstone (COMP30022) is website development, a task most coding bootcamp grads can do after a few months. Where are the compiler, OS, database engine, or systems programming projects that anchor a real CS degree?

The MIT and MCS postgraduate programs are broken

The MIT and MCS programs try to serve two audiences in the same classrooms: career-changers with no CS background, and CS graduates looking for advanced study. The compromise satisfies neither, and the courses end up watered down for everyone.

CS graduates aren't challenged

Students who did UniMelb CS as undergrads tell us the Master's courses are easier than their undergraduate subjects. Weaker testing, simpler content. More than one person we know has called the Master's "a cash grab" rather than advanced education.

Career-changers aren't prepared

Students without a CS background graduate with a Master's despite lacking knowledge that any undergraduate is expected to have. They go into the job market with limited programming experience and no systems background, holding a credential that doesn't match what they can actually do.

What this does to graduates

These aren't hypothetical complaints. Graduates regularly hit the same problems in interviews and on the job:

  • Employers tell us UniMelb grads lack systems knowledge their peers from other universities have.
  • People are failing technical interviews on operating systems, compilers, database internals, and low-level programming questions they were never taught.
  • Graduates have to self-teach the core CS topics that should have been part of their degree.
  • PhD applicants are at a disadvantage when applying to top programs because of missing foundational coursework.
  • Master's grads with wildly different skill levels are competing for the same jobs, which devalues the degree for everyone.

The courses that remain have weakened too

It's not just what's missing. The subjects still on offer have themselves got weaker. Two examples:

Internet Technologies (COMP90007) is sold as a comprehensive networking course. The reality, according to students who've taken it:

  • No programming tasks or workshops, in a course that's nominally part of a CS degree.
  • Assessments limited to running things like the ping command.
  • No coverage of modern protocols, network security, or distributed systems architecture.
  • Content most other universities would treat as introductory.

Distributed Systems (COMP90015) has the same problem:

  • The syllabus hasn't meaningfully changed in over a decade.
  • The bulk of it is basic Java socket programming.
  • No cloud computing, no microservices, no consensus algorithms. The things that define modern distributed systems are not in this course.
  • Students who've taken it call it "Java Sockets 101", not a graduate distributed systems course.

UniMelb CS vs UNSW, ANU, and overseas peers

When you put UniMelb next to peer programs overseas, the gap shows immediately. Students who've gone on exchange come back saying the same thing: the academic rigour and breadth are on a different level.

At top international universities, a single-semester course can have you building a real operating system, implementing a production-quality compiler, or sending bug fixes to GCC and Clang. UniMelb students struggle to find a course that introduces these topics, let alone makes you build one.

A lot of students we know now treat exchange as the part of their degree where they actually learn computer science. That's a damning thing to say about the local program. It also creates a two-tier system, since only students with the money and visa eligibility to study abroad get adequate CS training.

Core CS course availability: UniMelb vs peer universities

Fundamental Course Area UniMelb UNSW ANU ETH Zurich TU Munich
Compilers & Language Implementation ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available
Operating Systems Design ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available
Computer Networks ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available
Computer Architecture ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available
Database Implementation ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available
Advanced Systems Programming ✗ Not offered ✓ Available ✓ Available ✓ Available ✓ Available

Legend: ✓ = Available | ✗ = Not offered · Course availability checked

What we're asking for

The University of Melbourne has a responsibility to teach computer science properly, in a way that prepares students for both industry and research. Concretely, we're asking for:

1. Restore the core CS curriculum

  • Reinstate Programming Language Implementation (compilers and interpreters).
  • Create a dedicated Operating Systems Design course covering kernel implementation.
  • Develop a Database Implementation course covering storage engines, query optimisation, and concurrency control.
  • Offer Advanced Systems Programming focused on performance and low-level work.
  • Run a Computer Systems Architecture course that goes beyond the basics.

2. Modernise the existing courses

  • Overhaul Internet Technologies to cover modern networking, security protocols, and distributed architectures.
  • Update Distributed Systems to include cloud computing, microservices, consensus algorithms, and fault tolerance.
  • Make sure every course reflects how the field actually works in 2026.

3. Restructure the postgraduate programs

  • Separate the conversion programs (for career-changers) from the advanced CS programs (for CS graduates).
  • Add prerequisites so Master's students arrive with the foundational knowledge the courses assume.
  • Set up capstone projects that require building real systems, not just websites.
  • Hold the assessments to a standard appropriate for postgraduate study.

4. Transparency and accountability

  • A public curriculum review comparing UniMelb's offerings to peer institutions.
  • Ongoing input from an industry and academic advisory board on curriculum design.
  • A clear timeline for implementing these changes, with progress updates students can see.
  • Graduate outcome tracking, so the curriculum can be measured against what it produces.

Every semester this stays the way it is, another cohort graduates ill-equipped for the job market they're being sold into. We don't think the school can keep ignoring this.

Sign this letter

If you've experienced any of this, sign with Google in 30 seconds, or open a pull request manually if you'd rather. Every signature helps make the scale of the problem visible.

or open a pull request yourself

How to sign (about 2 minutes)

2
Copy and fill in the template
{
  "name": "Your Full Name",
  "program": "e.g., MCS 2024, PhD CS",
  "status": "Current Student / Graduate",
  "comment": "Your experience (optional)",
  "date": "2026-04-29"
}
3
Submit

Scroll down and click "Propose changes", then "Create pull request".

Why GitHub signatures?

  • Every signature is public, sitting in a version-controlled file anyone can audit.
  • The git history is the record, so signatures can't be quietly deleted later.
  • Nothing about you is collected beyond what you put in the file yourself.
  • Anyone can propose changes; the letter isn't gatekept by one maintainer.

Why sign?

  • Make the scale of concern visible.
  • Make it harder for the school to dismiss this as a few loud voices.

Signatures are public on GitHub. Only add information you're comfortable sharing publicly.

Current signatures

25 people have signed this letter
J Lin
MCS 2026
Current Student
"There is a severe lack of low level subjects like compilers and taking programming language implementation off the curriculum is mind boggling. Many subjects feel extremely rushed (CCC, NLP), there is no time to understand a topic deeply. Time allocation across projects also feel poorly distributed and research based projects should have longer page limits."
Signed 23 May 2026
Alex Wang
BCS 2025
Graduate
Signed 21 May 2026
Timothy Wong
MIT 2026
Current Student
"I support this letter. I am from a non-STEM background and have done a few intro to programming to courses as an undergraduate. The tutorial experience is by far the worst I've ever come across. In last week's, only 3 students attended including myself. Students clearly don't see the value in showing up for this degree, which is a shame."
Signed 18 May 2026
Owen
BSc Computing and Software Systems
Current Student
Signed 6 May 2026
Dương Thiên
BSc Data Science
Graduate
"Same thing for Data Science, so I need a letter like this for Data Science course as well. Machine Learning course was so outdated even internet could teach you better. All of my friends who studied CS in unimelb has said the same"
Signed 5 May 2026
Gary Tannert
BSc/ Diploma in computing
Graduate
"Agreed with this - alot of the courses being taught in Unimelb has a severe gap with what is expected in industry and does not set-up a good foundation for future learning."
Signed 5 May 2026
HUGO
Bsc Data Science
Current Student
"As a Year 1 student, I feel disappointed with the course structure."
Signed 1 May 2026
Chuan
BSc Computing and Software System
Current Student
"The CS curriculum feels too compressed. There are too few core CS electives, so students must spend credits on less relevant math or breadth subjects. OS and networks are merged into Computer Systems, giving less depth than separate courses, despite being key topics for jobs and interviews. Breadth subjects also rarely broaden learning; many students use them to reduce workload or boost grades."
Signed 30 Apr 2026
yunze hu
BSC computer and software
Current Student
Signed 30 Apr 2026
Lily
BSc/ Diploma in computing
Current Student
"I was surprised that to complete the computer science major at unimelb, the only mathematical knowledge you need to acquire is linear algebra and calculus too. The course designer clearly does not understand the close relationship between computer science and advance mathematics. Please at least set discrete mathematics and propability as the requirements of computer science degree. "
Signed 30 Apr 2026
David Ye
MCS 2026, BSc Computing & Software System
Current Student
"Agreed, strongly support"
Signed 30 Apr 2026
peter wang
MIT 2026
Current Student
Signed 30 Apr 2026
quang trần
BSc Computer Science 2027
Current Student
"I feel that the uni focus on Operating Systems and Low Level Programming is extremely lacking, whereas these are considered fundamental knowledge for a CS major in any other university around the world. Another critique I might add is IT project is focusing too much on Web / App development, whereas the actual CS field is so much more broad and used everywhere else (like Telecommunications, Bank technologies, Cyber Security, Low Level app,...)"
Signed 30 Apr 2026
Mohannad Alotaibi
BOS
Current Student
"el psy kongroo"
Signed 29 Apr 2026
Tony Yong He
BS
Graduate
"Whoever designed the current curriculum doesn't seem to know what's going on in the outside world"
Signed 29 Apr 2026
Isitha Subasinghe
MIT
Graduate
"I found the programming language course to be quite interesting, but they cancelled it. If it wasn't for exchange, I would have had near zero CS knowledge outside of the algorithms & DS"
Signed 29 Apr 2026
Tuan Khanh Bui
Bachelor of Science - Major in Computing and Software Systems
Current Student
"I also want Declarative Programming and some Master's subjects to have their own undergraduate version, though I do understand this is not an easy problem."
Signed 29 Apr 2026
Anqi Wang
Master of Data Science
Current Student
"Please make a separate subject for discrete mathematics."
Signed 29 Apr 2026
Agastya Malik
BSc CSS 2025
Current Student
"Not enough rigour I learnt more in my A levels"
Signed 29 Apr 2026
Caitlin Webb
MIT 2026
Current Student
"Much the same issues mentioned in the letter. I found database systems and data modelling to be intro to sql with a side of here is how to model data. You have to know what ACID is but no training in actually implementing it. Internet technologies is wholly lifted from the textbook. The subject is literally read the textbook congrats how much can you remember. Algorithms and complexity and programming and software development were really good."
Signed 29 Apr 2026
Aarya Vivekanandan
Bachelor of Science (Data Science)
Current Student
"Search up pihedron."
Signed 29 Apr 2026
Ken
BSc Computing and Software Sytem
Graduate
Signed 29 Apr 2026
Austen McClernon
Master of Computer Science 2021
Graduate
"The lack of rigorous computer systems subjects is extremely unfortunate. To graduate from a computer science degree never having built an operating system, compiler or database as part of the coursework is unheard of in any half-decent computer science program, which I sincerely hope unimelb cs aspires to be."
Signed 29 Apr 2026
Ba Quyen Chu
MIT 2025
Current Student
"Quyen"
Signed 7 Aug 2025
Daksh Agrawal
BSc Data Science
Graduate
Signed 4 Aug 2025

Frequently asked questions

What courses has the University of Melbourne removed from its Computer Science program?

UniMelb has dropped Programming Language Implementation (COMP90045), Program Analysis and Transformation (COMP90053), Constraint Programming (COMP90046), and Programming the Machine (COMP20006). There's no postgraduate course on compilers, operating systems implementation, or database internals on offer right now.

Is the UniMelb Master of Computer Science (MCS) or Master of Information Technology (MIT) worth it?

The MCS and MIT put career-changers and experienced CS graduates through the same classes, and the result is content watered down for both. CS grads tell us the Master's is easier than their undergrad. Career-changers come out without the systems knowledge their credential implies.

How does UniMelb Computer Science compare to UNSW or ANU?

UniMelb has no dedicated postgraduate courses in compilers, operating systems design, computer networks, computer architecture, database implementation, or advanced systems programming. All of those are standard at UNSW, ANU, ETH Zurich, and TU Munich. See the comparison table above.

What was COMP90045 and why was it discontinued?

COMP90045 (Programming Language Implementation) was UniMelb's compilers course. It covered parsing, type checking, code generation, and runtime systems. It was discontinued without a replacement, and there is no postgraduate compilers course at UniMelb today.

Why does the UniMelb CS capstone build websites instead of systems?

The IT Project capstone (COMP30022) is web development, which is fine for a software engineering minor and ridiculous for a computer science capstone. Peer institutions require capstones involving operating system kernels, compilers, or database engines, where you have to demonstrate real CS competence to pass.

How can I support reform of the UniMelb CS curriculum?

Sign the letter via GitHub pull request using the steps above, share it with people in your cohort and alumni network, and drop into the Discord at the bottom of the page if you want to talk.