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 students whose
major interest is in another science discipline, or students who wish to become
computer scientists with an understanding of all the basic aspects of
computing.
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 The Matrix), 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.
To obtain a major sequence in computer science, students should take:
In addition, students should take 12 points of approved mathematics or equivalent.
Computer
science subjects changed to a six-point structure in 1999.
Students undertaking third year in 2000 and intending to major in computer
science are recommended to take the new 24-point, third-year structure (see
above).
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 subject, CSE1301, covers basic programming skills and gives an
introduction to computer science. The second subject, CSE1303, develops the
understanding of algorithms, data structures and computer systems.
Second-year
coordinator: Dr Lloyd Allison
Second year aims to develop a firm foundation in the fundamental concepts of
computer science, namely 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
coordinator: Dr Sid Ray
Students wishing to study a major sequence in computer science must take at
least one project (CSE3301 or CSE3302) and at least 18 points of additional
third-year computer science subjects. These 18 points may not include another
project. It is recommended that students complete CSE3305 (Formal methods II)
and CSE3322 (Programming languages and implementation). Note that 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
coordinator: Dr Ann Nicholson
Selected students achieving an average of a distinction 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 24 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 is 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 20 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 48 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
recently: 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.