Software Engineering major (MJD-ESOFT)

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.

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

Overview of unit sequence

Software Engineering is a degree-specific double major comprising:

  • nine Level 1 units
  • six Level 2 units
  • eight Level 3 units
  • nine Level 2 complementary 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:
( Course Enrolment in the BH011 Bachelor of Engineering [Honours]
or
the CB006 Bachelor of Engineering [Honours] / Bachelor of Commerce
or
the CB004 Bachelor of Engineering [Honours] / Bachelor of Science
or
the CB014 Bachelor of Engineering [Honours] / Bachelor of Philosophy [Honours] )
Co-requisites:
Nil
Incompatibility:
ENSC2003 Engineering Electrical Fundamentals and ENSC3020 Digital Embedded Systems
NS GENG1000 Engineering Practice 1
Prerequisites:
( Course Enrolment in the BH011 Bachelor of Engineering [Honours]
or
the CB006 Bachelor of Engineering [Honours] / Bachelor of Commerce
or
the CB004 Bachelor of Engineering [Honours] / Bachelor of Science
or
the CB014 Bachelor of Engineering [Honours] / Bachelor of Philosophy [Honours] )
Co-requisites:
Nil
Incompatibility:
Nil
S1, S2 GENG1010 Introduction to Engineering
Prerequisites:
( Course Enrolment in the BH011 Bachelor of Engineering [Honours]
or
the CB006 Bachelor of Engineering [Honours] / Bachelor of Commerce
or
the CB004 Bachelor of Engineering [Honours] / Bachelor of Science
or
the CB014 Bachelor of Engineering [Honours] / Bachelor of Philosophy [Honours] )
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

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:
( Course Enrolment 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:
Nil
S1 STAT2063 Probabilistic Methods and their Applications
Prerequisites:
( Enrolment (other than course) in the MJD-EBMEG Biomedical Engineering major
or
the MJD-EELEC Electrical and Electronic Engineering major
or
the MJD-EMECH Mechanical Engineering major
or
the MJD-ESOFT Software Engineering major ) and MATH1011 Multivariable Calculus and MATH1012 Mathematical Theory and Methods
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
GENG3000

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)
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.

Choosing your degree-specific major

General degrees

You must satisfy the requirements of a degree-specific major before you complete your course. The flexible structure of an undergraduate course allows you to try out a number of different subjects to see what interests you before nominating your degree-specific major. You have the choice to either nominate your degree-specific major when you first enrol in the course or delay nominating it until your second year.

To plan the first year of your study without nominating a degree-specific major, you are advised to choose units that will pave the way to two or more degree-specific majors that are of interest to you. For examples of the choice of units available in first year, search the first-year study plans .

To fully understand the structure of an undergraduate course, read the course structure information and the Undergraduate Degree Course Rules.

The following example illustrates how the Software Engineering degree-specific major can be included in the Bachelor of Engineering (Honours) or Bachelor of Engineering (Honours)/ Bachelor of Science or Bachelor of Engineering (Honours)/ Bachelor of Commerce or Bachelor of Engineering (Honours)/ Bachelor of Philosophy (Honours) course.

There are more choices open to you. For more examples, search the study plans .

Specialised degrees – Bachelor of Advanced Computer Science (Honours), Bachelor of Automation and Robotics, Bachelor of Environmental Design, Bachelor of Music

You must satisfy the requirements of the degree-specific major in your degree before you complete your course.

Bachelor of Philosophy, Politics and Economics

This comprehensive degree does not allow you to choose a double major.