Extended 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.
Students should be aware that this major does not provide a pathway to an Honours.- Outcomes
Students are able to:
- demonstrate advanced problem solving and programming skills to facilitate software design and implementation
- apply professional knowledge and skills in software engineering principles, methodologies and practice
- extend knowledge in computing and software engineering through research, experimentation and analysis
- determine 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:
- BH011 Bachelor of Engineering (Honours)
- CB004 Bachelor of Engineering (Honours)/ Bachelor of Science*
- CB006 Bachelor of Engineering (Honours)/ Bachelor of Commerce*
- CB014 Bachelor of Engineering (Honours)/ Bachelor of Philosophy (Honours)*
- CB034 Bachelor of Engineering (Honours)/ Bachelor of Arts*
- CB030 Bachelor of Engineering (Honours) and Bachelor of Modern Languages*
*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 Plans
- BE Software Engineering (with Bridging) SEM-1-2025 [docx]
- BE Software Engineering (with Bridging) SEM-2-2025 [docx]
- BE Software Engineering SEM-1-2025 [docx]
- BE Software Engineering SEM-2-2025 [docx]
See study plans for more information.
Units
Key to availability of units:
- S1
- Semester 1
- S2
- Semester 2
- 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, S2 | CITS1003 | Introduction to Cybersecurity |
|
S1, S2 | CITS1401 | Computational Thinking with Python | |
S1, S2 | CITS1402 | Relational Database Management Systems |
|
S2 | ELEC1303 | Digital Systems |
|
NS | GENG1000 | Engineering Practice 1 |
|
S1, S2 | GENG1010 | Introduction to Engineering |
|
S1, S2 | MATH1011 | Multivariable Calculus |
|
S1, S2 | MATH1012 | Mathematical Theory and Methods |
|
S1, S2 | PHYS1001 | Physics for Scientists and Engineers |
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 |
|
S1, S2 | MATH1722 | Mathematics Foundations: Specialist |
|
S1, S2 | PHYS1030 | Physics Bridging Unit |
|
Level 2
Degree-specific major units
Take all units (30 points):
Availability | Unit code | Unit name | unit requirements |
---|---|---|---|
S2 | CITS2002 | Systems Programming |
|
S1 | CITS2005 | Object Oriented Programming |
|
S1 | CITS2200 | Data Structures and Algorithms |
|
S2 | CITS2211 | Discrete Structures |
|
NS | GENG2000 | Engineering Practice 2 |
|
S1 | STAT2063 | Probabilistic Methods and their Applications |
|
Level 3
Degree-specific major units
Take all units (42 points):
Availability | Unit code | Unit name | unit requirements |
---|---|---|---|
S1 | CITS3002 | Computer Networks |
|
S2 | CITS3005 | Knowledge Representation | |
S1 | CITS3007 | Secure Coding |
|
S1 | CITS3301 | Software Requirements and Design |
|
S1 | CITS3403 | Agile Web Development | |
S2 | CITS3501 | Software Testing and Quality Assurance |
|
S2 | ELEC3020 | Embedded Systems | |
NS | GENG3000 | Engineering Practice 3 |
|
Level 4
Degree-specific major units
Take all units (48 points):
Availability | Unit code | Unit name | unit requirements |
---|---|---|---|
S2 | CITS5503 | Cloud Computing |
|
S2 | CITS5507 | High Performance Computing |
|
S1 | CITS5551 | Software Engineering Design Project 1 |
|
S2 | CITS5552 | Software Engineering Design Project 2 | |
S1, S2 | GENG4411 | Engineering Research Project Part 1 |
|
S1, S2 | GENG4412 | Engineering Research Project Part 2 |
|
S1, S2 | GENG5010 | Professional Engineering Portfolio |
|
S1, S2 | GENG5505 | Project Management and Engineering Practice |
|
S1, S2 | GENG5507 | Risk, Reliability and Safety |