Double Major Overview

Description

The field of software engineering is concerned with the development, deployment and maintenance of software assets across an organisation. Software engineers require a diverse set of skills including design, modelling, negotiation, team management, estimation and programming skills. There are opportunities for software engineers in almost every industry, from large government organisations and dedicated software companies, to small start-up companies, or providing software solutions in a variety of fields, such as entertainment, finance, mining, commerce or health.

The Software Engineering major at UWA has been designed to provide you with a solid foundation in software requirements, design, implementation, testing, and professional engineering standards. It also includes advanced topics in mobile computing, cloud computing and cybersecurity.

Outcomes

Students are able to (1) demonstrate advanced problem solving and programming skills to facilitate software design and implementation; (2) apply professional knowledge and skills in software engineering principles, methodologies and practice; (3) extend knowledge in computing and software engineering through research, experimentation and analysis; and (4) understand software risk and promote safe and ethical software engineering practice.

Broadening guidelines

All students studying towards a Bachelor's Degree at UWA are required to Broaden their studies by completing a minimum of four units (24 points) of study outside their degree specific major. Broadening is your opportunity to explore other areas of interest, investigate new disciplines and shape your degree in line with your personal aspirations. Students enrolled in the Bachelor of Engineering are encouraged to take units or a minor from outside of engineering, to satisfy broadening. However, you may also select engineering units that are not listed in the unit sequence of your engineering major. Advice can be sought from your Allocated Student Advising Office.

Incompatibilities

MJD-ENGSC Engineering Science; MJD-CMPSC Computer Science and MJD-CYBER Cybersecurity

Courses

Software Engineering can only be taken as a degree-specific major in the following degree courses:

*Students enrolling in this as part of a combined course must use the code MJDC-ESOFT when selecting this as their extended major.

Example Study Plan

See study plans for more information.

Units

Key to availability of units:
S1
Semester 1
S2
Semester 2
N/A
not available in 2023 – may be available in 2024 or 2025
NS
non-standard teaching period

The list below includes the Bachelor of Engineering foundation units as well as the Software Engineering major units.

Level 1

Degree-specific major units

Take all units (48 points):

Availability Unit code Unit name unit requirements
S1 CITS1003 Introduction to Cybersecurity
Incompatibility
CITS3004 Cybersecurity
S1, S2 CITS1401 Computational Thinking with Python
Prerequisites
Mathematics Applications ATAR
or MATH1720 Mathematics Fundamentals or equivalent
Incompatibility
CITS2401 Computer Analysis and Visualisation
S2 CITS1402 Relational Database Management Systems
Prerequisites
Mathematics Applications ATAR
or MATH1720 Mathematics Fundamentals or equivalent
Incompatibility
CITS2232 Databases
S2 ELEC1303 Digital Systems
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
Incompatibility
ENSC3020 Digital Embedded Systems
NS GENG1000 Engineering Practice 1
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
S1, S2 GENG1010 Introduction to Engineering
Incompatibility
ENSC1003 Introduction to Professional Engineering
S1, S2 MATH1011 Multivariable Calculus
Prerequisites
Mathematics Specialist ATAR
or MATH1722 Mathematics Foundations: Specialist or equivalent
S1, S2 MATH1012 Mathematical Theory and Methods
Prerequisites
Mathematics Specialist ATAR
or MATH1722 Mathematics Foundations: Specialist or equivalent
S1, S2 PHYS1001 Physics for Scientists and Engineers
Prerequisites
Physics ATAR
or PHYS1030 Physics Bridging Unit
and
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods
Co-requisites
MATH1722 Mathematics Foundations: Specialist
Incompatibility
PHYS1100 Classical and Frontier Physics
Bridging units

Students can only take up to 12 points of bridging in the BE.

Students who have not achieved a scaled mark of at least 50 in Mathematics Specialist ATAR or equivalent are required to complete MATH1722. Students who have not achieved a scaled mark of at least 50 in Physics ATAR or equivalent are required to complete PHYS1030. Students who have not achieved a scaled mark of at least 50 in Chemistry ATAR or equivalent are required to complete CHEM1003.

Students who have not achieved a scaled mark of at least 50 in Mathematics Specialist ATAR or equivalent are required to complete MATH1722. Students who have not achieved a scaled mark of at least 50 in Physics ATAR or equivalent are required to complete PHYS1030. Students who have not achieved a scaled mark of at least 50 in Chemistry ATAR or equivalent are required to complete CHEM1003.

Availability Unit code Unit name unit requirements
S1, S2 CHEM1003 Introductory Chemistry
Incompatibility
ATAR Subject(s) Chemistry or equivalent
S1, S2 MATH1722 Mathematics Foundations: Specialist
Prerequisites
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods
or
Mathematics Specialist ATAR [with a scaled score of less than 50] or equivalent
Incompatibility
Mathematics Specialist ATAR [with a scaled score of 50 or greater] or Equivalent or higher
S1, S2 PHYS1030 Physics Bridging Unit
Prerequisites
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods
or
Mathematics Specialist ATAR
or MATH1722 Mathematics Foundations: Specialist
Incompatibility
a scaled score greater than
or equal to 50 per cent in Physics ATAR or equivalent
or PHYS1001 Physics for Scientists and Engineers
or PHYS1002 Modern Physics
or PHYS1100 Classical and Frontier Physics
or PHYS1200 Modern and Frontier Physics

Level 2

Degree-specific major units

Take all units (30 points):

Availability Unit code Unit name unit requirements
S2 CITS2002 Systems Programming
Prerequisites
completion of 6 points of programming-based units
Incompatibility
CITS1002 Programming and System
S1 CITS2005 Object Oriented Programming
Prerequisites
ATAR Mathematics Methods
or MATH1721 Mathematics Foundations: Methods or equivalent
and CITS1401 Computational Thinking with Python
Incompatibility
CITS1001 Software Engineering with Java
S1 CITS2200 Data Structures and Algorithms
Prerequisites
CITS1001 Software Engineering with Java and
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods or equivalent
S2 CITS2211 Discrete Structures
Prerequisites
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods
and completion of 6 points of programming-based units
NS GENG2000 Engineering Practice 2
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and GENG1000 Engineering Practice 1
S1 STAT2063 Probabilistic Methods and their Applications
Prerequisites
MATH1011 Multivariable Calculus
and MATH1012 Mathematical Theory and Methods
and Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
Incompatibility
STAT2062 Fundamentals of Probability with Applications

Level 3

Degree-specific major units

Take all units (42 points):

Availability Unit code Unit name unit requirements
S1 CITS3002 Computer Networks
Prerequisites
CITS1002 Programming and System
or CITS2002 Systems Programming
S2 CITS3005 Knowledge Representation
Prerequisites
CITS2200 Data Structures and Algorithms
and CITS2211 Discrete Structures
S2 CITS3007 Secure Coding
Prerequisites
completion of 12 points of programming-based units
S2 CITS3200 Professional Computing
Prerequisites
completion of at least 84 points, including
CITS2002 Systems Programming
or CITS2200 Data Structures and Algorithms
or CITS2402 Introduction to Data Science
Incompatibility
CITS5206 Professional Computing
S1 CITS3301 Software Requirements and Design
Prerequisites
CITS1001 Software Engineering with Java
or CITS2005 Object Oriented Programming
and Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
Incompatibility
CITS4401 Software Requirements and Design (ID 2618)
S1 CITS3403 Agile Web Development
Prerequisites
CITS1001 Software Engineering with Java
or CITS1401 Computational Thinking with Python
or CITS2002 Systems Programming or equivalent
Incompatibility
CITS5505 Agile Web Development
S2 ELEC3020 Embedded Systems
Prerequisites
GENG2000 Engineering Practice 2 and
CITS1001 Software Engineering with Java
or CITS1401 Computational Thinking with Python
or CITS2401 Computer Analysis and Visualisation (ID 343)
and Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
Incompatibility
ELEC4403 Digital and Embedded Systems
NS GENG3000 Engineering Practice 3
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and GENG2000 Engineering Practice 2

Level 4

Degree-specific major units

Take all units (48 points):

Availability Unit code Unit name unit requirements
S1 CITS4419 Mobile and Wireless Computing
Prerequisites
Enrolment in
HON-CMSSE Computer Science and Software Engineering
or 62530 Master of Data Science
or 62550 Master of Professional Engineering ( Software Engineering specialisation
or Electrical and Electronic Engineering specialisation
or
Enrolment in
BH008 Bachelor of Advanced Computer Science [Honours] and MJD-ICYDM International Cybersecurity

or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 96 points
and CITS3002 Computer Networks
S1 CITS5501 Software Testing and Quality Assurance
Prerequisites
(
Enrolment in
62510 Master of Information Technology
or 62550 Master of Professional Engineering (Software Engineering)
or BH008 Bachelor of Advanced Computer Science [Honours]

and Successful completion of 12 points programming-based units )
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 120 Points
and CITS3301 Software Requirements and Design
S2 CITS5503 Cloud Computing
Prerequisites

Enrolment in
( HON-CMSSE Computer Science and Software Engineering
or 62510 Master of Information Technology
or 62530 Master of Data Science
or 42630 Master of Business Analytics
or BH008 Bachelor of Advanced Computer Science [Honours]
or MJD-ICYDM International Cybersecurity
or MJD-CDSDM Computing and Data Science

and 12 points of programming-based units )
or Enrolment in 62550 Master of Professional Engineering Software Engineering specialisation
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 120 Points
and 12 points of programming-based units
S2 CITS5507 High Performance Computing
Prerequisites

Enrolment in
( 62510 Master of Information Technology
or 62530 Master of Data Science

and 12 points of programming-based units )
or Enrolment in 62550 Master of Professional Engineering Software Engineering specialisation
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 120 Points including 12 points of programming-based units
Incompatibility
CITS3402 High Performance Computing
or SHPC4002 Advanced Computational Physics
N/A GENG4411 Engineering Research Project Part 1
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and Successful completion of
144 Points including level 3 24 points
and GENG3000 Engineering Practice 3
N/A GENG4412 Engineering Research Project Part 2
Prerequisites
GENG4511 Engineering Research Project Part 1 (ID 8024)
and Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
S1, S2 GENG5010 Professional Engineering Portfolio
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and Successful completion of
144 Points

or
Enrolment in
62550 Master of Professional Engineering
and Successful completion of
48 points of level 4/ level 5
Incompatibility
GENG5000 Professional Practicum Report
S1, S2 GENG5505 Project Management and Engineering Practice
Prerequisites
Enrolment in
62550 Master of Professional Engineering
or Enrolment in
62510 Master of Information Technology
or Enrolment in
62530 Master of Data Science
or Enrolment in
62540 Master of Ocean Leadership
or Enrolment in
62560 Master of Renewable and Future Energy
or Enrolment in 62570 Master of Offshore and Coastal Engineering
or
Enrolment in
( Bachelor of Engineering (Honours) or an associated Combined Degree

and Successful completion of
120 Points )
S1, S2 GENG5507 Risk, Reliability and Safety
Prerequisites
Enrolment in
62550 Master of Professional Engineering
or 62510 Master of Information Technology
or 62520 Master of Engineering in Oil and Gas
or 62560 Master of Renewable and Future Energy
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and Successful completion of
120 Points
and MATH1011 Multivariable Calculus
and MATH1012 Mathematical Theory and Methods