To provide knowledge and understanding of tools and techniques which support rigorous software engineering
Course Description: Link to Official Course Descriptor.
Pre-requisite course(s): F28SD Introduction to Software Design or equivalent.
Location: Dubai, Edinburgh.
The course addresses the challenges of engineering and modelling safe and secure software systems. It covers a range of rigorous processes and formal methods that support the development of high integrity software systems. From modelling and reasoning about designs through to code, students will experience a range of state-of-the-art static analysis tools and techniques. While theory based, the course has a strong practical element, drawing upon industrial case study material where appropriate.
Learning Outcomes: Subject Mastery
Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)
- Knowledge and understanding of a range of rigorous processes and formal methods that support the development of high integrity software systems.
- Critical understanding of the relationship between code level annotations and high-level formal specifications.
- Knowledge of the mechanisms that underlie advanced modelling and static analysis techniques.
- To be able to demonstrate a critical understanding of the relationship between code level annotations and flow analysis techniques.
- To be able to demonstarte a critical understanding of program proof and how it can be used to provide strong formal correctness guarantees
Learning Outcomes: Personal Abilities
Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT
- Conceptualize and define new abstract problems within the context of automated software development.
- Make informed judgements in situations in the absence of complete or consistent data.
- Exercise autonomy, initiative and creativity in the application of software engineering techniques.
- Demonstrate critical reflection. (PDP)
- Communicate with professional level peers, senior colleagues and specialists. (PDP)
Assessment Methods: Due to covid, assessment methods for Academic Year 2021/22 may vary from those noted on the official course descriptor. Please see:
- Maths (F1) Course Weightings 2021/22
- Computer Science (F2) Course Weightings 2021/22
- AMS (F7) Course Weightings 2021/22
SCQF Level: 10.