Overview
Software Engineering, taken within the Bachelor of Engineering (Honours) at The University of Western Australia, teaches students to design, build and maintain software as a disciplined engineering practice. It pairs strong programming and mathematical foundations with professional engineering standards, teamwork and project management. Because the tools and specialisations of the field keep changing, the course emphasises principles that allow graduates to adapt to new technologies.
What You'll Learn
Programming from the ground up, including Python, object-oriented programming and systems programming
Data structures, algorithms and discrete structures, together with the mathematics and probability that underpin software engineering
Relational databases, digital systems and embedded systems
Software requirements and design, and software testing and quality assurance
Agile web development, computer networks and knowledge representation
Cybersecurity, including secure coding practice
Cloud computing and high performance computing
Engineering practice, project management, and risk, reliability and safety
Team-based design projects and research projects, in which students develop software for real-world problems and clients
Learning Outcomes
By the end of the course, students will be able to apply advanced software engineering skills across the whole life of a solution, from spotting a problem through analysis, planning, design, coding, testing and ongoing maintenance. They will use the mathematical foundations behind software engineering and extend their knowledge into areas such as web and app development, big data, software architecture, networking and security. Students will apply research, experimentation and analysis to new settings, and contribute to teams with leadership and accountability when solving real-world problems. Graduates will be prepared to keep pace with change in the industry and to work to professional engineering standards.

The University of Western Australia