Open Letter to the University of Melbourne Computer Science Department

Addressing Critical Curriculum Concerns in UniMelb CS Programs

Dear University of Melbourne CS department,

As postgraduate students and graduates of the University of Melbourne Computer Science programs, we write to express our significant concern about the declining quality and breadth of the CS curriculum. Our experiences in the job market and when comparing our education to peer institutions have revealed significant gaps that undermine the value of a UniMelb CS degree.

Critical Gap: Missing Fundamental Courses

The University of Melbourne has systematically removed core computer science courses that are considered essential at every reputable CS program worldwide. These discontinued courses 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 is stark: UniMelb now offers zero dedicated courses in compilers, operating systems design, database implementation, or advanced systems programming at the postgraduate level. The sole systems course, Computer Systems (COMP30023), is not available to Master of Information Technology or Master of Computer Science students. These are the very programs marketed to career-changers who most need this foundational knowledge.

Even more concerning is the shallow treatment of databases. While INFO20003 teaches students how to use databases, there is no course covering database implementation, storage engines, query optimization, or concurrency control. These are the fundamental concepts that distinguish a computer scientist from a database user.

This is not a minor curricular adjustment. It represents a fundamental abandonment of core computer science education. Students are graduating without understanding how programming languages work, how operating systems manage resources, how databases are implemented, or how to optimize code performance.

Undergraduate Curriculum Analysis: Breadth Over Depth

The inadequacy extends to the undergraduate program. The Computing and Software Systems major requires only 12 mandatory subjects, creating dangerous gaps in foundational knowledge:

Mandatory Undergraduate Subjects (12 total):

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

Critical Analysis: This curriculum produces web developers, not computer scientists. The capstone project (COMP30022) is merely website development, a task that can be completed by someone with a few months of coding bootcamp experience. Where are the compilers, operating systems implementation, database engines, or systems programming projects that define computer science education elsewhere?

The Postgraduate Program Crisis

The Master's programs (MIT and MCS) suffer from a fundamental design flaw: they attempt to serve both career-changers with no CS background and CS graduates seeking advanced study. This impossible compromise has resulted in severely watered-down courses that satisfy neither group:

Problem A: Unchallenged CS Graduates

Students with UniMelb CS undergraduate degrees report that Master's courses are easier than their undergraduate subjects. Weaker testing standards and simplified content make the Master's degree feel like "a cash grab from the university" rather than advanced education.

Problem B: Inadequately Prepared Career-Changers

Students without CS backgrounds receive Master's degrees despite lacking fundamental knowledge that undergraduate CS students are expected to have. With limited programming experience and no systems background, these graduates enter the job market with credentials that don't match their capabilities.

Documented Impact on Graduate Outcomes

The consequences of these systemic problems are not theoretical. Graduates consistently report being disadvantaged in technical interviews and on-the-job performance:

  • Industry feedback: Employers note UniMelb CS graduates lack fundamental systems knowledge compared to peers from other universities
  • Interview struggles: Students report failing technical interviews due to gaps in operating systems, compilers, database implementation, and low-level programming concepts
  • Self-directed learning burden: Graduates are forced to self-study core CS concepts that should be covered in their degree
  • Research limitations: PhD applicants face disadvantages when applying to top programs due to missing foundational coursework
  • Credential confusion: Master's graduates with vastly different skill levels compete for the same positions, devaluing the degree for everyone

Declining Quality of Existing Courses

Beyond the missing courses, the quality of remaining subjects has deteriorated significantly. Current offerings fail to meet industry standards and lack intellectual rigor:

Internet Technologies (COMP90007) exemplifies this decline. Despite being positioned as a comprehensive networking course, students report:

  • Zero programming tasks or workshops in a supposed computer science subject
  • Assessments limited to basic tasks like using the `ping` command
  • No coverage of modern networking protocols, network security, or distributed systems architecture
  • Content that would be considered introductory at most universities

Distributed Systems (COMP90015) suffers from similar issues:

  • Curriculum unchanged for over a decade, focusing on obsolete technologies
  • Emphasis on basic Java socket programming rather than modern distributed computing paradigms
  • No coverage of cloud computing, microservices, or distributed consensus algorithms that define the modern field
  • Students consistently report it feels like "Java Sockets 101" rather than a graduate-level distributed systems course

Stark International Comparison

The inadequacy of UniMelb's CS program becomes evident when compared to international standards. Students who participate in exchange programs consistently report a substantial difference in academic rigor and breadth:

Exchange experiences reveal the gap: At top international universities, students in single-semester courses are expected to build complete operating systems, implement production-quality compilers, and contribute bug fixes to real-world systems like GCC and Clang. Meanwhile, UniMelb students struggle to find courses that even introduce these concepts.

The exchange dependency problem: Many students now view international exchange as essential to obtaining a quality CS education. This clearly indicates fundamental problems with the local program. It creates a two-tiered system where only students with the financial means and visa eligibility to study abroad receive 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

What We Are Asking For

The University of Melbourne has a responsibility to provide a world-class computer science education that prepares students for both industry and academia. We call for immediate action to address these deficiencies:

1. Restore Core CS Curriculum

  • Reinstate Programming Language Implementation (compilers and interpreters)
  • Create dedicated Operating Systems Design course covering kernel implementation
  • Develop Database Implementation course covering storage engines, query optimization, and concurrency control
  • Offer Advanced Systems Programming focusing on performance and low-level optimization
  • Establish Computer Systems Architecture course beyond basic coverage

2. Modernize 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
  • Ensure all courses reflect current industry practices and research developments

3. Restructure Postgraduate Programs

  • Separate conversion programs (for career-changers) from advanced CS programs (for CS graduates)
  • Create prerequisite requirements ensuring Master's students have adequate foundational knowledge
  • Establish intensive capstone projects requiring system implementation (not just website development)
  • Implement rigorous assessment standards appropriate for postgraduate level

4. Transparency and Accountability

  • Public curriculum review comparing UniMelb offerings to peer institutions
  • Regular industry and academic advisory board input on curriculum design
  • Clear timeline for implementing these changes with progress updates
  • Graduate outcome tracking to measure curriculum effectiveness

The time for action is now. Every semester that passes without these changes produces another cohort of graduates ill-equipped for the competitive global job market. The reputation of the University of Melbourne's Computer Science programs and the value of our degrees hangs in the balance.

Sign This Letter

Add your voice to this open letter by signing on GitHub. Your signature helps demonstrate the widespread concern among UniMelb CS students and graduates.

📝 How to Sign (2 minutes)

2
Copy & Fill Template
{
  "name": "Your Full Name",
  "program": "e.g., MCS 2024, PhD CS",
  "status": "Current Student / Graduate",
  "comment": "Your experience (optional)",
  "date": "2024-01-15"
}
3
Submit

Scroll down and click "Propose changes" → "Create pull request"

✅ Why GitHub Signatures?

  • Transparent: All signatures publicly visible
  • Permanent: Recorded in version control history
  • Secure: No personal data collection
  • Community-driven: Open collaboration on shared concerns

Why sign?

  • Show the scale of student concern
  • Demonstrate community support for curriculum improvements
  • Help the CS department understand the impact of these issues

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

Current Signatures

Loading... people have signed this letter
Loading signatures...