13E113SS - System Programming

Course specification
Course title System Programming
Acronym 13E113SS
Study programme Electrical Engineering and Computing
Module Computer Engineering and Informatics
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status mandatory
Condition Passed exams: Object-oriented programming 1, Algorithms and data structures, Computer architecture
The goal Fundamentals of assembly programming of modern processor architectures. Getting to know the features and how to design different system tools, such as macro processors, assemblers, emulators, virtual machines,linkers and loaders.
The outcome Enabling students to understand the function and structure of various system utilities, such as macro processors, assemblers, emulators, virtual machines, linkers and loaders. Students should be able to design and implement such tools or adapt existing ones. Students learn about the basics of assembly language programming.
URL to the subject page
URL to lectures
Contents of lectures Fundamentals of assembly programming. Assembler tool main functions. Assembler design. Macroprocessor design. Case Study: preprocessor for C/C++. Design of interpretrative and JIT emulators. Program object formats. Functions of a linker. Linker design. Loader design. Overlays technique. Dynamic linking and loading.
Contents of exercises Auditory exercises illustrating some of the concepts and techniques discussed in class. A practical student project in the area of designing systems tools​​.
  1. Randal E Bryant; David R O'Hallaron, Computer systems : a programmer's perspective, 3rd Edition, Pearson 2016.
  2. Igor Zhirkov, Low-Level Programming, Apress, 2017
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, exercises, labs, individual work on a project
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 40
Practical lessons 20 Oral examination 0
Colloquia 0
Seminars 40