Software Engineering (3 Years) [BSc]
|Unit level:||Level 2|
|Teaching period(s):||Semester 2|
|Offered by||School of Computer Science|
|Available as a free choice unit?:||N
- COMP15111 - Fundamentals of Computer Architecture (Compulsory)
Additional RequirementsStudents who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.
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.
OverviewThe 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.
Teaching and learning methods
No formal lectures
44 hours in total, 22 2-hour sessions
Learning outcomes are detailed on the COMP22712 course unit syllabus page on the School of Computer Science's website for current students.
- Analytical skills
- Problem solving
- Practical skills assessment - 100%
- 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 
COMP22712 reading list can be found on the School of Computer Science website for current students.
Feedback methodsDirect verbal feedback and advice in scheduled laboratory sessions.
'Automatic' feedback from tools seeing exercises work/fail.
Written feedback by annotating listings from submitted exercises.
- Practical classes & workshops - 24 hours
- Independent study hours - 76 hours