Faculty of Engineering

Software Engineering (2022)


Note: This course version applies only to students first enrolling in 2022.
WARNING: This course version is currently under review and is subject to change.


1. Overview

Course: Software Engineering (2022)
CP Required: 192
Min FT Duration: 4.00 Years
Min PT Duration: 4.00 Years
Faculty/School: Faculty of Engineering
Years Offered: 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015

2. Requirements

Summary

In summary the requirements are:

Students must complete 192 credit points as follows:

► 6 credit points of Introductory Computing units table

► 12 credit points of Foundation Mathematics units table

► 30 credit points of Project table

► The Professional Engagement Program (PEP) units comprising ENGP1001 (0cp), ENGP1002 (0cp), ENGP1003 (0cp), ENGP2001 (0cp), ENGP2002 (0cp), ENGP2003 (0cp), ENGP3001 (0cp) and ENGP3002 (0cp)

► 96 credit points of Software Stream core units

► 18 credit points maximum of Software Stream L1000/2000 electives

► 24 credit points minimum of Software Stream L3000+ electives

► 6 credit points of Free Electives (Engineering Electives, or a Table S elective)

The completion of a specialisation is not mandatory. If a student chooses to do a specialisation, it must be completed within the 192 credit points described above.

Advanced units in Maths and Science

Most units of study offered by the Science Faculty on the list of core requirements can be replaced by an equivalent advanced level unit; subject to prerequisite conditions (as required by the Faculty of Science) being met. Students considering doing advanced options should seek advice from their department before enrolling.

Dalyell Scholars Program

Unit substitutions may be available for students enrolled in the Dalyell Scholars Program, depending on their year of commencement and degree. Dalyell Scholars can view the Canvas page for further information specific to their circumstances: https://canvas.sydney.edu.au/courses/7156/pages/enrolment-options-for-dalyell-scholars

Faculty Resolutions

Details of relevant Faculty resolutions are available via the university handbook site at: http://sydney.edu.au/handbooks/

3. Semesters

Year 1 - Semester 1

Type CP CP From
3 Select from MATH1021: Calculus of One Variable
3 Select from MATH1002: Linear Algebra
0 Select from ENGP1001: Professional Engagement Program 1A


Note: All students must enrol in ENGP1001 in their first semester of enrolment.
6 Select from Unit Block:
Software Stream 1000/2000 Level Electives
6 Select from INFO1110: Introduction to Programming
6 Select from ELEC1005: Introduction to Software Engineering

Note: From 2024, 3cp Math units are replaced by new 6cp units MATH1061 and MATH1062. Students who have not yet completed all 3cp Math units can use this interactive tool on Canvas for enrolment advice: https://canvas.sydney.edu.au/courses/2806/pages/mathematics-changes-in-2024

Year 1 - Semester 2

Type CP CP From
3 Select from MATH1023: Multivariable Calculus and Modelling
6 Select from ELEC1601: Introduction to Computer Systems
3 Select from MATH1005: Statistical Thinking with Data
6 Select from INFO1113: Object-Oriented Programming
6 Select from Unit Block:
Free Electives
0 Select from ENGP1002: Professional Engagement Program 1B

Note: From 2024, 3cp Math units are replaced by new 6cp units MATH1061 and MATH1062. Students who have not yet completed all 3cp Math units can use this interactive tool on Canvas for enrolment advice: https://canvas.sydney.edu.au/courses/2806/pages/mathematics-changes-in-2024

Year 2 - Semester 1

Type CP CP From
6 Select from COMP2017: Systems Programming
6 Select from COMP2123: Data Structures & Algorithms
6 Select from ISYS2110: Analysis & Design of Web Information Systems
6 Select from MATH2069: Discrete Mathematics and Graph Theory
0 Select from ENGP1003: Professional Engagement Program 1C

Year 2 - Semester 2

Type CP CP From
6 Select from SOFT2412: Agile Software Development Practices
6 Select from SOFT2201: Software Construction and Design 1
6 Select from ISYS2120: Data & Information Management
6 Select from ENGG2112: Multi-disciplinary Engineering
0 Select from ENGP2001: Professional Engagement Program 2A

Year 3 - Semester 1

Type CP CP From
6 Select from SOFT3202: Software Construction and Design 2
0 Select from ENGP2002: Professional Engagement Program 2B
6 Select from Unit Block:
Software Stream 3000+ Level Elective Units
List
6 Select from Unit Blocks:
Software Stream 1000/2000 Level Electives
Software Stream 3000+ Level Elective Units
6 Select from Unit Block:
Software Stream 3000+ Level Elective Units

Year 3 - Semester 2

Type CP CP From
6 Select from SOFT3888: Software Development Project
6 Select from INFO3616: Principles of Security and Security Engineering
6 Select from Unit Block:
Software Stream 3000+ Level Elective Units
6 Select from ELEC3609: Internet Software Platforms
0 Select from ENGP2003: Professional Engagement Program 2C

Year 4 - Semester 1

Type CP CP From
6 Select from ELEC5618: Software Quality Engineering
6 Select from Unit Block:
Software Stream 3000+ Level Elective Units
0 Select from ENGP3001: Professional Engagement Program 3A
6 Select from ELEC4712: Thesis A
6 Select from COMP5348: Enterprise Scale Software Architecture


Note: COMP5348 is discontinued. Students may take any of COMP4426, COMP4347, COMP4349 or ELEC5620 (from Software Specialist Electives collection) in place of this unit

Year 4 - Semester 2

Type CP CP From
6 Select from Unit Block:
Software Stream 3000+ Level Elective Units
6 Select from ELEC5619: Object Oriented Application Frameworks
6 Select from ELEC4713: Thesis B
6 Select from ENGG3112: Interdisciplinary Engineering
0 Select from ENGP3002: Professional Engagement Program 3B

4. Pathways

Specialisation in Computer Engineering

Type CP CP From
18 Select from ELEC3506: Communications Networks
ELEC3607: Embedded Systems
ELEC3608: Computer Architecture
6 Select from COMP3520: Operating Systems Internals
ELEC3104: Engineering Electromagnetics
ELEC3304: Control
ELEC3305: Digital Signal Processing
ELEC3404: Electronic Circuit Design
ELEC3702: Management for Engineers
ELEC5405: Building Microchips: From Theory to Practice

Note: Please check the prerequisites for the higher level units in this major and ensure you will be able to complete them prior to undertaking the higher level units.

Specialisation in Intelligent Information Engineering

Type CP CP From
18 Select from ELEC5304: Intelligent Visual Signal Understanding
ELEC5307: Advanced Signal Processing with Deep Learning
ELEC5622: Signals, Software and Health
6 Select from ELEC3305: Digital Signal Processing
ELEC3506: Communications Networks
ELEC5305: Acoustics, Speech and Signal Processing
ELEC5306: Video Intelligence and Compression
ELEC5308: Intelligent Information Engineering Practice
ELEC5516: Electrical and Optical Sensor Design
ELEC5517: Software Defined Networks
ELEC5701: Technology Venture Creation [not offered in 2021]

Specialisation in Internet of Things (IoT)

Type CP CP From
30 Select from ELEC3506: Communications Networks
ELEC5509: Mobile Networks
ELEC5514: IoT Wireless Sensing and Networking
ELEC5517: Software Defined Networks
ELEC5518: IoT for Critical Infrastructures
6 Select from COMP5047: Pervasive Computing
COMP5216: Mobile Computing
COMP5426: Parallel and Distributed Computing
ELEC5208: Intelligent Electricity Networks
ELEC5508: Wireless Engineering
ELEC5616: Computer and Network Security
ELEC5760: Intelligent Networked Control

Note: Please check the prerequisites for the higher level units in this major and ensure you will be able to complete them prior to undertaking the higher level units.

5. Unit Blocks

Block 0 - Introductory Computing Units (Min CP: 6,Max CP: 6)

Unit Code Unit Name CP Sessions Offered
ENGG1810 Introduction to Engineering Computing 6 Semester 1
Semester 2
Int February
INFO1110 Introduction to Programming 6 Semester 1
Semester 2
INFO1910 Introduction to Programming (Advanced) 6 Semester 1
Semester 2

Note: Students must complete:

-6cp from ENGG1810 or (INFO1110 or INFO1910). For Software stream students it is recommended that INFO1110 is taken.

Block 1 - Foundation Mathematics Units (Min CP: 12,Max CP: 12)

Unit Code Unit Name CP Sessions Offered
MATH1002 Linear Algebra 3 Semester 1
Semester 2
Summer Main
MATH1005 Statistical Thinking with Data 3 Semester 1
Semester 2
Int January
MATH1021 Calculus of One Variable 3 Semester 1
Semester 2
MATH1023 Multivariable Calculus and Modelling 3 Semester 1
Semester 2
MATH1902 Linear Algebra (Advanced) 3 Semester 1
MATH1905 Statistics (Advanced) 3 Semester 2
MATH1921 Calculus of One Variable (Adv) 3 Semester 1
MATH1923 Multivariable Calculus and Modelling (Adv) 3 Semester 2

Note: Complete a minimum of 12cp including:

- Exactly 12cp of MATH1xxx units: MATH1021 Calculus of One Variable (3cp) AND MATH1002 Linear Algebra (3cp) AND MATH1023 Multivariable Calculus and Modelling (3cp) AND MATH1005 Statistics (3cp)

Block 2 - Projects Table (Min CP: 30,Max CP: 30)

Unit Code Unit Name CP Sessions Offered
AERO1560 Introduction to Aerospace Engineering 6 Semester 1
BMET1960 Biomedical Engineering 1A 6 Semester 1
CHNG1108 Introduction to Chemical Engineering 6 Semester 1
CIVL1900 Introduction to Civil Engineering 6 Semester 1
ELEC1004 Practical Introduction to Electrical Engineering 6 Semester 1
ELEC1005 Introduction to Software Engineering 6 Semester 1
ELEC4712 Thesis A 6 Semester 1
Semester 2
ELEC4713 Thesis B 6 Semester 1
Semester 2
ENGG2112 Multi-disciplinary Engineering 6 Semester 1
Semester 2
ENGG3112 Interdisciplinary Engineering 6 Semester 1
Semester 2
MECH1560 Introduction to Mechanical Engineering 6 Semester 1
MTRX1701 Introduction to Mechatronic Engineering 6 Semester 1

Note: - Students are to select the introduction unit relevant to their stream. Students in Software Engineering stream take ELEC1005.

- Students enrolled in the Dalyell Stream may count any Dalyell unit in place of ENGG2112 and may count any Engineering Dalyell unit in place of ENGG3112

- Students are to select the thesis units relevant to their stream. Aeronautical, Mechanical and Mechatronic students are to enrol in the AMME coded units. Students in both Electrical and Software are to enrol in the ELEC coded units.

Block 3 - Professional Engagement Program (PEP) Units

Unit Code Unit Name CP Sessions Offered
ENGP1001 Professional Engagement Program 1A 0 Semester 1
Semester 2
ENGP1002 Professional Engagement Program 1B 0 Semester 1
Semester 2
ENGP1003 Professional Engagement Program 1C 0 Semester 1
Semester 2
ENGP2001 Professional Engagement Program 2A 0 Semester 1
Semester 2
ENGP2002 Professional Engagement Program 2B 0 Semester 1
Semester 2
ENGP2003 Professional Engagement Program 2C 0 Semester 1
Semester 2
ENGP3001 Professional Engagement Program 3A 0 Semester 1
Semester 2
ENGP3002 Professional Engagement Program 3B 0 Semester 1
Semester 2

Note: -Candidates for the Bachelor of Engineering Honours must complete the Professional Engagement Program units of study.

- Candidates must enrol in ENGP1001 in their first semester of study

Block 4 - Software Stream Core (Min CP: 96,Max CP: 96)

Unit Code Unit Name CP Sessions Offered
COMP2017 Systems Programming 6 Semester 1
COMP2123 Data Structures & Algorithms 6 Semester 1
Semester 2
COMP5348 Enterprise Scale Software Architecture 6 Semester 2
ELEC1601 Introduction to Computer Systems 6 Semester 1
Semester 2
ELEC3609 Internet Software Platforms 6 Semester 2
ELEC5618 Software Quality Engineering 6 Semester 1
ELEC5619 Object Oriented Application Frameworks 6 Semester 2
INFO1113 Object-Oriented Programming 6 Semester 1
Semester 2
INFO3616 Principles of Security and Security Engineering 6 Semester 2
ISYS2110 Analysis & Design of Web Information Systems 6 Semester 1
ISYS2120 Data & Information Management 6 Semester 2
MATH2069 Discrete Mathematics and Graph Theory 6 Semester 1
SOFT2201 Software Construction and Design 1 6 Semester 2
SOFT2412 Agile Software Development Practices 6 Semester 2
SOFT3202 Software Construction and Design 2 6 Semester 1
SOFT3888 Software Development Project 6 Semester 2

Note: COMP5348 is discontinued. Students may take any of COMP4426, COMP4347, COMP4349 or ELEC5620 (from Software Specialist Electives collection) in place of this unit

Block 5 - Software Stream 1000/2000 Level Electives (Max CP: 18)

Unit Code Unit Name CP Sessions Offered
BUSS1030 Accounting, Business and Society 6 Semester 1
Semester 2
COMP2022 Models of Computation 6 Semester 2
COMP2823 Data Structures & Algorithms (Adv) 6 Semester 1
COMP2922 Models of Computation (Adv) 6 Semester 2
DATA1002 Informatics: Data and Computation 6 Semester 2
DATA1902 Informatics: Data and Computation (Advanced) 6 Semester 2
DATA2001 Data Science: Big Data and Data Diversity 6 Semester 1
DATA2901 Big Data and Data Diversity (Advanced) 6 Semester 1
ELEC2100 Fundamentals of Elec and Electronic Eng 6 Semester 1
INFO2222 Computing 2 Usability and Security 6 Semester 1
ISYS2160 Information Systems in the Internet Age 6 Semester 2
MATH2061 Linear Mathematics and Vector Calculus 6 Semester 1
Summer Main
MKTG1001 Marketing Principles 6 Semester 1
Semester 2
PHYS1001 Physics 1 (Regular) 6 Semester 1
PHYS1003 Physics 1 (Technological) 6 Semester 2
PHYS2213 Physics 2EE 6 Semester 2

Note: 1st and 2nd year Single Degree Electives

Block 6 - Software Stream 3000+ Level Elective Units (Min CP: 24,Max CP: 42)

Unit Code Unit Name CP Sessions Offered
COMP3027 Algorithm Design 6 Semester 1
COMP3221 Distributed Systems 6 Semester 1
COMP3308 Introduction to Artificial Intelligence 6 Semester 1
COMP3419 Graphics and Multimedia 6 Semester 2
COMP3520 Operating Systems Internals 6 Semester 2
COMP3530 Discrete Optimization 6 Semester 2
COMP3608 Introduction to Artificial Intelligence (Adv) 6 Semester 1
COMP3927 Algorithm Design (Adv) 6 Semester 1
COMP4270 Randomised and Advanced Algorithms 6 Semester 2
COMP4313 Large Scale Networks 6 Semester 1
COMP4318 Machine Learning and Data Mining 6 Semester 1
Semester 2
COMP4328 Advanced Machine Learning 6 Semester 2
COMP4329 Deep Learning 6 Semester 1
COMP4338 Advanced Data Models 6 Semester 2
COMP4347 Web Application Development 6 Semester 1
COMP4348 Enterprise Scale Software Architecture 6 Semester 2
COMP4349 Cloud Computing 6 Semester 1
COMP4405 Digital Media Computing 6 Semester 1
COMP4415 Multimedia Design and Authoring 6 Semester 2
COMP4416 Advanced Network Technologies 6 Semester 2
COMP4424 Information Technology in Biomedicine 6 Semester 1
COMP4425 Multimedia Retrieval 6 Semester 1
COMP4427 Usability Engineering 6 Semester 1
COMP4445 Computational Geometry 6 Semester 1
COMP4446 Natural Language Processing 6 Semester 1
COMP4448 Visual Analytics 6 Semester 1
Semester 2
COMP4530 Discrete Optimisation 6 Semester 2
COMP4617 Empirical Security Analysis and Engineering 6 Semester 2
COMP4618 Applied Cybersecurity 6 Semester 2
COMP5047 Pervasive Computing 6 Semester 2
COMP5216 Mobile Computing 6 Semester 2
COMP5426 Parallel and Distributed Computing 6 Semester 1
DATA3404 Scalable Data Management 6 Semester 1
DATA3406 Human-in-the-Loop Data Analytics 6 Semester 2
DATA4207 Data Analysis in the Social Sciences 6 Semester 1
ELEC3104 Engineering Electromagnetics 6 Semester 1
ELEC3203 Electricity Networks 6 Semester 1
ELEC3204 Power Electronics and Applications 6 Semester 1
ELEC3206 Electrical Energy Conversion Systems 6 Semester 2
ELEC3304 Control 6 Semester 2
ELEC3305 Digital Signal Processing 6 Semester 1
ELEC3404 Electronic Circuit Design 6 Semester 1
ELEC3505 Communications 6 Semester 1
ELEC3506 Communications Networks 6 Semester 2
ELEC3607 Embedded Systems 6 Semester 1
ELEC3608 Computer Architecture 6 Semester 2
ELEC3610 E-Business Analysis and Design 6 Semester 1
ELEC3612 Pattern Recognition and Machine Intelligence 6 Semester 1
ELEC3702 Management for Engineers 6 Semester 2
ELEC3802 Fundamentals of Biomedical Engineering 6 Semester 1
ELEC3803 Bioelectronics [not offered in 2021] 6 Semester 2
ELEC4505 Digital Communication Systems 6 Semester 1
ELEC5101 Antennas and Propagation 6 Semester 2
ELEC5203 Topics in Power Engineering [not offered in 2021] 6 Semester 2
ELEC5204 Power Systems Analysis and Protection 6 Semester 1
ELEC5205 High Voltage Engineering 6 Semester 2
ELEC5206 Sustainable Energy Systems 6 Semester 2
ELEC5207 Advanced Power Conversion Technologies 6 Semester 2
ELEC5208 Intelligent Electricity Networks 6 Semester 1
ELEC5211 Power System Dynamics and Control 6 Semester 1
ELEC5212 Power System Planning and Markets 6 Semester 2
ELEC5304 Intelligent Visual Signal Understanding 6 Semester 1
ELEC5305 Acoustics, Speech and Signal Processing 6 Semester 2
ELEC5306 Video Intelligence and Compression 6 Semester 1
ELEC5307 Advanced Signal Processing with Deep Learning 6 Semester 2
ELEC5308 Intelligent Information Engineering Practice 6 Semester 2
ELEC5405 Building Microchips: From Theory to Practice 6 Semester 1
ELEC5507 Error Control Coding 6 Semester 1
ELEC5508 Wireless Engineering 6 Semester 2
ELEC5509 Mobile Networks 6 Semester 1
ELEC5510 Satellite Communication Systems 6 Semester 2
ELEC5511 Optical Communication Systems 6 Semester 1
ELEC5514 IoT Wireless Sensing and Networking 6 Semester 2
ELEC5516 Electrical and Optical Sensor Design 6 Semester 1
ELEC5517 Software Defined Networks 6 Semester 2
ELEC5616 Computer and Network Security 6 Semester 1
ELEC5620 Model Based Software Engineering 6 Semester 2
ELEC5622 Signals, Software and Health 6 Semester 2
ELEC5701 Technology Venture Creation [not offered in 2021] 6 Semester 2
ELEC5760 Intelligent Networked Control 6 Semester 2
INFO3315 Human-Computer Interaction 6 Semester 2
INFO3406 Introduction to Data Analytics [not offered in 2020] 6 Semester 2
INFO4491 Services Science Management and Engineering 6 Semester 2
ISYS3401 Information Technology Evaluation 6 Semester 1
ISYS3402 Decision Analytics & Support Systems [not running in 2019] 6 Semester 2
ISYS3888 Information Systems Project 6 Semester 2
ISYS4450 Knowledge Management Systems 6 Semester 1
SOFT3410 Concurrency for Software Development 6 Semester 2

Block 7 - Free Electives (Max CP: 6)

Note: Students may take 6 credit points of free electives to complete the total number of credit points for their degree. Students may take the following units of study as free electives, provided they satisfy any prerequisite, quota, departmental permission or any other requirements of the units, and the units are not essentially the same or prohibited units for any of the other units in their degree.

(1) Any units of study from the Faculty of Engineering available to undergraduate students

(2) Any unit of study from Table S available to undergraduate students