Computer Science
The School of Information Technologies aims to teach fundamental principles and practical skills in IT, and to establish the foundations for an entire career. Units of study in Computer Science major are available at standard and advanced level.
About the major
A major in computer science covers the key concepts of computation. You will learn the principles and techniques needed to solve tasks efficiently with computation, and how to express those solutions in software. You will also discover how computation can be modelled and how to reason about the limits of what computation can achieve. A major in computer science will provide you with the knowledge and skills needed to innovate in information technology, and create fundamentally new IT solutions to future challenges.
Requirements for completion
- 12 credit points of 1000-level core units of study;
- 18 credit points of 2000-level core units of study;
- 12 credit points of 3000-level core units of study;
- 6 credit points of 3000-level selective units of study.
A minor in Computer Science is available and articulates to this major.
Pathways through the major and minor
The requirements for a major/minor in Computer Science are spread out over three years of the degree (possibly four years if students are completing a combined Bachelor of Advanced Studies degree).
(i) Computer Science Major
A sample pathway for the Computer Science major (over three years of a degree) is listed below.
Sample pathway - Computer Science major (48 credit points)
Year | Session | Units of study | |||
---|---|---|---|---|---|
First | Semester 1 | Core: INFO1110 Introduction to Programming | |||
Semester 2 |
Core: INFO1113 Object-Oriented Programming | ||||
Second | Semester 1 | Core: COMP2123 Data Structures and Algorithms | |||
Semester 2 |
Core: COMP2022 Programming Languages, Logic and Models | ||||
Third | Semester 1 | Core: COMP2017 Systems Programming | Core: COMP3027 Algorithm Design | ||
Semester 2 |
Core: COMP3615 Computer Science Project | Selective: 3000-level unit listed for major |
Please Note. This sample progression is meant as an example only. Depending on unit prerequisites, students may be able to complete these units in a different sequence to that displayed in the table above.
For details of the core and selective units of study required for the major or minor please refer to the Computer Science section of the unit of study table, Table S, in this handbook.
Fourth year
The fourth year is only offered within the combined Bachelor of Science/Bachelor of Advanced Studies course.
Advanced coursework
The Bachelor of Advanced Studies advanced coursework option consists of 48 credit points, which must include a minimum of 24 credit points in a single subject area at 4000-level, including a project unit of study worth at least 12 credit points. Space is provided for 12 credit points towards the second major (if not already completed). 24 credit points of advanced study will be included in the table for 2020.
Honours
Requirements for Honours in the area of Computer Science: completion of 24 credit points of project work and 24 credit points of coursework.
Honours units of study will be available in 2020.
Contact and further information
Website: School of Information Technologies
E
T +61 2 9351 3423
Address:
School of Information Technologies J12
University of Sydney
NSW 2006
Program Coordinator
Dr Josiah Poon
T +61 2 9351 7185
E
Learning Outcomes
Students who graduate from Computer Science will be able to:
- Acquire knowledge of the fundamental mathematical properties of computer hardware, software, and certain applications thereof.
- Find efficient solutions to a wide range of computational tasks, by applying known data structures and algorithms, or by designing new algorithms using a range of algorithm design techniques; and able to produce runnable implementations of these solutions.
- Reason the correctness and efficiency of algorithms (both standard ones and novel ones).
- Acquire knowledge of key ideas from the theory of computation and its limits, and ability to recognize tasks where efficient perfect solutions should not be expected, and where approximate solutions are appropriate.
- Learn basic knowledge of the hardware & software stack including computer architecture, operating systems, programming languages, databases, and networking.