Search for contacts, projects,
courses and publications

Systems Programming

Description

COURSE OBJECTIVES

A "system" integrates components and functionality at different levels. Examples are information systems consisting of databases and processing modules; a distributed storage system consisting of networked redundant storage devices; an operating system that manages heterogeneous computing resources; a robotic system made of physical devices, embedded sensors and controllers, as well as complex processing modules.  The most common systems programming language is C.

This course is a practice-oriented introduction to programming in C, and also to a limited extent in C++.  The goal is not only to learn how to write correct C programs, but also to understand their execution model in depth.

 

COURSE DESCRIPTION

The course focuses on the features of the C language and libraries that are particularly useful in programming systems.  This includes the memory model, input/output, modularization, its the relevant language features, and its relation to the build process.

 

LEARNING METHODS

This is a practice-driven course.  All topics are introduced and explained through concrete working examples.

 

EXAMINATION INFORMATION
The evaluation is based on concrete programming problems, with a combination of homework assignments and exams also consisting of programming exercises.

 

REFERENCES

  • There are no specific required textbook, although students are encouraged to read The C Programming Language (Second Edition) by Brian W. Kernighan and Dennis M. Ritchie.

People

 

Carzaniga A.

Course director

Milosevic N.

Assistant

Additional information

Semester
Fall
Academic year
2020-2021
ECTS
6
Language
English
Education
Bachelor of Science in Informatics, Core course, Lecture, 2nd year