Computer science


The discipline

In our computerised society no modern scientist, engineer or business person should be without a knowledge of computers. First-year computer science is a general introduction to computing and is suitable either for

The sequence of both CSE1301 which covers basic programming skills and CSE1303 which extends those programming skills is highly recommended for all students, whether or not they intend to become computer scientists.
Computer science is a broad discipline, encompassing software design and programming, the actual computer machinery, the theoretical foundations, and all the applications of computing which pervade our modern society. Knowing the internal working of the machine leads to better programming. Knowing the theory of computing allows clearer thinking. This means computer scientists are able to apply their computing knowledge and general analytic skills to a wide range of tasks.
Computer scientists have a wide choice of career options; they can become programming specialists, systems designers, consultants or project managers. They can work in software development, customer support, industrial process control, information retrieval, or with communication networks. Computer scientists produce animations for the film industry (from Star Wars to Jurassic Park or Independence Day), support space shuttle missions, and work on exciting projects such as unlocking the human genetic code, virtual reality, and artificial intelligence.
Graduates who have completed a major sequence in computer science are eligible for level-one membership of the Australian Computer Society.

Major sequence

To obtain a major sequence in computer science students should take:

First year (12 points)

In addition students should take twelve points of approved mathematics or equivalent.

Second year (18 points)

Third year (24 points)

Transition to six-point subjects

Computer science subjects will change to a six-point structure in 1999. With this change students undertaking second year in 1999 and intending to major in computer science are recommended to take either a sixteen-point sequence:

or the new eighteen-point second-year core (see above).
Students undertaking third year in 1999 and intending to major in computer science are recommended to take the new twenty-four-point third-year structure (see above).

First year

First-year coordinator: Associate Professor Ingrid Zukerman
The first-year subjects serve both as a general introduction to computer science and as a prerequisite for further studies. Thus they may be taken either by students wishing to major in computer science or by students whose major interest is in some other branch of science.
The first-semester subject CSE1301 covers basic programming skills and gives an introduction to computer science. The second-semester subject CSE1303 develops the understanding of algorithms, data structures, and computer systems.

Second year

Second-year coordinator: Dr Ronald Pose
Second year aims to develop a firm foundation in the fundamental concepts of computer science, namely operating systems, formal methods, algorithm development and software engineering. In addition, it introduces new topics to broaden the student's view of computation and its applications.

Third year

Third-year coordinator: Dr Graham Farr
Students wishing to study a major sequence in computer science must take at least one project (CSE3301 or CSE3302) and at least eighteen points of additional third-year computer science subjects. These eighteen points may not include another project. It is recommended that students complete CSE3305 Formal methods II and CSE3322 Programming languages and implementation. Note: Students intending to undertake CSE3302 (Software engineering project) in second semester will need to complete CSE3308 (Software engineering: analysis and design) in first semester.
Students intending to proceed to honours should ensure that they have sufficient breadth to undertake the honours coursework units offered each year. It is recommended that in addition to the core project these students take CSE3305 (Formal methods II), CSE3322 (Programming languages and implementation), and three other third-year computer science electives.

Honours program in computer science

CSC4000

Honours coordinator: Dr Ann Nicholson

Prerequisites

Selected students achieving an average of a credit or better result in third-year computer science can choose to take an honours year in computer science. This honours degree is suitable for good students who want to gain a deeper understanding of computer science.
An honours degree in computer science opens many career opportunities. Students with honours are particularly sought after by employers, and can choose from more interesting research and development positions because of their extra skills and proven abilities. An honours degree also leads on to postgraduate study which is necessary for an academic career or a career in industrial research.
To be admitted to the honours year, students require an average of a credit or better result in twenty-four points of third-year computer science subjects, including the project. Students should ensure that they have sufficient background to undertake the honours coursework units offered each year (see third-year entry above). Entry to the honours year may be subject to quota restrictions.
Each honours student undertakes a substantial individual project which may be selected from a list suggested by the school or of the student's own devising, subject to approval. The project, worth twenty points, includes writing a thesis and giving an oral presentation. In addition students must take sufficient coursework units, each worth four points, to give a total of forty-eight points. Assessment is typically by practical work, written work and/or examination. Subject to approval by the coordinator, the student may replace two of these units with other subjects such as mathematics, electrical engineering, accounting or third-year computer science. It is compulsory for all students to take the communication and research skills unit.
The School of Computer Science and Software Engineering organises a regular series of seminars, often including interstate and overseas visiting computer scientists. All honours students should attend these seminars. Attendance at all seminars is a prerequisite for passing the honours course.
Units taught in the honours year vary from year to year depending on the research interests of the staff. The following is a list of units taught in 1998: advanced object-oriented idioms in C++; natural language processing; machine learning; neural network fundamentals; communication and research skills; telecommunications; modelling, animating and rendering: advanced topics in graphics; learning and prediction; cryptography and security; pattern recognition and image processing; parallel systems; advanced digital design; video coding and compression; formal methods in software engineering.