Software Engineering

Course options and guidance for the Software Engineering topic area

What will I learn from courses in this topic?

Software Engineering comprises a wide range of areas, including usability and design; system security; performance optimization; software quality control through testing or formal verification; and software management. What you will learn depends on which of these areas you choose to focus on, and can range from practical techniques that will help you in later employment to more theoretical approaches and research in the area.

What courses are available?

Several areas within or closely related to Software Engineering have their own topic pages, and courses in these topics can be found below under Related Topics

We also offer the following additional Software Engineering courses not listed elsewhere.

Level 11 (MSc) courses

Level 10 courses

These courses are mainly intended for undergraduates, but may also be taken by MSc students.

Development courses

The following courses, while not specifically about Software Engineering, have a significant programming/development component, so could be relevant for students wanting to practice their Software Engineering skills.

Related topics

Computer systems and high-performance computing

Cyber security and privacy

Human-computer interaction and design