Table of Contents
SET09102 Software Engineering
Software engineering is about more than writing code and building applications — it’s about developing systems that are secure, maintainable, and ethical. As AI tools become increasingly integrated into software development, the ability to harness them effectively depends on strong foundational skills. Engineers must control and guide AI systems, rather than relying on them blindly. Their knowledge of software quality and development processes allows them to do this and sets them apart from casual coders. This module focuses on core competencies such as design, testing, security, and ethical AI use, ensuring that engineers maintain full command over their tools and decisions. It builds on the basic skills that you should have developed already. Some things are therefore assumed and will not be covered directly in the notes or practical exercises. These include
- Familiarity with UML diagrams.
- Understanding of software engineering methods such as those covered in SET08103.
- Ability to install and configure software independently.
You are expected to cultivate a proactive, problem-solving mindset and a desire to develop competence as a responsible software engineer. The practical work of the module makes use of C# as the main development language; however, this is not a C# training course. Tutorial materials are proved to get up to speed and to complement materials available elsewhere on the internet. Professional engineers need to be able to adapt their existing knowledge to new contexts as technology progresses and being comfortable learning a new language is a key skill.
AI statement
Generative AI tools have been used in the preparation of this material. All generated content has been checked for accuracy and edited for context.
Copyright Notice
Use and copying of this material is permitted under the Apache 2.0 license with suitable attribution.
The authors accept no liability in the use of this material.