Computer science

Computer science involves the study of computers and the programs that run on computers. No previous programming knowledge is assumed, but students would be expected to graduate with a sound knowledge of languages such as Java, C, C++ and Python. Furthermore, this foundation of computer programming is built on with a study of algorithms, data structures, networks and operating system internals. This major will appeal to the more technically minded students who wish to contribute to the future development and support of technology.

School of Information Technologies website

What will you study?

Students in the three-year Bachelor of Science or three-year Bachelor of Liberal Arts and Science degrees can choose from a variety of subjects to obtain a major in computer science. Many computer science students do more than the minimum amount of study of the field that makes up a major, this allows them to obtain breadth across several aspects. Other students study both computer science and one of information systems or computational science, in order to combine skills in the underlying technology with expertise in particular domains where computing is used (for solving scientific problems, or dealing with organisational and individual needs, respectively).Students interested in computer science can also study these subjects as part of degrees taught in the Faculty of Engineering and IT.

These degrees include Bachelor of Computer Science and Technology, Bachelor of Information Technology, Bachelor of Engineering (in Software Engineering, Computer Engineering or Telecommunications Engineering). Some students choose to study computer science subjects as electives within Arts, Economics or other Engineering degrees.

What will you study?

First year

All aspects of computer science rely on skill in developing software. This is covered in a sequence of two units which deal with object-oriented programming using the JAVA programming language (including advanced features like inheritance and recursion, and algorithms and data structures).

Although we do not assume any background knowledge of programming, students will learn the crucial skills necessary to complete substantial software projects. This will provide the foundation for further study in higher years.

Second year

Among the subjects available in second year are four key topics. To major in computer science in a Science degree, students must complete at least two of these; however doing all four will allow a wider choice among subsequent subjects.

Databases covers access to and the design of data in relational database management systems such as Oracle. Key topics are SQL queries and normalisation. Another subject deals with programming in C and the Unix shell, focussing on issues of memory management and debugging.

Systems Analysis is about discovering and expressing what users need from large software systems. The fourth of these important subjects is Algorithms, which teaches students how to design clever and efficient methods to solve interesting computing tasks.

Third year

There is a very wide range of choice in third year, depending on the focus of each student’s interests. These include Artificial Intelligence, Graphics, Networking, Programming Languages, and Operating Systems. Students can also choose some subjects that are shared with the information systems major, such as E-Business Analysis, Human-Computer Interaction, IT Project Management, and Database Internals. Another important component is a group software development project.

Assumed Knowledge

For a major in computer science, Mathematics Extension 1 or equivalent is important. HSC Mathematics is satisfactory for a minor in some areas in particular information systems units. Mathematics (General Mathematics) is not sufficient. High school computer studies is neither required nor assumed. However a background in programming, as indicated by good performance in HSC Software Design & Development may allow entry to the advanced level.

Assumed knowledge

For a major in computer science, Mathematics Extension 1 or equivalent is important. HSC Mathematics is satisfactory for a minor in some areas, in particular information systems units. Students who have not studied Extension 1 in high school should complete a bridging course at that level before starting first year. Mathematics (General Mathematics) is not sufficient. High school computer studies is neither required nor assumed. However a background in programming, as indicated by good performance in HSC Software Design & Development, may allow entry to the advanced program.

Advanced Program

The advanced program enables bright and enthusiastic students to study in a stimulating environment with scope for extension work, more opportunity to show initiative and study of more advanced topics. You should consider this program if you did well enough in the NSW HSC (or equivalent) or if you have a strong background and experience with computing.

Students who enrol in advanced degrees, such as BCST (Advanced) or the BSc (Advanced) will study a substantial number of advanced subjects. Students in other degrees can also choose advanced subjects if they have good academic results or if they can show a portfolio of high quality work. Students who perform well in first year computer science can enrol in advanced subjects in second year.