Computer systems have transformed our society in many ways, from global-scale platforms that enable us to video conference, to access and share information, and design new drugs using computational simulation and modeling. The recent deep learning ("AI") revolution has been built on innovations in computer systems. Computer Systems have provided the software and hardware foundations upon which these transformational applications run. As we push the limits of what can be done, these foundations are also strained and pushed to their limits. This major focuses on computer systems as artefact of study and research, exploring how operating systems, networking, computer architecture, concurrency, parallelism, and high performance computing come together to make the powerful computational infrastructure on which our world runs.
Depending on the chosen courses, students will learn about:
- operating systems
- networking, network layers and protocols
- programming language design and implementation, compilers and run-time systems
- memory management
- file systems
- computer architecture and micro-architecture
- micro-processors and FPGAs
- multi-core, multi-processor and distributed systems
- concurrency and the design and implementation of concurrent programs
- parallelism and high-performance computing
- process scheduling
- algorithms and programming models for high-performance computing
- parallel computing accelerators (GPUs, TPUs)
- numerical computation
- modelling and simulation and the limitations and design of such systems
Learning Outcomes
- Describe the various components of a computer system and how they work together
- Demonstrate a deep understanding of a variety of computer system approaches
- Choose an appropriate computer system approach and architecture to solve a given problem
- Design, implement, test and evaluate different computer system approaches.
Relevant Degrees
Requirements
This major requires the completion of 48 units, which must include:
A minimum of 18 units at 3000-level
24 units from completion of the following compulsory courses:
COMP2310 Systems Networks and Concurrency
COMP3300 Operating Systems Implementation
COMP3310 Computer Networks
ENGN4213 Digital Systems and Microprocessors
A minimum of 6 units from the completion of a course is the following list:
COMP3320 ?High Performance Scientific Computation
COMP3610? Principles of Programming Languages
A maximum of 18 units from completion of courses from the following list:
COMP2400 Relational Databases
COMP4045 Advanced Topics in Systems and Architecture
COMP4300 Parallel Systems
COMP4712 Compiler Construction
ENGN1218 Introduction to Electronics
ENGN2218 Electronic Systems and Design