CS358 - Introduction to C Programming
TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 3 |
Semester | Term 2 |
Availability | Available as an optional class to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BEng Engineering, Design and Manufacture. |
Prerequisites | N/A |
Learning Activities Breakdown | 12 tutorials, online study and assignment preparation (see Assessment section for details). |
Assessment | The class is assessed 100% by coursework consisting of short quizzes (10%), practical exercises (30%) and an individual programming project (60%). |
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 fundamentals of C programming.
- Understand the role of low-level programming and its relationship with high-level languages and Instruction Set Architectures.
- Have a practical understanding of how data is organised in memory.
- Understand memory organisation and management within low-level programs.
- 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 organization, 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 20:34:53