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.

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
  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
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
Incompatibility
CITS3004 Cybersecurity
S1, S2 CITS1401 Computational Thinking with Python
Prerequisites
Successful completion of
Mathematics Methods ATAR or equivalent
or MATH1721 Mathematics Foundations: Methods
or MATX1721 Mathematics Foundations
or
Enrolment in
62510 Master of Information Technology
or 62530 Master of Data Science
or BH011 Bachelor of Engineering (Honours)
Incompatibility
CITS2401 Computer Analysis and Visualisation
S1, S2 CITS1402 Relational Database Management Systems
Prerequisites

Successful completion of
Mathematics Applications ATAR or equivalent
or MATH1720 Mathematics Fundamentals or equivalent
or MATX1720 Mathematics Fundamentals

or Enrolment in 62510 Master of Information Technology
or 62530 Master of Data Science
Incompatibility
CITS2232 Databases
S2 ELEC1303 Digital Systems
Incompatibility
ENSC3020 Digital Embedded Systems
NS GENG1000 Engineering Practice 1
Prerequisites
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and GENG1010 Introduction to Engineering
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
or MATX1721 Mathematics Foundations
Co-requisites
MATH1722 Mathematics Foundations: Specialist or equivalent
Incompatibility
Unit(s) 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.

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 MATX1721 Mathematics Foundations
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 MATX1721 Mathematics Foundations
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 PHYX1001 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
Successful completion of
CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
or CITS2401 Computer Analysis and Visualisation

or
Enrolment in
62510 Master of Information Technology
and Successful completion of
CITS1401 Computational Thinking with Python
Incompatibility
CITS1002 Programming and System
S1 CITS2005 Object Oriented Programming
Prerequisites
ATAR Mathematics Methods
or MATH1721 Mathematics Foundations: Methods or equivalent
or MATX1721 Mathematics Foundations
or Enrolment in
62510 Master of Information Technology
and CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
or CITS2401 Computer Analysis and Visualisation
Incompatibility
CITS1001 Software Engineering with Java
or CITX1001 Software Engineering with Java
S1 CITS2200 Data Structures and Algorithms
Prerequisites
CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
and
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods or equivalent
or MATX0721 Mathematics Foundations: Methods
S2 CITS2211 Discrete Structures
Prerequisites
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods
or MATX1721 Mathematics Foundations
and CITS1401 Computational Thinking with Python or equivalent
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
S1 STAT2063 Probabilistic Methods and their Applications
Prerequisites
MATH1011 Multivariable Calculus
or MATX1011 Multivariable Calculus
and
MATH1012 Mathematical Theory and Methods
or MATX1012 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
S1 CITS3007 Secure Coding
Prerequisites
Successful completion of
CITS2200 Data Structures and Algorithms
or CITS2002 Systems Programming
or CITS2005 Object Oriented Programming
or CITS2402 Introduction to Data Science
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 CITX1001 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 CITX1001 Software Engineering with Java
or CITS1401 Computational Thinking with Python
or CITX1401 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 CITX1001 Software Engineering with Java
or CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
or CITS2005 Object Oriented Programming
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
and ENSC3020 Digital 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
or BH008 Bachelor of Advanced Computer Science [Honours]
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 96 points
and Successful completion of
CITS3002 Computer Networks
S2 CITS5501 Software Testing and Quality Assurance
Prerequisites

Enrolment in
62510 Master of Information Technology
or BH008 Bachelor of Advanced Computer Science [Honours]

and Successful completion of CITS2002 Systems Programming
or CITS2005 Object Oriented Programming
or
Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and 120 Points
and CITS3301 Software Requirements and Design

or Enrolment in
62550 Master of Professional Engineering
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

Successful completion of
( CITS2002 Systems Programming
or CITS2005 Object Oriented Programming
or CITS2200 Data Structures and Algorithms
or CITS2402 Introduction to Data Science
or ( CITS1401 Computational Thinking with Python
and CITS4009 Computational Data Analysis

or BUSN5101 Programming for Business
and BUSN5002 Fundamentals of Business Analytics
)
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
S1, S2 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
S2 GENG4412 Engineering Research Project Part 2
Prerequisites
GENG4411 Engineering Research Project Part 1
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 Low Emission Energy Technologies
or 62560 Master of Renewable and Future Energy
or 73660 Master of Medical Physics
or

Enrolment in
Bachelor of Engineering (Honours) or an associated Combined Degree
and Successful completion of
120 Points and ( MATH1011 Multivariable Calculus
or MATX1011 Multivariable Calculus
and MATH1012 Mathematical Theory and Methods
or MATX1012 Mathematical Theory and Methods
)