Module overview
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Understanding of tools (both processes and software) for managing group-work
- Knowledge of best-practises for managing small group projects and identifying risks
- Understand the importance of defining clear APIs and component boundaries
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Identify appropriate languages for implementing parts of a system
- Define APIs and interfaces between components
- Identify ethical and security responsibilities with respect to data in motion and at rest.
- Understand the tradeoffs between off-the-shelf and bespoke components
- Decompose a system into a set of loosely coupled components
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Use test frameworks to perform integration tests for existing components
Syllabus
Analysing systems
-Functional and non-functional requirements
-Requirements gathering
-System architecture
Designing systems
-Decomposing into blocks
-Identifying interfaces
-Designing APIs and protocols
-Integrating libraries and IP
-Formal specification
Testing systems
-Build systems
-Continuous integration (both hw and sw)
-Testing hardware+software+network systems
-Formal verification
Managing development
-Development methodologies
-Project management
-Advanced source control (e.g. review, bots, …)
Learning and Teaching
Teaching and learning methods
Lectures, labs and guided self-study
Type | Hours |
---|---|
Lecture | 32 |
Practical classes and workshops | 20 |
Preparation for scheduled sessions | 20 |
Independent Study | 78 |
Total study time | 150 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Group report | 20% |
Exam | 50% |
Group report | 20% |
Class Test | 10% |