• Total units 48 Units
  • Areas of interest Computer Science
  • Major code CSCI-MAJ
  • Academic career Undergraduate


Computer Science is the study of information and computation: of algorithms, data and computing systems which accept, store, transform and present data in ways that contribute to knowledge and the well-being of society.

The computer science major teaches the basic principles and theory used in developing computational solutions to problems including a study of data structures, algorithms, and programming languages and their use in translating solutions into software systems.

Example applications include the world-wide web, databases, user-interfaces, networks, high-performance computing, computer control and real-time systems. Software Engineering electives teach techniques and skills for the analysis, design, implementation and project management for the development and maintenance of high-quality software systems.

The computer science program aims to develop skilled computer scientists with the technical background, interpersonal and communications skills, knowledge, and adaptability to contribute to the development of well-designed, robust, computer-based solutions to a range of problems in business and industry.

The major is offered by the School of Computer Science, ANU College of Engineering and Computer Science. Students have access to resources that are unsurpassed in Australia. The ANU campus hosts the largest supercomputer in the Australian university system, and is a founding member of National Information and Communication Technology Australia (NICTA) which is Australia's premier institution of excellence in computing and communications science and technology.

The major allows the integration of Computer Science with studies in other disciplines, and the flexibility to focus on software development, software systems or computer science theory. Students intending to pursue further studies in computing should do a double major.

Excellent career opportunities exist for Computer Science graduates in business, industry and government as programmers, systems analysts, computer systems and network managers, user support officers and software engineers.

Learning Goals:

Students who complete the Computer Science major be able to:

  1. Understand the basic principles and theory used in developing computational solutions to problems. These include the ability to use formal notations and the use of the principle of abstraction.
  2. Apply a range of skills to analyse problems and construct a reliable computational solution. This includes the identification of requirements, separation of concerns, and testing.
  3. Understand the connections between computing and other disciplines, and recognize computational ideas embedded in other contexts.
  4. Apply independent learning and reasoning in the computing discipline; this includes an awareness of current research issues. This is done through reading of textbooks, papers and and electronic resources.
  5. Work in both independent and collaborative ways with others; relate professional and disciplinary information and ideas to diverse audiences in effective and appropriate ways; but at the same time be responsible for individual work and aware of plagiarism issues.
  6. Apply in-depth knowledge and competencies in advanced areas of the computing discipline.

Other Information

Advice to Students

First year courses:

The major is self-contained excepting the mathematics requirement of MATH1005; this is required explicitly by COMP1600.. Students desiring a more scientifically oriented first programming course may take COMP1730 instead of COMP1100. Students satisfying the admission requirements of the Bachelor of Advanced Computing and desiring more advanced study of algorithms and data structures may take COMP1130 and COMP1140 instead of COMP1100 and COMP1110.

Students wishing to concentrate their studies in Computer Systems may take COMP2300 instead of COMP2100.

COMP2410 cannot be taken in this major.

Suggested themed enrolment patterns for the remaining four courses of the major include:

  • Artificial Intelligence: COMP3620 Artificial Intelligence; and any three courses from COMP3650 System Architectural Understanding and the Human Brain, COMP4690 Bioinspired Computing, COMP4620 Advanced Topics in Artificial Intelligence, COMP4650 Document Analysis and COMP4670 Introduction to Statistical Machine Learning.
  • Computational Theory: COMP3600 Algorithms and COMP3630 Theory of Computation and any two courses from COMP2310 Systems, Networks and Concurrency, COMP2610 Information Theory, COMP2620 Logic, COMP3610 Principles of Programming Languages, COMP4600 Advanced Algorithms and COMP4630 Overview of Logic and Computation.
  • Computer Systems: COMP2310 Systems, Networks and Concurrency; and any three courses from COMP3300 Computer Networks, COMP3310 Operating Systems, COMP3320 High Performance Scientific Computation, COMP3610 Principles of Programming Languages, COMP4300 Parallel Systems, COMP4330 Real-Time & Embedded Systems, and COMP4340 Multicore Computing.
  • Human-Centric Computing: COMP3650 System Architectural Understanding and the Human Brain, COMP3900 Human-Computer Interaction, COMP4690 Bio-inspired Computing, COMP4610 Computer Graphics.
  • Information-intensive Computing: COMP2400 Relational Databases, COMP3410 Information Technology in Electronic Commerce, COMP3420 Advanced Databases and Data Mining, COMP4650 Document Analysis.
  • Software Development: COMP2130 Software Analysis and Design, COMP3100 Software Engineering Group Project and COMP3120 Project Management.

Students should seek further course advice from the academic convener of the Computer Science major.

Back to the top


Major Requirements

This major requires the completion of 48 units, which must include:

6 units from completion of the following course(s):

Code Title Units
COMP1600 Foundations of Computing 6

6 units from completion of the following course(s):

Code Title Units
COMP1100 Programming as Problem Solving 6
COMP1130 Programming as Problem Solving (Advanced) 6
COMP1730 Programming for Scientists 6

6 units from completion of the following course(s):

Code Title Units
COMP1110 Structured Programming 6
COMP1140 Structured Programming (Advanced) 6

6 units from completion of the following course(s):

Code Title Units
COMP2100 Software Design Methodologies 6
COMP2300 Computer Organisation and Program Execution 6

A maximum of 6 units may come from completion of courses from the following list:

2000 level Computer Science (COMP) courses

A minimum of 18 units must come from completion of courses from the following list:

3000/4000 level Computer Science (COMP) courses

Back to the top

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions