Software Engineering

Please check the current students website (Find a unit of study) for up-to-date information on units of study including availability.

 
For a standard enrolment plan for Software Engineering visit CUSP.

Unit outlines will be available through Find a unit outline.
 

Unit of study Credit points A: Assumed knowledge P: Prerequisites C: Corequisites N: Prohibition Session

Software Engineering Stream Combined Degrees

To qualify for the Bachelor of Engineering Honours component in the combined degree, students must complete the following:
(a) 42 credit points from the Engineering Core Table, consisting of:
(i) 18 credit points of Engineering Foundation units
(ii) 24 credit points of Project units
(iii) The requirements of the Professional Engagement Program
(b) 102 credit points from the Software Engineering Stream table, consisting of:
(i) 96 credit points of Stream Core units
(ii) 6 credit points of Stream Elective units
Stream Core units
ELEC1601
Introduction to Computer Systems
6    A HSC Mathematics extension 1 or 2
Semester 2
INFO1113
Object-Oriented Programming
6    P INFO1110 OR INFO1910 OR ENGG1810
N INFO1103 OR INFO1105 OR INFO1905
Semester 1
Semester 2
COMP2017
Systems Programming
6    P INFO1113 OR INFO1105 OR INFO1905 OR INFO1103
C COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
N COMP2129 OR COMP9017 OR COMP9129
Semester 1
COMP2123
Data Structures and Algorithms
6    P INFO1110 OR INFO1910 OR INFO1113 OR DATA1002 OR DATA1902 OR INFO1103 OR INFO1903
N INFO1105 OR INFO1905 OR COMP2823
Semester 1
ISYS2110
Analysis and Design of Web Info Systems
6    P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
N INFO2110
Semester 1
ISYS2120
Data and Information Management
6    A Programming skills
P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 OR INFO1003 OR INFO1903 OR DECO1012
N INFO2120 OR INFO2820 OR COMP5138
Semester 2
MATH2069
Discrete Mathematics and Graph Theory
6    P 6 credit points of MATH1XXX except (MATH1XX5 or MATH1111)
N MATH2011 or MATH2009 or MATH2969
Semester 1
SOFT2201
Software Construction and Design 1
6    P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
N INFO3220 OR COMP9201
Semester 2
SOFT2412
Agile Software Development Practices
6    P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
N COMP9412
Semester 2
ELEC3609
Internet Software Platforms
6    P (INFO1103 OR INFO1110 OR INFO1910) AND (INFO2110 OR ISYS2110) AND (INFO2120 OR INFO2820 OR ISYS2120)
N EBUS4001
Semester 2
INFO3616
Principles of Security and Security Eng
6    A (INFO1110 OR INFO1910) AND INFO1112 AND INFO1113 AND MATH1064. Knowledge equivalent to the above units is assumed. This means good programming skills in Python or a C-related language, basic networking knowledge, and skills from discrete mathematics. A technical orientation is absolutely required, especially capacity to become familiar with new technology without explicit supervision
N ELEC5616 OR INFO2315 OR CSEC3616
Semester 2
SOFT3202
Software Construction and Design 2
6    P SOFT2201
N INFO3220
Semester 1
SOFT3888
Software Development Project
6    A SOFT3202
P [18CP 2000-level or above units from SOFT or COMP or INFO]
N SOFT3413
Semester 2
COMP5348
Enterprise Scale Software Architecture

This unit of study is not available in 2022

6    A Experience with software development as covered in SOFT2412 or COMP9103 and also COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 (or equivalent UoS from different institutions).
Semester 1
ELEC5618
Software Quality Engineering
6    A Writing programs with multiple functions or methods in multiple files; design of complex data structures and combination in non trivial algorithms; use of an integrated development environment; software version control systems
Semester 1
ELEC5619
Object Oriented Application Frameworks
6    A Java programming, and some web development experience are essential. Databases strongly recommended
Semester 2
Stream Elective units
COMP3027
Algorithm Design
6    A MATH1004 OR MATH1904 OR MATH1064
P COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
N COMP2007 OR COMP2907 OR COMP3927
Semester 1
COMP3109
Programming Languages and Paradigms
6    P (COMP2017 or COMP2129) and (COMP2022 or COMP2922)
Semester 2
COMP3221
Distributed Systems
6    P (INFO1105 OR INFO1905) OR ((INFO1103 OR INFO1113) AND (COMP2123 OR COMP2823))
N COMP2121
Semester 1
COMP3308
Introduction to Artificial Intelligence
6    A Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab)
N COMP3608
Semester 1
COMP3419
Graphics and Multimedia
6    A Programming skills
P COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
Semester 2
COMP3520
Operating Systems Internals
6    P (COMP2017 OR COMP2129) AND (COMP2123 OR COMP2823 OR INFO1105 OR INFO1905)
Semester 2
COMP3530
Discrete Optimization
6    P COMP2123 OR COMP2823 OR COMP2007 OR COMP2907
Semester 2
COMP3608
Introduction to Artificial Intelligence (Adv)
6    A Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab)
P Distinction-level results in at least one 2000 level COMP or MATH or SOFT unit
N COMP3308


COMP3308 and COMP3608 share the same lectures, but have different tutorials and assessment (the same type but more challenging).
Semester 1
COMP3927
Algorithm Design (Adv)
6    A MATH1004 OR MATH1904 OR MATH1064
P Distinction level results in (COMP2123 OR COMP2823 OR INFO1105 OR INFO1905)
N COMP2007 OR COMP2907 OR COMP3027
Semester 1
DATA3404
Scalable Data Management
6    A This unit of study assumes that students have previous knowledge of database structures and of SQL. The prerequisite material is covered in DATA2001 or ISYS2120. Familiarity with a programming language (e.g. Java or C) is also expected
P DATA2001 OR DATA2901 OR ISYS2120 OR INFO2120 OR INFO2820
N INFO3504 OR INFO3404
Semester 1
DATA3406
Human-in-the-Loop Data Analytics
6    A Basic statistics, database management, and programming
P (DATA2001 OR DATA2901) AND (DATA2002 OR DATA2902)
Semester 2
ELEC3104
Engineering Electromagnetics
6    A Differential calculus, integral calculus, vector integral calculus; electrical circuit theory and analysis using lumped elements; fundamental electromagnetic laws and their use in the calculation of static fields
Semester 1
ELEC3203
Electricity Networks
6    A This unit of study assumes a competence in 1000 level MATH (in particular, the ability to work with complex numbers), in elementary circuit theory and in basic electromagnetics
Semester 1
ELEC3204
Power Electronics and Applications
6    A 1. Differential equations, linear algebra, complex variables, analysis of linear circuits. 2. Fourier theory applied to periodic and non-periodic signals. 3. Software such as MATLAB to perform signal analysis and filter design. 4. Familiarity with the use of basic laboratory equipment such as oscilloscope, function generator, power supply, etc. 5. Basic electric circuit theory and analysis
P ELEC2104
Semester 1
ELEC3206
Electrical Energy Conversion Systems
6    A Following concepts are assumed knowledge for this unit of study: familiarity with circuit theory, electronic devices, ac power, capacitors and inductors, and electric circuits such as three-phase circuits and circuits with switches, the use of basic laboratory equipment such as oscilloscope and power supply
P ELEC3203
Semester 2
ELEC3304
Control
6    A Specifically the following concepts are assumed knowledge for this unit: familiarity with basic Algebra, Differential and Integral Calculus, Physics; solution of linear differential equations, Matrix Theory, eigenvalues and eigenvectors; linear electrical circuits, ideal op-amps; continuous linear time-invariant systems and their time and frequency domain representations, Laplace transform, Fourier transform
P ELEC2302 AND (MATH2061 OR MATH2067 OR MATH2021 OR MATH2961 OR AMME2000)
N AMME3500
Semester 2
ELEC3305
Digital Signal Processing
6    A Familiarity with basic Algebra, Differential and Integral Calculus, continuous linear time-invariant systems and their time and frequency domain representations, Fourier transform, sampling of continuous time signals
Semester 1
ELEC3404
Electronic Circuit Design
6    A A background in basic electronics and circuit theory is assumed
Semester 1
ELEC3405
Communications Electronics and Photonics
6    A ELEC2104. A background in basic electronics and circuit theory is assumed
Semester 2
ELEC3505
Communications
6    P ELEC2302. Fourier transform, fundamental in signals and systems theory, convolution, and similar techniques
Semester 1
ELEC3506
Data Communications and the Internet
6      Semester 2
ELEC3607
Embedded Systems
6    A ELEC1601 AND ELEC2602. Logic operations, theorems and Boolean algebra, data representation, number operations (binary, hex, integers and floating point), combinational logic analysis and synthesis, sequential logic, registers, counters, bus systems, state machines, simple CAD tools for logic design, basic computer organisation, the CPU, peripheral devices, software organisation, machine language, assembly language, operating systems, data communications and computer networks
P ELEC1601 AND ELEC2602
Semester 1
ELEC3608
Computer Architecture
6    A ELEC3607. Knowledge of microprocessor systems (embedded systems architecture, design methodology, interfacing and programming) is required
P ELEC2602
Semester 2
ELEC3610
E-Business Analysis and Design
6    N EBUS3003
Semester 1
ELEC3612
Pattern Recognition and Machine Intelligence
6    A 1st year mathematics and 1st year Software Engineering/Electrical Engineering. Linear Algebra, Basic Programming skill
P MATH1002 or MATH1005
Semester 1
ELEC3702
Management for Engineers
6    N ENGG3005 or MECH3661
Semester 2
ELEC3802
Fundamentals of Biomedical Engineering

This unit of study is not available in 2022

6    A ELEC2004 or ELEC2104 A knowledge of basic electrical engineering is required: Ohm's law, Thevenin and Nortons' theorems, basic circuit theory involving linear resistors, capacitors and inductors, a basic knowledge of bipolar and field effect transistor theory, simplified theoretical mechanism of operation of transformers.
Semester 1
ELEC4505
Digital Communication Systems
6    P ELEC3505
Semester 1
ELEC5101
Antennas and Propagation
6      Semester 2
ELEC5203
Topics in Power Engineering

This unit of study is not available in 2022

6    A Competence with linear algebra, differential calculus, numerical methods and Matlab; basic programming skills (Python or Matlab); familiarity with basic physics
Semester 2
ELEC5204
Power Systems Analysis and Protection
6    A (ELEC3203 OR ELEC9203 OR ELEC5732) AND (ELEC3206 OR ELEC9206 OR ELEC5734). The unit assumes basic knowledge of circuits, familiarity with basic mathematics, competence with basic circuit theory and an understanding of three phase systems, transformers, transmission lines and associated modeling and operation of such equipment
Semester 1
ELEC5205
High Voltage Engineering

This unit of study is not available in 2022

6    A The following previous knowledge is assumed for this unit. Circuit analysis techniques, electricity networks, power system fundamentals.
P (ELEC3203 OR ELEC9203 OR ELEC5732) AND (ELEC3206 OR ELEC9206 OR ELEC5734)
Semester 2
ELEC5206
Sustainable Energy Systems
6    A A background in power electronics converters and control theory such as that covered in ELEC3204/9204 and ELEC3304/9304 is assumed
Semester 2
ELEC5207
Advanced Power Conversion Technologies
6    A ELEC3204
Semester 2
ELEC5208
Intelligent Electricity Networks
6    A Fundamentals of Electricity Networks, Control Systems and Telecommunications
Semester 1
ELEC5211
Power System Dynamics and Control
6    A ELEC3203 OR ELEC9203 OR ELEC5732. The assumed knowledge for learning this UoS is a deep understanding on circuit analysis and its applications in power system steady state analysis
Semester 1
ELEC5212
Power System Planning and Markets
6    A ELEC3203 OR ELEC9203 OR ELEC5732. The assumed knowledge for learning this UoS is power system steady state analysis
Semester 2
ELEC5213
Engineering Optimisation
6    A Linear algebra, differential calculus, and numerical methods. Competency at programming in a high-level language (such as Matlab or Python)
Semester 1
ELEC5304
Intelligent Visual Signal Understanding
6    A Mathematics (e.g. probability and linear algebra) and programming skills (e.g. Matlab/Java/Python/C++)
Semester 1
ELEC5305
Acoustics, Speech and Signal Processing
6    A (ELEC2302 OR ELEC9302) AND (ELEC3305 OR ELEC9305). Linear algebra, fundamental concepts of signals and systems as covered in ELEC2302/ELEC9302, fundamental concepts of digital signal processing as covered in ELEC3305/9305. It would be unwise to attempt this unit without the assumed knowledge- if you are not sure, please contact the instructor
Semester 2
ELEC5306
Video Intelligence and Compression
6    A Basic understanding of digital signal processing (filtering, DFT) and programming skills (e.g. Matlab/Java/Python/C++)
Semester 1
ELEC5307
Advanced Signal Processing with Deep Learning
6    A Mathematics (e.g., probability and linear algebra) and programming skills (e.g. Matlab/Java/Python/C++)
Semester 2
ELEC5308
Intelligent Information Engineering Practice
6    A Students must have a good understanding of Linear algebra and basic mathematics, Basic Programming skills in C, Python or Matlab
Semester 2
ELEC5507
Error Control Coding
6    A Fundamental mathematics including probability theory and linear algebra. Basic knowledge on digital communications. Basic MATLAB programming skills is desired
Semester 1
ELEC5508
Wireless Engineering
6    A Basic knowledge in probability and statistics, analog and digital communications, error probability calculation in communications channels, and telecommunications network
Semester 2
ELEC5509
Mobile Networks
6    A ELEC3505 AND ELEC3506. Basically, students need to know the concepts of data communications and mobile communications, which could be gained in one the following units of study: ELEC3505 Communications, ELEC3506 Data Communications and the Internet, or similar units. If you are not sure, please contact the instructor
Semester 1
ELEC5510
Satellite Communication Systems
6    A Knowledge of error probabilities, analog and digital modulation techniques and error performance evaluation studied in ELEC3505 Communications and ELEC4505 Digital Communication Systems, is assumed
Semester 2
ELEC5511
Optical Communication Systems
6    A (ELEC3405 OR ELEC9405) AND (ELEC3505 OR ELEC9505). Basic knowledge of communications, electronics and photonics
Semester 1
ELEC5512
Optical Networks
6    A Knowledge of digital communications, wave propagation, and fundamental optics
Semester 2
ELEC5514
IoT Wireless Sensing and Networking
6    A ELEC3305 AND ELEC3506 AND ELEC3607 AND ELEC5508
Semester 2
ELEC5516
Electrical and Optical Sensor Design
6    A Math Ext 1, fundamental concepts of signal and systems, fundamental electrical circuit theory and analysis
Semester 1
ELEC5517
Software Defined Networks
6    A ELEC3506 OR ELEC9506
Semester 2
ELEC5518
IoT for Critical Infrastructures
6      Semester 1
ELEC5616
Computer and Network Security
6    A A programming language, basic maths
Semester 1
ELEC5620
Model Based Software Engineering
6    A A programming language, basic maths
Semester 2
ELEC5622
Signals, Software and Health
6    A Mathematics (linear algebra and probabilities) and basic programming skills (python/matlab/C++/java)
Semester 2
INFO3315
Human-Computer Interaction
6    P 6 credit points of 1000-level programming units (INFO1110 or INFO1910 or INFO1113 or ENGG1810) and 12 credit points of 2000-level units from BAdvComp Table A
Semester 2
INFO3333
Computing 3 Management
6    P 12 credit points of 2000-level units
N INFO3402
Semester 1
INFO4444
Computing 4 Innovation
6    A Students should have knowledge of several different aspects of computing at the 3000-level
P INFO3333
N INFO4990
Semester 1
ISYS3401
Information Technology Evaluation
6    A MATH1005 OR MATH1905
P (INFO2110 OR ISYS2110) AND (INFO2120 OR ISYS2120) AND (ISYS2140 OR ISYS2160)
Semester 1
ISYS3888
Information Systems Project
6    P (INFO2110 OR ISYS2110) AND (INFO2120 OR ISYS2120) AND (ISYS2140 OR ISYS2160)
N INFO3600 OR ISYS3207 OR ISYS3400
Semester 2
SOFT3410
Concurrency for Software Development
6    P COMP2017 OR COMP2129
Semester 2