Bachelor of Computer Science

A student is required to complete one of the following:

  1. BCompSc with no major, 48 units comprising -
    1. 24 units from Part A; and
    2. at least 6 units from part B; and
    3. at least 6 units from part C; and
    4. the balance from electives being courses from Part D or other courses approved by the Executive Dean; or

  2. BCompSc with a single major, 48 units comprising -
    1. 24 units from Part A; and
    2. 12 units from Part E under one heading; and
    3. the balance from electives being courses from the combination of parts B, C and D or other courses approved by the Executive Dean

    Unless otherwise specified, no course may count towards more than one requirement.

    No more than 12 units from courses not in the BCompSc list can count toward the degree.

    No more than 20 units of level 1 courses can count towards the degree.

    Students must not enrol in postgraduate courses without having obtained prior permission from the Executive Dean.

    Students may gain elective credit up to a maximum total of 4 units for approved industry certifications which are current at the time of graduation. Refer to List of approved certifications

    Due to the staggered introduction of new courses, students receiving credit or transferring from another program will not be able to graduate until Semester 1, 2019 at the earliest and may not be able to graduate from the Machine Learning major until Semester 2, 2019 or the Cyber Security major until Semester 1, 2020.

Part A - Compulsory

24 units for

Course Code Units Course Title
CSSE1001 2 Introduction to Software Engineering
CSSE2002 2 Programming in the Large
CSSE2010 2 Introduction to Computer Systems
CSSE2310 2 Computer Systems Principles and Programming
COMP2048 2 Theory of Computing [1]
COMP3506 2 Algorithms & Data Structures
COMP4500 2 Advanced Algorithms & Data Structures
DECO3801 2 Design Computing Studio 3 - Build
INFS1200 2 Introduction to Information Systems
[ MATH1051 2 Calculus & Linear Algebra I [2]
[ or
[ MATH1071 2 Advanced Calculus & Linear Algebra I [3]
MATH1061 2 Discrete Mathematics
STAT2203 2 Probability Models and Data Analysis for Engineering

Part B - Introductory Electives

6 units comprising
at least 2 units from

Course Code Units Course Title
DECO2500 2 Human-Computer Interaction
INFS2200 2 Relational Database Systems

and the balance from

Course Code Units Course Title
COSC2500 2 Numerical Methods in Computational Science
SCIE2100 2 Introduction to Bioinformatics

Part C - Advanced Electives

6 units from

Course Code Units Course Title
COMP3301 2 Operating Systems Architecture
COMP3320 2 Vulnerability Assessment and Penetration Testing [4]
COMP3400 2 Functional & Logic Programming
COMP3702 2 Artificial Intelligence
COMP3710 2 Pattern Recognition and Analysis
COMP4403 2 Compilers and Interpreters
COMP4702 2 Machine Learning
COMS3000 2 Information Security
COMS3200 2 Computer Networks I
COMS4507 2 Advanced Topics in Security
COSC3000 2 Visualization, Computer Graphics & Data Analysis
COSC3500 2 High-Performance Computing
CSSE3002 2 The Software Process
CSSE3006 4 Special Projects in Computer Systems and Software Engineering
CSSE3100 2 Reasoning About Programs
CSSE4630 2 Principles of Program Analysis
DECO2800 2 Design Computing Studio 2 - Testing & Evaluation
DECO3500 2 Social & Mobile Computing
INFS3200 2 Advanced Database Systems
INFS3202 2 Web Information Systems
INFS3208 2 Cloud Computing
INFS4203 2 Data Mining
INFS4205 2 Advanced Techniques for High Dimensional Data
MATH3201 2 Scientific Computing: Advanced Techniques and Applications
MATH3202 2 Operations Research & Mathematical Planning
MATH3302 2 Coding & Cryptography

Part D - Other Electives

Course Code Units Course Title
ACCT1101 2 Accounting for Decision Making
BIOL1020 2 Genes, Cells & Evolution
BIOL2202 2 Genetics
BIOL3004 2 Genomics & Bioinformatics
BIOL3014 2 Advanced Bioinformatics
BISM3205 2 Business Information Security
BISM3222 2 Information Analysis and System Design
CHEM1100 2 Chemistry 1
COMU1130 2 Connectivity and Culture
COMU1140 2 Multimedia
DECO1100 2 Design Thinking
DECO1400 2 Introduction to Web Design
DECO1800 2 Design Computing Studio I - Interactive Technology
DECO2300 2 Digital Prototyping
DECO3850 4 Physical Computing & Interaction Design Studio
ECON1010 2 Introductory Microeconomics
ENGG1300 2 Introduction to Electrical Systems
ENGG1600 2 Introduction to Research Practices - The Big Issues
LAWS1100 2 Business Law
MATH1050 2 Mathematical Foundations
MATH1052 2 Multivariate Calculus & Ordinary Differential Equations
MATH2000 2 Calculus & Linear Algebra II
MATH2301 2 Linear & Abstract Algebra & Number Theory
MATH2302 2 Discrete Mathematics II
MATH3104 2 Mathematical Biology
MGTS1301 2 Introduction to Management
MKTG1501 2 Foundations of Marketing
PHYS1002 2 Electromagnetism and Modern Physics
SCIE1000 2 Theory & Practice in Science
STAT2004 2 Statistical Modelling & Analysis
TIMS3309 2 Fundamentals of Technology and Innovation Management

Courses offered on an occasional basis

Course Code Units Course Title
COMP2000 2 Special Topics in Computer Science 2A
COMP2001 2 Special Topics in Computer Science 2B
COMP3000 2 Special Topics in Computer Science 3A
COMP3001 2 Special Topics in Computer Science 3B
COMP3880 2 International Software Development
COMP4000 2 Special Topics in Computer Science 4A
COMP4001 2 Special Topics in Computer Science 4B
CSSE3080 2 Special Topics in Computer Systems 3A
CSSE3081 2 Special Topics in Computer Systems 3B
CSSE3090 2 Special Topics in Software Engineering 3A
CSSE3091 2 Special Topics in Software Engineering 3B
CSSE4080 2 Special Topics in Computer Systems 4A
CSSE4081 2 Special Topics in Computer Systems 4B
CSSE4090 2 Special Topics in Software Engineering 4A
CSSE4091 2 Special Topics in Software Engineering 4B
DECO2000 2 Special Topics in Design Computing 2A
DECO2001 2 Special Topics in Design Computing 2B
DECO3000 2 Special Topics in Design Computing 3A
DECO3001 2 Special Topics in Design Computing 3B
DECO4000 2 Special Topics in Design Computing 4A
DECO4001 2 Special Topics in Design Computing 4B

Part E - Majors

Data Science

12 units for

Course Code Units Course Title
COMP3702 2 Artificial Intelligence
COMP4702 2 Machine Learning
INFS2200 2 Relational Database Systems
INFS3200 2 Advanced Database Systems
INFS4203 2 Data Mining
INFS4205 2 Advanced Techniques for High Dimensional Data

Cyber Security

12 units for

Course Code Units Course Title
COMP3301 2 Operating Systems Architecture
COMP3320 2 Vulnerability Assessment and Penetration Testing [4]
COMS3000 2 Information Security
COMS3200 2 Computer Networks I
COMS4507 2 Advanced Topics in Security
INFS2200 2 Relational Database Systems

Programming Languages

12 units comprising
2 units from

Course Code Units Course Title
DECO2500 2 Human-Computer Interaction
INFS2200 2 Relational Database Systems

and 10 units for

Course Code Units Course Title
COMP3301 2 Operating Systems Architecture
COMP3400 2 Functional & Logic Programming
COMP4403 2 Compilers and Interpreters
CSSE3100 2 Reasoning About Programs
CSSE4630 2 Principles of Program Analysis

Machine Learning

12 units for

Course Code Units Course Title
COMP3710 2 Pattern Recognition and Analysis [1]
COMP3702 2 Artificial Intelligence
COMP4702 2 Machine Learning
DECO2500 2 Human-Computer Interaction
[ MATH1052 2 Multivariate Calculus & Ordinary Differential Equations
[ or
[ MATH1072 2 Advanced Multivariate Calculus & Ordinary Differential Equations
MATH2302 2 Discrete Mathematics II

Scientific Computing

12 units comprising
2 units from

Course Code Units Course Title
DECO2500 2 Human-Computer Interaction
INFS2200 2 Relational Database Systems

and 10 units for

Course Code Units Course Title
COSC2500 2 Numerical Methods in Computational Science
COSC3000 2 Visualization, Computer Graphics & Data Analysis
COSC3500 2 High-Performance Computing
MATH3201 2 Scientific Computing: Advanced Techniques and Applications
SCIE2100 2 Introduction to Bioinformatics

End notes

  • [1] First offered in 2019
  • [2] Students without at least a Sound Achievement in Senior Maths C are required to take MATH1050 as an elective before MATH1051
  • [3] Students with a high achievement in Senior Maths C (or a 6 or 7 in MATH1050) may take MATH1071. Students with a sound achievement in Senior Maths C (or a 4 or 5 in MATH1050) should take MATH1051.
  • [4] First offered in 2020