Go to JKU Homepage
LIT Secure and Correct Systems Lab
What's that?

Institutes, schools, other departments, and programs create their own web content and menus.

To help you better navigate the site, see here where you are at the moment.

VL+UE Systems Programming

Course Description

The course provides an introduction to concepts and programming in C, specifically for low-level and hardware-near applications. Students will gain insight into the possibilities, potentials, but also challenges of programming in particularly resource-constrained environments. A central (but not exclusive) goal will be the (manual) dynamic management of memory, without resorting to automatic garbage collection, or memory safety mechanisms that compilers (often) automatically introduce.

 

Content

Topics covered will include (subject to time availability).

  • Introduction to the basics of C
  • Basic data types and structures (structs, enums, unions, ...)
  • Working with pointers, arrays and strings
  • Memory management
  • Control Flow and Functions
  • Basic formatted input/output in C
  • Common programming errors and pitfalls
  • Introduction to Makefiles
  • Integration of assembler into C code
  • The standard C library
  • Advanced aspects and particularities of C

Organisation of the Lecture (VL)

  • The teaching is done bilingual, meaning that:
    • The weekly classes in the lecture theatre are given in German
    • Recordings of the lecture contents are provided in English
  • The printed lecture material is provided in English as (self-contained) slides
  • The grading of the lecture is based on a written exam (closed book) in the final week of the semester. The questions are written in English.

Organisation of Practical (UE)

  • Per week
    • submission of written solutions for two homework exercises in Moodle. The homework will be discussed during the exercise session, after submission. The submissions are not graded, but are required to pass the course, and serve as preparation for the weekly quiz.
    • a Moodle quiz (open book) is to be completed as part of the exercise sessions (UE). The questions in the quiz refer to the "homework" due the same week. Thus, the completion of the exercises serves as preparation for the Moodle quiz.
    • after the Moodle quizzes, the solutions to the homework exercises are discussed and questions about the material are answered.
  • Attendance is compulsory in the exercise courses (UE).
  • The exercises may be worked on in groups. The Moodle quizzes, however, are to be completed individually, and only in the context of the LVA appointment (no remote participation).
  • The language in the practical is English.

Grading VL

The lecture grading is based on a final exam in Moodle (closed book) with multiple choice questions. The total points achieved in this exam are scaled in the range 0..100 and the grade is calculated according to the following scheme:

Total Sum (Points)

Grade

80…100

1

67…79

2

54…66

3

41…53

4

0…40

5

 

Grading UE

The course is considered passed if the following criteria are met:

  • Submit at least 50% of the homework exercises in each of the two semester halves.
  • The grade results from the total sum of the points achieved in the Moodle Quizzes, which is scaled in the range 0...100.
  • The grade is calculated according to the same scheme as for the lecture (see above).