Course co-ordinator(s): Dr Hans Wolfgang Loidl (Edinburgh), Alistair McConnell (Edinburgh), Dr Adam Sampson (Edinburgh), Kayvan Karim (Dubai), Mahmoud Mousa (Dubai), Rosalind Deena Kumari (Malaysia).
Aims:
- To gain an understanding of low-level, hardware-oriented and systems programming.
- To develop skills in resource-conscious programming.
- To develop programming skills in such languages.
Detailed Information
Course Description: Link to Official Course Descriptor.
Pre-requisite course(s): F27CS Introduction to Computer Systems .
Location: ALP, Dubai, Edinburgh, Malaysia.
Semester: 2.
Syllabus:
- Low-level, assembler programming
- Low-level, C programming
- Advanced computer architecture issues impacting software performance (caches, multi-cores, etc)
- Operating system interfaces for low-level software
- Operating system concepts such as device handling, interrupts, BIOS etc
- Embedded systems programming
- Resource-conscious programming techniques (memory, performance; programming techniques, tools, monitoring)
Learning Outcomes: Subject Mastery
Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)
- Critical understanding of computer architecture concepts and their performance implication for low-level software.
- Detailed theoretical and practical understanding of hardware and operating system concepts, interfacing to low-level software.
- Ability to develop efficient, resource-conscious code, interfacing to hardware components.
- Practical skills in low-level, systems programming, with effective resource management.
Learning Outcomes: Personal Abilities
Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT
- Ability to articulate system-level operations and to identify performance implications of given systems
SCQF Level: 8.
Credits: 15.