- UCAS course code
- H600
- UCAS institution code
- M20
Bachelor of Engineering (BEng)
BEng Electrical and Electronic Engineering
*This course is now closed for applications for 2025 entry.
- Typical A-level offer: AAA including specific subjects
- Typical contextual A-level offer: AAB including specific subjects
- Refugee/care-experienced offer: ABB including specific subjects
- Typical International Baccalaureate offer: 36 points overall with 6,6,6 at HL, including specific requirements
Course unit details:
Concurrent Systems
Unit code | EEEN30141 |
---|---|
Credit rating | 10 |
Unit level | Level 3 |
Teaching period(s) | Semester 1 |
Available as a free choice unit? | No |
Overview
This unit will cover the following topics:
(1) How autonomous peripherals improve CPU efficiency.
(2) The meaning parallel and time-slice concurrency.
(3) Programs, processes, and threads.
(4) How operating systems create concurrent systems.
(5) Problems with concurrent algorithms and the coding methods to solve them.
(6) Message passing methods.
(7) Other operating system methods, including memory, file and device management.
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Microcontroller Engineering II | EEEN20011 | Pre-Requisite | Compulsory |
Aims
The topic of Concurrent Systems is about operating systems and the method of creating threads of code. This enables programs to be run at the same time, and enables algorithms to be parallelised to run much faster. We will look at how an operating system kernel facilitates concurrent systems through CPU scheduling and how we can write code to parallelise our software. We will use C++ in this unit, but the code is similar in other languages.
Learning outcomes
ILO 1: Explain the issues inherent in multi-threaded programs
ILO 2: Describe message parsing and its applications
ILO 3: Analyse how an operating system provides thread scheduling
ILO 4: Describe what makes a concurrent system
ILO 5: Develop concurrent programs in C++
Teaching and learning methods
21 Lectures, 1 Introductory Lab, 5 Worked Tutorial Sheets (online).
Assessment methods
Method | Weight |
---|---|
Other | 20% |
Written exam | 80% |
Coursework:
2 Blackboard tests - 30 Minutes each
Write a concurrent program in C++ to implement a given specification. - 10 hours
The coursework forms 20% of the unit assessment.
Feedback methods
.
Recommended reading
C++ Concurrency in Action: Practical Multithreading, Anthony Williams, 2012
-covers the first part of the course.
Operating Systems : A Modern Perspective, G. Nutt
3rd edition, Addison-Wesley, 2003
-covers the second part of the course.
Study hours
Scheduled activity hours | |
---|---|
Lectures | 18 |
Practical classes & workshops | 3 |
Tutorials | 14 |
Independent study hours | |
---|---|
Independent study | 65 |
Teaching staff
Staff member | Role |
---|---|
Frank Podd | Unit coordinator |