Subject: PROGRAMMAZIONE DI SISTEMA (A.A. 2022/2023)
Unit Programmazione di Sistema
Computer Engineering (lesson)
The course introduces the key concepts for managing and programming Unix systems using both the Bash shell and the C programming language. The course comprises two main units: the former about Unix operating systems and their programming environment using the BASH shell; while the latter introduces the C language.
Basic knowledge of computer architectures and data representation is warmly suggested.
- OS Structure (scheduler, virtual memory, filesystem) (1 CFU)
- Ubuntu OS (packet manager, shell commands) (1 CFU)
- The Bash Shell (local and environment variables, conditional and iterative statements, functions, script invocation and parameters) (2 CFU)
The C Language
- Data types, variables, conditional and iterative constructs (1 CFU)
- Advanced data types (multi-dimensional arrays, struct) (1 CFU)
- Functions, passing parameters, return values (1 CFU)
- Pointer aritmetic, dynamic memory allocation (1 CFU)
- Input/output (1 CFU)
The detailed content can be seen at:
The course is organised in weekly modules. Each module is about a specific topic and provides both classes and labs. The course is composed of both classes and labs in which slides are often used for teaching. Participation is not mandatory. The main language of the course is Italian.
The course ends with an oral examination about both Unix/Bash scripting (15/30) and the C programming language (15/30). Both topics will be investigated using a single exercise at the computer. All modules reported on the course main page are required. Exam under video surveillance of the teaching staff
The course provides the tools for implementing object oriented applications. At the end of the course, students will be able to develop an modern application, both desktop or mobile, using either Java or Python.
Dispense e codice forniti dal docente. Per approfondire è suggerito l'utilizzo di un libro per ogni linguaggio.
Jason Bacon, Lars Olson - Unix User's Guide
Facchinetti, Larizza, Rubini - Programmare in C