Computer scientists, software engineers, programmers and other computing professionals are experts on how technology works and how computing can address even the most complicated and intricate problems.
This major can provide you with the skills and knowledge you need for a successful career in the rapidly evolving information and communications technology industry.
In your first year, you will develop your programming skills and study the fundamental theoretical knowledge of computing. Topics covered will include C++, Java, Linux and object oriented programming.
Students undertake a capstone project in both semesters of their final year. This project is a real-world project for real clients and may involve workplace placement with an industry partner. Recent projects involve an application to track sky dives, applications to assist WA primary school teachers with class management and a method to improve data access for researchers linked to the Murchison Widefield Array.
In your second year, you can specialise in one of the following streams:
In this stream you will develop an in-depth knowledge of software design and algorithm analysis, as well as artificial intelligence, computer communications, databases and graphics. Your study will focus on the knowledge required to build operating systems and design new programming languages. As computer science theory and applications are mathematically based, there is a strong emphasis on mathematics.
This stream focuses on the key concepts and challenges in data and resource protection and computer software security. You will examine the high level (cryptography theory, data access policy development and security program management) and low level (computer forensics, network intrusion detection and incident handling) practical aspects of computer security.
You will develop skills in identifying appropriate applications for specific scenarios, with an understanding of cultural and ethical issues related to protecting individual rights.
In this stream you will learn the technological and applied aspects of computing, with less emphasis on theory. You will study system programming, software design and engineering, networking (including the internet and the web), artificial intelligence for decision support, and graphics.
This stream aims to produce graduates who are well versed in the principles of design, measurement and analysis applied in the context of the development of software-based systems.
You will receive a strong foundation in computer science, with further emphasis on software requirements gathering, design, implementation and testing. You will also focus on communication skills, professional responsibility, ethics, interpersonal relationships, teamwork and time management. In your final year, you will undertake an industry-based project.