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.

Units

Key to availability of units:
S1 = Semester 1; S2 = Semester 2; N/A = not available in 2022; NS = non-standard teaching period

Note:Units that are indicated as N/A may be available in 2023 or 2024.

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, S2 CITS1001 Software Engineering with Java
Prerequisites:
Mathematics Applications ATAR
or
MATH1720 Mathematics Fundamentals
or
equivalent
Co-requisites:
Nil
Incompatibility:
Nil
S1 CITS1003 Introduction to Cybersecurity
Prerequisites:
Nil
Co-requisites:
Nil
Incompatibility:
CITS3004 Cybersecurity
S2 CITS1402 Relational Database Management Systems
Prerequisites:
Mathematics Applications ATAR
or
MATH1720 Mathematics Fundamentals
or
equivalent
Co-requisites:
Nil
Incompatibility:
CITS2232 Databases
S2 ELEC1303 Digital Systems
Prerequisites:
Enrolment in ( BH011 Bachelor of Engineering (Honours)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science
or
CB014 Bachelor of Engineering (Honours)/ Bachelor of Philosophy (Honours) )
Co-requisites:
Nil
Incompatibility:
ENSC3020 Digital Embedded Systems
NS GENG1000 Engineering Practice 1
Prerequisites:
( Bachelor of Engineering (Honours)
or
an associated Combined Degree
Co-requisites:
Nil
Incompatibility:
Nil
S1, S2 GENG1010 Introduction to Engineering
Prerequisites:
( Enrolment in BH011 Bachelor of Engineering (Honours)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science
or
CB014 Bachelor of Engineering (Honours)/ Bachelor of Philosophy (Honours)
or
MJD-ENGSC Engineering Science )
Co-requisites:
Nil
Incompatibility:
ENSC1003 Introduction to Professional Engineering
S1, S2 MATH1011 Multivariable Calculus
Prerequisites:
Mathematics Specialist ATAR
or
MATH1722 Mathematics Foundations: Specialist
or
equivalent
Co-requisites:
Nil
Incompatibility:
Nil
S1, S2 MATH1012 Mathematical Theory and Methods
Prerequisites:
Mathematics Specialist ATAR
or
MATH1722 Mathematics Foundations: Specialist
or
equivalent
Co-requisites:
Nil
Incompatibility:
Nil
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.

Availability Unit code Unit name unit requirements
S1, S2 CHEM1003 Introductory Chemistry
Prerequisites:
Nil
Co-requisites:
Nil
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 )
Co-requisites:
Nil
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 )
Co-requisites:
Nil
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
Co-requisites:
Nil
Incompatibility:
CITS1002 Programming and System
S1 CITS2200 Data Structures and Algorithms
Prerequisites:
CITS1001 Software Engineering with Java and ( Mathematics Methods ATAR
or
MATH1721 Mathematics Foundations: Methods
or
equivalent )
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS2211 Discrete Structures
Prerequisites:
MATH1721 Mathematics Foundations: Methods and completion of 6 points of programming-based units
Co-requisites:
Nil
Incompatibility:
Nil
S1, S2 CITS2401 Computer Analysis and Visualisation
Prerequisites:
ATAR Subject(s) Mathematics Methods
or
MATH1721 Mathematics Foundations: Methods
or
equivalent
or
Enrolment in ( MJD-AGTDM Agricultural Science and Technology
or
MJD-IEMDM Integrated Earth and Marine Sciences
or
MJD-MARDM Marine Science MJD-AGTEC Agricultural Technology MJD-MARCP Marine and Coastal Processes and SCIE1500 Analytical Methods for Scientists )
Co-requisites:
Nil
Incompatibility:
CITS1401 Computational Thinking with Python
NS GENG2000 Engineering Practice 2
Prerequisites:
Enrolment in Bachelor of Engineering (Honours)
or
an associated Combined Degree and ( GENG1000 Engineering Practice 1
or
ENSC1003 Introduction to Professional Engineering )
Co-requisites:
Nil
Incompatibility:
Nil
S1 STAT2063 Probabilistic Methods and their Applications
Prerequisites:
MATH1011 Multivariable Calculus and MATH1012 Mathematical Theory and Methods and Enrolment in ( BH011 Bachelor of Engineering (Honours)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science
or
CB014 Bachelor of Engineering (Honours)/ Bachelor of Philosophy (Honours) )
Co-requisites:
Nil
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
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS3005 Knowledge Representation
Prerequisites:
CITS2200 Data Structures and Algorithms and CITS2211 Discrete Structures
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS3007 Secure Coding
Prerequisites:
completion of 12 points of programming-based units
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS3200 Professional Computing
Prerequisites:
completion of at least 84 points, including ( CITS1401 Computational Thinking with Python
or
CITS1001 Software Engineering with Java ) and ( CITS2002 Systems Programming
or
CITS2200 Data Structures and Algorithms
or
CITS2402 Introduction to Data Science )
Co-requisites:
Nil
Incompatibility:
CITS5206 Professional Computing
N/A CITS3201 Software Requirements and Design
Prerequisites:
CITS1001 Software Engineering with Java (ID 296) and Course Enrolment ( BH011 Bachelor of Engineering (Honours) (ID 25)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce (ID 6)
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science (ID 4) )
Co-requisites:
Nil
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
Co-requisites:
Nil
Incompatibility:
CITS5505 Agile Web Development
S2 ELEC3020 Embedded Systems
Prerequisites:
( CITS1001 Software Engineering with Java (ID 296)
or
CITS2401 Computer Analysis and Visualisation (ID 343) ) and Course Enrolment ( BH011 Bachelor of Engineering (Honours) (ID 25)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce (ID 6)
Co-requisites:
Nil
Incompatibility:
ELEC4403 Digital and Embedded Systems
N/A GENG3000 Engineering Practice 3
Prerequisites:
Enrolment in Bachelor of Engineering (Honours)
or
an associated Combined Degree and ( GENG1000 Engineering Practice 1
or
ENSC1003 Introduction to Professional Engineering ) 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 in the ( HON-CMSSE Computer Science and Software Engineering [Honours]
or
the 62530 Master of Data Science )
or
( the 62550 Master of Professional Engineering and the SP-EELEC Electrical and Electronic Engineering specialisation
or
the SP-ESOFT Software Engineering specialisation )
or
( the BH008 Bachelor of Advanced Computer Science [Honours] and the MJD-ICYDM International Cybersecurity major )
or
( BH011 Bachelor of Engineering [Honours] and in the MJD-ESOFT Software Engineering major )
Co-requisites:
Nil
Incompatibility:
Nil
S1 CITS5501 Software Testing and Quality Assurance
Prerequisites:
Enrolment in in the 62510 Master of Information Technology
or
( the 62550 Master of Professional Engineering and the SP-ESOFT Software Engineering specialisation )
or
( the BH008 Bachelor of Advanced Computer Science [Honours] and the MJD-ICYDM International Cybersecurity major )
or
( the BH011 Bachelor of Engineering [Honours] and the MJD-ESOFT Software Engineering major ) and completion of 12 points of programming-based units
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS5503 Cloud Computing
Prerequisites:
Enrolment in in the ( HON-CMSSE Computer Science and Software Engineering [Honours]
or
the 62510 Master of Information Technology
or
the 62530 Master of Data Science
or
the 42630 Master of Business Analytics )
or
( the 62550 Master of Professional Engineering and the EP-SOFT Software Engineering specialisation )
or
( the BH008 Bachelor of Advanced Computer Science [Honours]
or
the MJD-ICYDM International Cybersecurity major
or
the MJD-CDSDM Computing and Data Science major ) and completion of 12 points of programming-based units
Co-requisites:
Nil
Incompatibility:
Nil
S2 CITS5507 High Performance Computing
Prerequisites:
Enrolment in in the ( 62510 Master of Information Technology
or
the 62530 Master of Data Science )
or
( the 62550 Master of Professional Engineering and the SP-ESOFT Software Engineering specialisation )
or
( the BH011 Bachelor of Engineering [Honours] and the MJD-ESOFT Software Engineering major ) and completion of 12 points of programming-based units
Co-requisites:
Nil
Incompatibility:
CITS3402 High Performance Computing and SHPC4002 Advanced Computational Physics
N/A GENG4411 Engineering Research Project Part 1
Prerequisites:
Atleast Level 3 24 Points Unit(s) BH011 Bachelor of Engineering (Honours) (ID 25) and Course Enrolment ( BH011 Bachelor of Engineering (Honours) (ID 25)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce (ID 6)
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science (ID 4) )
Co-requisites:
Nil
Incompatibility:
Nil
N/A GENG4412 Engineering Research Project Part 2
Prerequisites:
GENG4511 Engineering Research Project Part 1 (ID 8024) and Course Enrolment ( BH011 Bachelor of Engineering (Honours) (ID 25)
or
CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce (ID 6)
or
CB004 Bachelor of Engineering (Honours)/ Bachelor of Science (ID 4) )
Co-requisites:
Nil.
Incompatibility:
Nil.
S1, S2 GENG5010 Professional Engineering Portfolio
Prerequisites:
completion of at least 60 points towards the Master of Professional Engineering (MPE)
or
156 points towards the Bachelor of Engineering (Honours)
Co-requisites:
Nil
Incompatibility:
GENG5000 Professional Practicum Report
S1, S2 GENG5505 Project Management and Engineering Practice
Prerequisites:
enrolment in the Master of Professional Engineering
or
the Master of Information Technology
or
the Master of Engineering in Oil and Gas
or
the Master of Data Science
or
the Master of Ocean Leadership
or
the Master of Renewable and Future Energy
Co-requisites:
Nil.
Incompatibility:
Nil.
S1, S2 GENG5507 Risk, Reliability and Safety
Prerequisites:
enrolment in the Master of Professional Engineering
or
the Master of Business and Engineering Asset Management
or
the Master of Information Technology
or
the Master of Engineering in Oil and Gas
or
the Master of Renewable and Future Energy. This unit is also available to students in the Master of Ocean Leadership with the approval of the course coordinator and completion of an undergraduate major in Engineering Science
or
equivalent.
Co-requisites:
Nil.
Incompatibility:
Nil.