To introduce the fundamentals of systems programming in C.
Students should be able to implement their own programs in C. They should understand how to allocate and free memory, handle pointers. In addition, they should be able to read in, represent and manipulate data in C through the use of standard library functions and language features such as arrays, structs, unions.
The group project should enable students to gain a glimpse into the compilers through implementing their own assembler, and reinforce their understanding of memory and processors through development of their own emulators.
Pointers and dynamic memory
Structs and unions
Dynamic data structures
120.1, 120.2, Architecture
Optional tutorial sheets.
Extended practical group project.
Timetabled laboratory sessions.
- Short checkpoint at one key point during the extended practical group project.
- Written report on the achievements of the group project
- Oral presentation on the project
- Final lexis test taken in the laboratory undertaken in exam conditions using the Lexis test administration system.