Low-Level Programming
Official Title
194.190 Low-Level Programming (VU, 4SWS, 6ECTS)
Curricula
Mandatory elective course in the Master program "Software Engineering"
Course dates
Register
on TISS.
Please register before the end of the day of the first lecture.
Accounts will be created on the next day.
Lecture date: Wednesday, 16:15-18:00, starting on 2025-10-01, EI1
(Old EI, Gusshausstrasse 25, 2nd Floor).
After the lecture part there are presentations of the student
projects (the exercise part) at the same date
Overview
While most application software is written in high-level
programming languages, at the bottom of the software stack there
is a foundation of low-level programming. This course discusses
the reasons for low-level programming and its problems in security
and reliability. It also provides competencies in low-level
programming, including programming languages and debugging.
Contents
Memory organization in various kinds of software. Memory safety.
Programming in Forth. Programming in Rust. Methods and tools, in
particular for debugging.
Security problems of low-level programming. Systems programming.
Run-time systems for high-level programming languages.
Practical exercises
- Until 2025-10-08: Work through the assignments of
the Forth
Tutorial up to and including section "Memory Tutorial".
- Until 2025-10-15: Work through the remaining assignments of
the Forth
Tutorial.
Project, Group and Deliverables
The group size depends on the number of participants. This year
the group size probably is 5.
Write a project (65h of work per person) of your own choice in a
low-level language, that performs a task or profitably uses an
implementation approach that is not possible in a high-level
language like Java or Python.
Present what the program does and how it is implemented. In the
presentation, point out the program parts that cannot be
implemented in a high-level language.
You present the problem and its programmatic solution in a
presentation with up to 18 minutes for the whole group.
Course notes
Slides for the lecture will be
updated as the semester progresses.
Forth Tutorial
Lecturer
Anton Ertl