BSc Computer Science with Industrial Experience
Year of entry: 2022
- View tabs
- View full page
Course unit details:
|Unit level||Level 2|
|Teaching period(s)||Semester 2|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||No|
|Unit title||Unit code||Requirement type||Description|
|Fundamentals of Computer Architecture||COMP15111||Pre-Requisite||Compulsory|
This course aims to familiarise students with the use of microprocessors/microcontrollers for simple control and interfacing applications. The course aims to develop the understanding of the programming and operation of the ARM processor 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 the solution of interfacing problems.
This module currently runs as a first year CSE course or a second year CS course. There is some variation towards the end of the module to accommodate different backgrounds.
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
- Basic Interfacing 
- Parallel I/O 
- Procedure calls, Nesting & Stacking 
- System calls, Privilege levels, Initialisation 
- Timers 
- Interrupts 
- Real-time operation, User interaction 
- Introduction to Verilog /System design 
- System design /Project 
Teaching and learning methods
No formal lectures
44 hours in total, 22 2-hour sessions
- Analytical skills
- Problem solving
|Practical skills assessment||100%|
'Automatic' feedback from tools seeing exercises work/fail.
Written feedback by annotating listings from submitted exercises.
COMP22712 reading list can be found on the Department of Computer Science website for current students.
|Scheduled activity hours|
|Practical classes & workshops||24|
|Independent study hours|
|James Garside||Unit coordinator|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.