- UCAS course code
- G405
- UCAS institution code
- M20
Bachelor of Science (BSc)
BSc Computer Science with Industrial Experience
- Typical A-level offer: A*A*A including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Refugee/care-experienced offer: AAB including specific subjects
- Typical International Baccalaureate offer: 38 points overall with 7,7,6 at HL, including specific requirements
Fees and funding
Fees
Tuition fees for home students commencing their studies in September 2025 will be £9,535 per annum (subject to Parliamentary approval). Tuition fees for international students will be £36,000 per annum. For general information please see the undergraduate finance pages.
Policy on additional costs
All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).
Scholarships/sponsorships
The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.
For information about scholarships and bursaries please visit our undergraduate student finance pages .
Course unit details:
Microcontrollers
Unit code | COMP22712 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 2 |
Available as a free choice unit? | Yes |
Overview
The module is a strong practical reinforcement of the software/hardware interface. It provides experience in hardware/software codesign as well as dealing with interfacing techniques, from 'bit fiddling' to interrupt routines. There is also an underpinning of operating systems and their implications in machine architecture. The module uses custom designed hardware and software tools developed locally for this specific purpose.
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Fundamentals of Computer Architecture | COMP15111 | Pre-Requisite | Compulsory |
Aims
This module aims to familiarise students with the use of microprocessors/microcontrollers for simple control and interfacing applications. The module aims to develop the understanding of the programming and operation of a microprocessor (the RISC-V introduced in COMP15111) to include modular program construction, separation of user and operating system tasks and interfacing techniques at the hardware and software levels. This course builds upon the understanding of processor operation and assembler programming introduced in COMP15111 and upon the logic design in introduced in COMP12111 to show how hardware and software interact in solving interfacing problems. There is some variation towards the end of the module to accommodate different backgrounds.
Learning outcomes
-
interface, from the software side input and output devices with an embedded controller
-
customise simple digital I/O hardware
-
properly understand the von Neumann memory architecture (I can't think of a circumlocution which expresses this any better even if it does use a naughty word!)
-
write reasonably sizeable assembly language routines with all the familiarity with processor architecture that entails
-
write I/O software for parallel interfaces, including time-division multiplexing and timers
-
write interrupt-driven code
-
structure, lay-out and document code to a maintainable standard
Syllabus
- Basic Interfacing [1]
- Parallel I/O [2]
- Procedure calls, Nesting & Stacking [2]
- System calls, Privilege levels, Initialisation [2]
- Timers [3]
- Interrupts [2]
- Real-time operation, User interaction [2]
- Introduction to Verilog [3]/System design [3]
- System design [3]/Project [3]
Teaching and learning methods
Lectures
No formal lectures
Laboratories
44 hours in total, 22 2-hour sessions
Employability skills
- Analytical skills
- Innovation/creativity
- Problem solving
- Other
Assessment methods
Method | Weight |
---|---|
Practical skills assessment | 100% |
Feedback methods
'Automatic' feedback from tools seeing exercises work/fail.
Written feedback by annotating listings from submitted exercises.
Recommended reading
COMP22712 reading list can be found on the Department of Computer Science website for current students.
Study hours
Scheduled activity hours | |
---|---|
Practical classes & workshops | 24 |
Independent study hours | |
---|---|
Independent study | 76 |
Teaching staff
Staff member | Role |
---|---|
James Garside | Unit coordinator |
Additional notes
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.