Module overview
The goal of this module is to give students an overview of the theory and methods for designing and delivering large multi-component systems. There will be a particular emphasis on systems which combine requirements and functionality from learning, software, and hardware, and the ways in which the boundaries between them can be identified and managed. This module provides preparatory tools and techniques for the group project module in semester 2.
Aims and Objectives
Learning Outcomes
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Understand the tradeoffs between off-the-shelf and bespoke components
- Decompose a system into a set of loosely coupled components
- Define APIs and interfaces between components
- Identify ethical and security responsibilities with respect to data in motion and at rest.
- Identify appropriate languages for implementing parts of a system
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- Knowledge of best-practises for managing small group projects and identifying risks
- Understanding of tools (both processes and software) for managing group-work
- Understand the importance of defining clear APIs and component boundaries
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 |
---|---|
Preparation for scheduled sessions | 24 |
Independent Study | 78 |
Practical classes and workshops | 12 |
Lecture | 36 |
Total study time | 150 |
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Exam | 60% |
Group report | 40% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Set Task | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Method | Percentage contribution |
---|---|
Set Task | 100% |