University of Oxford Logo University of OxfordSoftware Engineering - Home
On Facebook
Follow us on twitter
Linked in
Linked in
Google plus
Google plus
Stumble Upon
Stumble Upon


We offer a variety of courses, each addressing a different aspect of software engineering. Click on a subject name to read more about that subject. The courses are organised into two Schedules, corresponding to the two MScs. For each MSc, you must choose six courses from the corresponding schedule; but for the remaining four courses you may freely combine courses from both schedules.

Schedule I

Algorithmics (ALG)
Object-Oriented Design (OOD)
Object-Oriented Programming (OOP)
Design Patterns (DPA)
Software Testing (STE)
Robust Programming (ROP)
Database Design (DAT)
Knowledge Graphs (KGS)
Functional Programming (FPR)
Domain-Driven Design (DDD)
Concurrent Oriented Programming (CPR)
Agile Engineering Practices (APE)
Structured Data (STR)
Service Oriented Architectures (SOA)
Cloud Computing (CLO)
Embedded Software and Systems (ESS)
Things of the Internet (TOI)
Semantic Technologies (STC)
Software Engineering Mathematics (SEM)
State-Based Modelling (SBM)
Concurrency and Distributed Systems (CDS)
Performance Modelling (PMO)
Software Development Management (SDM)
Agile Methods (AGM)
Interaction Design (IDE)
Requirements Engineering (REN)
Management of Risk and Quality (MRQ)
Process Quality and Improvement (PRO)
Safety Critical Systems (SCS)
Enterprise Architecture (EAR)
Deep Neural Networks (DNN)
Quantum Computing (QUC)
Classical Machine Learning (CML)
Computer Vision (VIS)

Schedule II

Security Principles (SPR)
Secure Programming (SCP)
Trusted Computing Infrastructure (TCI)
Design for Security (DES)
Security Risk Analysis and Management (RIS)
People and Security (PAS)
Network Security (NES)
Cloud Security (CLS)
Forensics (FOR)
Data Security and Privacy (DAS)
Security and Incident Management (SIM)
Building Information Governance (BIG)
Mobile Systems Security (MSS)
Security in Wireless Networks (SWN)
Understanding and Mitigating Malware (MAL)
Cyber Threat Intelligence (CTI)

MSc in Software and Systems Security, NCSC certification

In addition to the standard requirements for the MSc in Software and Systems Security, National Cyber Security Centre (NCSC) certification requires a minimum of any 7 of our current offering of security courses (stated below) to be put forward and considered for the award of the MSc. For the remaining three courses you may freely combine courses from both schedules I and II (above). The courses are: