CS254 - Memory and Structure
TIMETABLE | TEACHING MATERIAL |
Credits | 10 |
Level | 2 |
Semester | Term 2 |
Availability | Available to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BSc Hons IT: Software Development. |
Prerequisites | N/A |
Learning Activities Breakdown | 12 tutorials, online study, and assessed coursework (exercises, quizzes and a project). |
Assessment | The class is assessed 100% by coursework consisting of exercises (40%), quizzes (10%) and a project (50%). |
Lecturer | Leila Shafti |
Aims and Objectives
The aim of the class is to develop the participant's understanding of a low-level programming language, its relationship with the underlying instruction set of the computer, and how data is organised within memory.
Learning Outcomes
After completing this class participants will be able to:
- Understand the relationship between a low-level programming language with respect to high level languages and assembly languages.
- Understand how data is organised in memory.
- Have a practical understanding of memory organisation and management within low-level programs.
- Understand the mapping between low-level programs and the CPU.
- Design and implement a low-level program.
Syllabus
- Introduction to C & Linux: Installing a POSIX environment and using Linux commands, C as a level between Assembly and Java, loops, arrays and scope.
- Data organisation in memory: pointers, strings, structs and unions, representing objects.
- Memory organisation for programs: Memory hierarchy, Stack and Heap Management, Main memory management, Virtual memory.
- From C to the CPU: CPU organisation, Instruction Sets and Assembly, mapping C constructs to Assembly.
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Recommended reading suggestions will be made available via Myplace, the University's VLE.
Last updated: 2022-12-14 17:44:42