CSE@UNSW

General Program Structure

Postgrad Programs

CSE postgraduate coursework programs require students to undertake a number of courses (ranging from 8 to 16 courses). After all courses are successfully completed, students are eligible to graduate with the appropriate degree. Each course is typically worth 6UoC (Units of Credit); a 6UoC course generally requires on average 12 hours work per week (or roughly 180 hours over the course of the semester).

All programs draw from a common pool of courses, but differ in the emphasis they place on particular topic areas or in the mix of fundamental and advanced courses. Programs also differ in how prescribed they are; the MCompSc and MInfSc degrees, for example, specify groups of required courses which must be completed before the degree can be awarded.

CSE postgraduate courses fall into three natural groups:

Foundations   (Group A)
Topics that form the basic foundations of the discipline of computer science and engineering, including programming fundamentals, digital systems, discrete maths and data structures.

Core   (Group B/C)
Topics that cover the breadth of the discipline, ranging from advanced foundational material such as algorithms and software engineering, through important applied topics such as operating systems, databases, networks, graphics and artificial intelligence. Any graduate from a CSE postgraduate program would be expected to be familiar with most of this material.

Advanced   (Group D)
Topics that extend the core material or introduce cutting-edge research in areas such as machine learning, eCommerce or network implementation.

Each of the CSE postgraduate programs chooses a different mix of courses appropriate for the background of the students in the program. This is described in more detail in the descriptions of the individual programs.

Course Groups

Notes (these are not part of the document for students):
  • The new Group B list is really core. I think everyone who graduates from CSE should know all of this. This is a minor change in emphasis from the current MCompSc program. It doesn't quite fit with the current MINfSc ... but maybe that's because MInfSc needs changing.
  • The new group C list is the stuff that gives breadth and all students ought to know at least three courses from it (this fits in with the existing programs).
  • We should still expect MEngSc students to know at least 7 of the 11 Group B/C courses before we admit them to the program; and we let them do at most 2 Group B/Cs in their degree.
  • Replacing COMP9221 in core by COMP9211 is plausible.
  • Including COMP4001 (suitably renumbered) in Group B would be plausible, but maybe overemphasises the Software Engineering side of things ... also, it's not clear what should be removed to allow its inclusion.
  • A red course code means that I think the course code needs changing to something permanent.
  • A red course title means that I'm sceptical about leaving this course on the books ... maybe not available in the future.
  • A green course title means that the course wasn't in the current list; I'm sure there's a reason, but I'd like to hear what the reason is.

Group A
COMP9020Foundations of Computer Science
COMP9021Principles of Programming
COMP9022Digital Systems Structures
COMP9024Data Structures and Algorithms
Group B
COMP9008Software Engineering
COMP9101Design and Analysis of Algorithms
COMP9151Foundations of Concurrency
COMP9511Human Computer Interaction
Group C
COMP9102Compiling Techniques
COMP9201Operating Systems
COMP9221Microprocessor Systems
COMP9311Database Systems
COMP9331Computer Networks & Applications
COMP9414Artificial Intelligence
COMP9415Graphics
Group D
COMP4001Object-oriented Software Dev.
COMP4011Web Applications Engineering
COMP4111Distributed Object Sys & Tech
COMP4141Theory of Computation
COMP4411Experimental Robotics
COMP9018Advanced Graphics
COMP9116Software System Dev. Using B
COMP9211Computer Architecture
COMP9215VLSI Systems Design
COMP9231Integrated Digital Sysmtems
COMP9242Advanced Operating Systems
COMP9243Distributed Systems
COMP9314Next Generation Database Systems
COMP9315Database Systems Implementation
COMP9316eCommerce Systems Implementation
COMP9332Network Routing & Switching
COMP9333Advanced Computer Networks
COMP9416Knowledge-based Systems
COMP9417Machine Learning
COMP9444Neural Networks
COMP9518Image Processing & Applications
COMP9519Multimedia Authoring & Cooperative Agents
COMP9921Personal Software Process

Masters vs Graduate Diploma

The Computer Science and Information Science programs are available as both Masters and graduate Diploma programs. The difference between a Graduate Diploma and the corresponding Masters is that students undertake four additional courses of study. Normal practice for transferring from Graduate Diploma to Masters is to complete the Grad Dip requirements and then transfer enrolment to the correpsonding Masters program.

Note that it is not possible to

Note also that students who are enrolled in a Masters program, but fail to maintain a 65% average in their first 12 courses will not be eligible to continue on to the Masters and must take out the Graduate Diploma at this point.

Projects

In any of the Masters programs, it is possible for exceptional students to undertake a research project in place of three courses in the final session of their degree. This project is worth 18 UoC and has the course code COMP9945 (why not COMP9918?)

The project option is only available under the following conditions: