This module uses formal techniques to explore the specification, design and implementation of computer systems. It will cover more advanced features of specification and introduce data and functional refinement, considering how a system design may be modified in a variety of practical ways. Refining the specification to code is an important step in the software life-cycle. This module presents both the theoretical basis for this and practical means of refinement from system specification to program code.
To study methods for designing, analysing and programming complex computing systems.
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Revision of sets, relations, functions and sequences.
Revision of basic specification skills.
Introduction to development tool:
By the end of the module, students should be able to:
Please see Talis Aspire link for most up to date list.
View reading list on Talis Aspire
Type | Required |
---|---|
Lectures | 20 sessions of 1 hour (13%) |
Supervised practical classes | 10 sessions of 1 hour (7%) |
Private study | 120 hours (80%) |
Total | 150 hours |
Background reading;
Completion of exercise sheets;
Revision;
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Practical assignment 1 | 20% | Yes (extension) | |
Assignment 1: practical coursework task |
|||
Practical assignment 2 | 20% | Yes (extension) | |
Assignment 2: practical coursework task |
|||
In-person Examination | 60% | No | |
2 hour exam
|
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
In-person Examination - Resit | 100% | No | |
CS412 Examination resit
|
Individual written feedback on each assignment.
MEng students must have studied the material in CS130, CS131, CS262
This module is Optional for:
This module is Option list B for: