Skip to main content

Master of Computer Science

Unit of study table

Master of Computer Science

To qualify for the award of the Master of Computer Science, a candidate must complete 96 credit points, comprising:
1. Minimum 24 credit points and maximum 30 credit points of Foundation units of study including
(a) 12 credit points of Foundation Core units of study, and
(b) 6 credit points of Foundation Programming Selective unit of study, and
(c)  6 credit points of Foundation Networking Selective unit of study
2. 18 credit points of Core units of study; and
3. Minimum 24 credit points of Specialist units of study; and
4. Maximum 12 credit points of Elective units of study; and
5. 12 credit points of Capstone Pathway units of study; or
6. 24 credit points of Research Pathway units of study; or
7. 24 credit points of Work Integrated Pathway units of study.

Master of Computer Science (advanced entry)

To qualify for the award of the Master of Computer Science, a candidate must complete 96 credit points, comprising:
1. Maximum 30 credit points of Foundation units of study;
2. 18 credit points of Core units of study; and
3. Minimum 24 credit points of Specialist units of study; and
4. Maximum 12 credit points of Elective units of study; and
5. 12 credit points of Capstone Pathway units of study; or
6. 24 credit points of Research Pathway units of study; or
7. 24 credit points of Work Integrated Pathway units of study.

Graduate Diploma in Computer Science

To qualify for the award of the Graduate Diploma in Computer Science, a candidate must complete 48 credit points, comprising:
1. Maximum 24 credit points of Foundation units of study; and
2. Maximum 18 credit points of core units of study; and
3. Minimum 18 credit points of Specialist units of study; and
4. Maximum 12 credit points of Elective units of study.

Graduate Certificate in Computer Science

To qualify for the award of the Graduate Certificate Computer Science, a candidate must complete 24 credit points, comprising:
1. 24 credit points of Foundation units of study.

Specialisations

Completion of a specialisation is not a requirement of the course.  Candidates in the Master of Computer Science (advanced entry) stream may complete a maximum of two specialisations.  A specialisation requires the completion of 24 credit points chosen from units of study listed in the table for that specialisation as specified in Master of Computer Science specialisation table. Units of study counted towards one specialisation may not count toward any other specialisation completed. The specialisations available are

  • Algorithms and Theory
  • Cybersecurity
  • Data Science and AI
  • Digital Media
  • Human-Computer Interaction
  • Networks and Distributed Systems
  • Software Engineering
  • Unspecified Specialisation

Requirements for the specialisations are listed below.

Streams

The Master of Computer Science is available in the following streams:
(a) Master of Computer Science
(b) Master of Computer Science (advanced entry)
Completion of a stream is a requirement of the course.
Unit of study
Credit points
A: Assumed knowledge P: Prerequisites
C: Corequisites N: Prohibition

Core units of Study

INFO5990
Professional Practice in IT
6 A Students enrolled in INFO5990 are assumed to have previously completed a Bachelor's degree in some area of IT, or have completed a Graduate Diploma in some area of IT, or have many years experience as a practising IT professional
N OINF5990
INFO5992
Understanding IT Innovations
6 P 24 credit points of units at 5000-level or above
N PMGT5875 OR OINF5992
INFO6007
Project Management in IT
6 A Students enrolled in INFO6007 are assumed to have previously completed a Bachelor's degree in some area of IT, or have completed a Graduate Diploma in some area of IT, or have three years experience as a practising IT professional. Recent work experience, or recent postgraduate education, in software project management, software process improvement, or software quality assurance is an advantage
N PMGT5871 or INFO3333

Foundation units of study

Foundation Core units
COMP9120
Database Management Systems
6 A Some exposure to programming and some familiarity with data model concepts
N INFO2120 OR INFO2820 OR INFO2005 OR INFO2905 OR COMP5138 OR ISYS2120. Students who have previously studied an introductory database subject as part of their undergraduate degree should not enrol in this foundational unit, as it covers the same foundational content
COMP9123
Data Structures and Algorithms
6 N INFO1105 OR INFO1905 OR COMP2123 OR COMP2823
Foundation Programming Selective units
COMP9001
Introduction to Programming
6 N INFO1110 OR INFO1910 OR INFO1103 OR INFO1903 OR INFO1105 OR INFO1905 OR ENGG1810
COMP9003
Object-Oriented Programming
6 A COMP9001 OR INFO1110 OR INFO1910
N INFO1113 or INFO1103 or COMP9103
COMP9017
Systems Programming
6 A COMP9003
N COMP2129 OR COMP2017 OR COMP9129
Foundation Networking Selective units
COMP9121
Design of Networks and Distributed Systems
6 N COMP5116
COMP9601
Computer and Network Organisation
6 N COMP5213
Foundation Modelling units
COMP9110
System Analysis and Modelling
6 A Experience with a data model as in COMP9129 or COMP9103 or COMP9003 or COMP9220 or COMP9120 or COMP5212 or COMP5214 or COMP5028 or COMP5138
N ELEC3610 OR ELEC5743 OR INFO2110 OR INFO5001 OR ISYS2110
COMP9201
Software Construction and Design 1
6 A COMP9103 or COMP9003 (or equivalent UoS at a different institution)
N INFO3220 OR SOFT2201

Foundation Elective units

COMP9001
Introduction to Programming
6 N INFO1110 OR INFO1910 OR INFO1103 OR INFO1903 OR INFO1105 OR INFO1905 OR ENGG1810
COMP9003
Object-Oriented Programming
6 A COMP9001 OR INFO1110 OR INFO1910
N INFO1113 or INFO1103 or COMP9103
COMP9017
Systems Programming
6 N COMP2129 OR COMP2017 OR COMP9129
A COMP9003
COMP9110
System Analysis and Modelling
6 A Experience with a data model as in COMP9129 or COMP9103 or COMP9003 or COMP9220 or COMP9120 or COMP5212 or COMP5214 or COMP5028 or COMP5138
N ELEC3610 OR ELEC5743 OR INFO2110 OR INFO5001 OR ISYS2110
COMP9120
Database Management Systems
6 A Some exposure to programming and some familiarity with data model concepts
N INFO2120 OR INFO2820 OR INFO2005 OR INFO2905 OR COMP5138 OR ISYS2120. Students who have previously studied an introductory database subject as part of their undergraduate degree should not enrol in this foundational unit, as it covers the same foundational content
COMP9121
Design of Networks and Distributed Systems
6 N COMP5116
COMP9123
Data Structures and Algorithms
6 N INFO1105 OR INFO1905 OR COMP2123 OR COMP2823
COMP9601
Computer and Network Organisation
6 N COMP5213
STAT5002
Introduction to Statistics
6 A HSC Mathematics

Specialist units of study

Algorithms and Theory Specialisation units
COMP5045
Computational Geometry
6 A Experience with data structures and algorithms as covered in COMP9003 or COMP9103 or COMP9123 or COMP2123 or COMP2823 or INFO1105 or INFO1905 (or equivalent UoS from different institutions)
N COMP4445
COMP5270
Randomised and Advanced Algorithms
6 A COMP3027 or equivalent; Discrete Maths and Probability (MATH1064) or equivalent
P COMP9123 or COMP2123 or COMP2823
N COMP4270
COMP5530
Discrete Optimisation
6 A COMP3027 or equivalent and MATH1064 or equivalent
P COMP9123 or COMP2123 or COMP2823
N COMP3530 or COMP4530
CSYS5030
Information Theory and Self-Organisation
6 A Competency in 1st year mathematics, and basic computer programming skills are assumed. Competency in 1st year undergraduate level statistics (for example, covering probabilities, conditional probabilities, Gaussian distribution, correlations, statistical significance/hypothesis testing and p-values). An exposure to linear algebra would be useful but not mandatory
Cybersecurity Specialisation units
COMP5618
Applied Cybersecurity
6 A (ELEC5616 OR INFO2315 OR INFO2222) with a grade of Credit or greater
N COMP4618
CSEC5614
Data Privacy: Theory and Practice
6 A CSEC5616 or OCSE5616 or ELEC5616 or INFO3616 or INFO2222
N OCSE5614
CSEC5616
Cybersecurity Engineering
6 A A technical orientation is absolutely required, especially the capacity to become familiar with new technology without explicit supervision. Good programming skills in Python or a C-related language, basic networking knowledge, and skills from discrete mathematics are assumed. These topics are covered at appropriate level in our undergraduate units INFO1110, INFO1112, INFO1113 and MATH1064.
N ELEC5616 or OCSE5616
INFO5301
Information Security Management
6 A This unit of study assumes foundational knowledge of Information systems management. Two year IT industry exposure and a breadth of IT experience will be preferable
N OINF5301
Data Science and AI Specialisation units
COMP5310
Principles of Data Science
6 A Good understanding of relational data model and database technologies as covered in ISYS2120 or COMP9120 (or equivalent UoS from different institutions)
N INFO3406 OR OCMP5310
COMP5318
Machine Learning and Data Mining
6 A Experience with programming and data structures as covered in COMP2123 OR COMP2823 or COMP9123 (or equivalent unit of study from different institutions).
N COMP4318 OR OCMP5318
COMP5339
Data Engineering
6 A Proficiency in programming, especially Python, and in database querying with SQL; basic Unix scripting
P COMP5310
N OCMP5339
STAT5003
Computational Statistical Methods
6 A STAT5002 or equivalent introductory statistics course with a statistical computing component
Digital Media Specialisation units
COMP5405
Digital Media Computing
6 A Experience with programming skills, as covered in COMP9103 OR COMP9003 OR COMP9123 OR COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions)
N COMP4405 OR COMP5114 OR COMP9419
COMP5415
Multimedia Design and Authoring
6 A Experience with software development as covered in SOFT2412 or COMP9103 or COMP9003 (or equivalent UoS from different institutions)
N COMP4415
COMP5425
Multimedia Retrieval
6 A Experience with programming skills, as covered in COMP9103 OR COMP9003 OR COMP9123 OR COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions)
N COMP4425
COMP5427
Usability Engineering
6 N COMP4427
Human-Computer Interaction Specialisation units
COMP5047
Pervasive Computing
6 A ELEC1601 and (COMP2129 or COMP2017 or COMP9017). Background in programming and operating systems that is sufficient for the student to independently learn new programming tools from standard online technical materials
N COMP4447
COMP5048
Visual Analytics
6 A Experience with data structures and algorithms as covered in COMP9103 OR COMP9003 OR COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions)
N COMP4448 OR OCMP5048
COMP5427
Usability Engineering
6 N COMP4427
IDEA9106
Design Thinking
6  
Networks and Distributed Systems Specialisation units
COMP5216
Mobile Computing
6 A COMP5214 OR COMP9103 OR COMP9003. Software Development in JAVA, or similar introductory software development units
N COMP4216
COMP5313
Large Scale Networks
6 A Algorithmic skills gained through units such as COMP2123 or COMP2823 or COMP3027 or COMP3927 or COMP9007 or COMP9123 or equivalent. Basic probability knowledge
N COMP4313
COMP5416
Advanced Network Technologies
6 A COMP3221 OR ELEC3506 OR ELEC9506 OR ELEC5740 OR COMP5116 OR COMP9121
N COMP4416
COMP5426
Parallel and Distributed Computing
6 A Experience with algorithm design and software development as covered in (COMP2017 or COMP9017) and COMP3027 (or equivalent UoS from different institutions)
N COMP4426 OR OCMP5426
Software Engineering Specialisation units
COMP5347
Web Application Development
6 A Experience with software development as covered in SOFT2412 or COMP9412 or INFO1113 or COMP9103 or COMP9003 and experience in database management systems as covered in ISYS2120 or COMP9120.
N COMP4347
COMP5348
Enterprise Scale Software Architecture
6 A Experience with software development as covered in SOFT2412 or COMP9103 and also COMP2123 or COMP2823 or INFO1105 or INFO1905 (or equivalent UoS from different institutions)
N COMP4348
ELEC5618
Software Quality Engineering
6 A Writing programs with multiple functions or methods in multiple files; design of complex data structures and combination in non trivial algorithms; use of an integrated development environment; software version control systems
ELEC5620
Model Based Software Engineering
6 A A programming language, basic maths

Unspecified Specialisation units

COMP5045
Computational Geometry
6 A Experience with data structures and algorithms as covered in COMP9003 or COMP9103 or COMP9123 or COMP2123 or COMP2823 or INFO1105 or INFO1905 (or equivalent UoS from different institutions)
N COMP4445
COMP5046
Natural Language Processing
6 A Knowledge of an OO programming language
N COMP4446
COMP5047
Pervasive Computing
6 A ELEC1601 and (COMP2129 or COMP2017 or COMP9017). Background in programming and operating systems that is sufficient for the student to independently learn new programming tools from standard online technical materials
N COMP4447
COMP5216
Mobile Computing
6 A COMP5214 OR COMP9103 OR COMP9003. Software Development in JAVA, or similar introductory software development units
N COMP4216
COMP5270
Randomised and Advanced Algorithms
6 A COMP3027 or equivalent; Discrete Maths and Probability (MATH1064) or equivalent
P COMP9123 or COMP2123 or COMP2823
N COMP4270
COMP5313
Large Scale Networks
6 A Algorithmic skills gained through units such as COMP2123 or COMP2823 or COMP3027 or COMP3927 or COMP9007 or COMP9123 or equivalent. Basic probability knowledge
N COMP4313
COMP5318
Machine Learning and Data Mining
6 A Experience with programming and data structures as covered in COMP2123 OR COMP2823 or COMP9123 (or equivalent unit of study from different institutions).
N COMP4318 OR OCMP5318
COMP5339
Data Engineering
6 A Proficiency in programming, especially Python, and in database querying with SQL; basic Unix scripting
P COMP5310
N OCMP5339
COMP5347
Web Application Development
6 A Experience with software development as covered in SOFT2412 or COMP9412 or INFO1113 or COMP9103 or COMP9003 and experience in database management systems as covered in ISYS2120 or COMP9120.
N COMP4347
COMP5348
Enterprise Scale Software Architecture
6 A Experience with software development as covered in SOFT2412 or COMP9103 and also COMP2123 or COMP2823 or INFO1105 or INFO1905 (or equivalent UoS from different institutions)
N COMP4348
COMP5349
Cloud Computing
6 A Basic programming skills as covered in INFO1110 or INFO1910 or ENGG1810 or COMP9001 or COMP9003. Knowledge of OS concepts as covered in INFO1112 or COMP9201 or COMP9601 would be an advantage.
N COMP4349 OR OCMP5349
COMP5405
Digital Media Computing
6 A Experience with programming skills, as covered in COMP9103 OR COMP9003 OR COMP9123 OR COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions)
N COMP4405 OR COMP5114 OR COMP9419
COMP5415
Multimedia Design and Authoring
6 A Experience with software development as covered in SOFT2412 or COMP9103 or COMP9003 (or equivalent UoS from different institutions)
N COMP4415
COMP5416
Advanced Network Technologies
6 A COMP3221 OR ELEC3506 OR ELEC9506 OR ELEC5740 OR COMP5116 OR COMP9121
N COMP4416
COMP5425
Multimedia Retrieval
6 A Experience with programming skills, as covered in COMP9103 OR COMP9003 OR COMP9123 OR COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions)
N COMP4425
COMP5426
Parallel and Distributed Computing
6 A Experience with algorithm design and software development as covered in (COMP2017 or COMP9017) and COMP3027 (or equivalent UoS from different institutions)
N COMP4426 OR OCMP5426
COMP5427
Usability Engineering
6 N COMP4427
COMP5530
Discrete Optimisation
6 A COMP3027 or equivalent and MATH1064 or equivalent
P COMP9123 or COMP2123 or COMP2823
N COMP3530 or COMP4530
COMP5618
Applied Cybersecurity
6 A (ELEC5616 OR INFO2315 OR INFO2222) with a grade of Credit or greater
N COMP4618
CSEC5614
Data Privacy: Theory and Practice
6 A CSEC5616 or OCSE5616 or ELEC5616 or INFO3616 or INFO2222
N OCSE5614
CSYS5030
Information Theory and Self-Organisation
6 A Competency in 1st year mathematics, and basic computer programming skills are assumed. Competency in 1st year undergraduate level statistics (for example, covering probabilities, conditional probabilities, Gaussian distribution, correlations, statistical significance/hypothesis testing and p-values). An exposure to linear algebra would be useful but not mandatory
ELEC5618
Software Quality Engineering
6 A Writing programs with multiple functions or methods in multiple files; design of complex data structures and combination in non trivial algorithms; use of an integrated development environment; software version control systems
ELEC5620
Model Based Software Engineering
6 A A programming language, basic maths
IDEA9106
Design Thinking
6  
INFO5301
Information Security Management
6 A This unit of study assumes foundational knowledge of Information systems management. Two year IT industry exposure and a breadth of IT experience will be preferable
N OINF5301
STAT5003
Computational Statistical Methods
6 A STAT5002 or equivalent introductory statistics course with a statistical computing component

Elective units of study

CISS6022
Cybersecurity
6  
DATA5207
Data Analysis in the Social Sciences
6 N DATA4207
ELEC5507
Error Control Coding
6 A Fundamental mathematics including probability theory and linear algebra. Basic knowledge on digital communications. Basic MATLAB programming skills is desired
ELEC5508
Wireless Engineering
6 A Basic knowledge in probability and statistics, analog and digital communications, error probability calculation in communications channels, and telecommunications network
ELEC5509
Mobile Networks
6 A ELEC3505 or ELEC9505 AND ELEC3506 or ELEC9506. Basically, students need to know the concepts of data communications and mobile communications. If you are not sure, please contact the instructor
ELEC5510
Satellite Communication Systems
6 A Knowledge of error probabilities, analog and digital modulation techniques and error performance evaluation studied in ELEC3505 Communications and ELEC4505 Digital Communication Systems, is assumed
ELEC5514
IoT Wireless Sensing and Networking
6 A ELEC3305 AND ELEC3506 AND ELEC3607 AND ELEC5508
ELEC5517
Software Defined Networks
6 A ELEC3506 OR ELEC9506
ELEC5619
Object Oriented Application Frameworks
6 A Java programming, and some web development experience are essential. Databases strongly recommended
INFO5010
IT Advanced Topic A
6
INFO5011
IT Advanced Topic B
6

Project units of study

Capstone Pathway units
COMP5703
Information Technology Capstone Project
12 A The capstone project must be completed in the final semester.
P A candidate for [MIT, MITM or MIT/MITM who has completed 36 credit points] or [MCS who has completed 60 credit points] may take this unit.
N COMP5702 or COMP5704 or COMP5707 or COMP5708 or COMP5709 or COMP5802
COMP5707
Information Technology Capstone A
6 A The capstone project must be completed in the final semesters.
P A part time enrolled candidate for [MIT, MITM or MIT/MITM who has completed 36 credit points] or [MCS who has completed 60 credit points] may take this unit.
N COMP5702 or COMP5704 or COMP5703 or COMP5709 or COMP5802. Eligible students of the IT Capstone Project may choose either COMP5703 or (COMP5707 and COMP5708) or COMP5709.
COMP5708
Information Technology Capstone B
6 A The capstone project must be completed in the final semesters.
P A part time enrolled candidate for [MIT, MITM or MIT/MITM who has completed 36 credit points] or [MCS who has completed 60 credit points] may take this unit.
C COMP5707
N COMP5702 or COMP5704 or COMP5703 or COMP5709 or COMP5802. Eligible students of the IT Capstone Project may choose either COMP5703 or (COMP5707 and COMP5708) or COMP5709.
COMP5709
IT Capstone Project - Individual
12 A A candidate for [MIT, MITM or MIT/MITM who has completed 36 credit points] or [MCS who has completed 60 credit points] and has a WAM of 75 or over may take this unit.
N COMP5702 or COMP5703 or COMP5704 or COMP5707 or COMP5708 or COMP5802
Research Pathway units
COMP5702
IT Research Project A
12 A A candidate for [MIT/MITM students who has finished 24 credit points of Core or Specialist units of study] or [(MIT or MITM who has completed 24 credit points] or [MCS Research Pathway who has completed a minimum of 48 credit points) from Core or Specialist or Foundation units of study] with a WAM of 75 or more may apply for the Research Pathway. Students should take INFO5993 either concurrently or prior to undertaking this project unit. The Research Project units must be taken in the final two semesters.
N COMP5703 or COMP5707 or COMP5708 or COMP5709 or COMP5802. Students enrolling (and eligible) for the IT Research Project are not eligible to enrol in the IT Capstone Project nor the Work Integrated Project units of study.
COMP5704
IT Research Project B
6 A A candidate for [MIT/MITM students who has finished 24 credit points of Core or Specialist units of study] or [(MIT or MITM who has completed 24 credit points] or [MCS Research Pathway who has completed a minimum of 48 credit points) from Core or Specialist or Foundation units of study] with a WAM of 75 or more may apply for the Research Pathway. Students should take INFO5993 either concurrently or prior to undertaking this project unit. The Research Project units must be taken in the final two semesters.
N COMP5703 or COMP5707 or COMP5708 or COMP5709 or COMP5802. Students enrolling (and eligible) for the IT Research Project are not eligible to enrol in the IT Capstone Project nor the Work Integrated Project units of study.
INFO5993
Computer Science Research Methods
6 N INFO4990
Work Integrated Pathway units
COMP5802
Work Integrated Project
24 A Subject to the availability of suitable industry placements, a candidate for Master of Computer Science Work Integrated pathway who has completed a minimum of 48 credit points from Core or Specialist or Foundation units of study with a WAM of 75 or more may apply for this unit
N COMP5702 or COMP5703 or COMP5704 or COMP5707 or COMP5708 or COMP5709. Students enrolling in (and eligible for) the Work Integrated Project are not eligible to enrol in IT Research Project or IT Capstone Project units