Systems-oriented programming
-
Teaching
Details
Faculty Faculty of Science and Medicine Domain Computer Science Code UE-SIN.02020 Languages English Type of lesson Lecture
Project
Exercise
Level Bachelor Semester SS-2025 Title
French Programmation proche du système German Systemnahe Programmierung English Systems-oriented programming Schedules and rooms
Summary schedule Friday 13:15 - 17:00, Hebdomadaire, PER 21, Room C140 (Spring semester)
Struct. of the schedule 2+2h par semaine durant 14 semaines Contact's hours 56 Teaching
Responsibles - Cudré-Mauroux Philippe
Teachers - Cudré-Mauroux Philippe
- Luggen Michael
Description Introduction to a basic system programming language (C): Constants, variables and basic types. Expressions, statements and control structures. Advanced types: pointers, arrays and structures. Functions, procedures, argument passing modes, scoping (local/global, private/public, and volatile/permanent variables).
Introduction to system programming: memory model including static and dynamic memory allocation. Function call, execution stack and abstract syntax trees (AST) diagrams. ADT diagrams. Dynamic memory allocation (malloc, free). Process and thread models, including program counter (pc) and interrupts.
Abstract data types: stack, queue, (double) linked list, token list, priority list and binary tree.
Introduction to the Unix programming environment: command line, including pipe and input/output redirection. File system and privileges, including hard and symbolic links. Regular expression and Unix variables. Bash shell scripts, make, gdb debugger and performance tools. Secure remote access.Training objectives The student will first develop the ability to read C code, use Unix commands and test simple C programs. Then they will learn to write, debug and test C programs including simple concurrent programs, and use more advanced Unix tools (make, gdb debugger, Bash shell scripts). Finally they will learn to specify classical abstract data types in C. Condition of access Registration for all teaching units AND exams is mandatory. Please take note of the registration deadlines of the faculty of science and medecine.
If you have difficulties to register for the course over the student portal send an e-mail to stephanie.fasel@unifr.ch mentionning your full name, SIUS number, course title and code.
Comments Les unités d’enseignement se composent généralement de deux heures de cours et deux heures d’exercices par semaine. Nous vous prions de bien vouloir vous conformer aux délais d’inscriptions aux épreuves de la Faculté des sciences et de médecine.
Softskills No Off field No BeNeFri Yes Mobility Yes UniPop No -
Dates and rooms
Date Hour Type of lesson Place 21.02.2025 13:15 - 17:00 Cours PER 21, Room C140 28.02.2025 13:15 - 17:00 Cours PER 21, Room C140 07.03.2025 13:15 - 17:00 Cours PER 21, Room C140 14.03.2025 13:15 - 17:00 Cours PER 21, Room C140 21.03.2025 13:15 - 17:00 Cours PER 21, Room C140 28.03.2025 13:15 - 17:00 Cours PER 21, Room C140 04.04.2025 13:15 - 17:00 Cours PER 21, Room C140 11.04.2025 13:15 - 17:00 Cours PER 21, Room C140 02.05.2025 13:15 - 17:00 Cours PER 21, Room C140 09.05.2025 13:15 - 17:00 Cours PER 21, Room C140 16.05.2025 13:15 - 17:00 Cours PER 21, Room C140 23.05.2025 13:15 - 17:00 Cours PER 21, Room C140 -
Assessments methods
Written exam - SS-2025, Session d'été 2025
Assessments methods By rating Descriptions of Exams Selon modalité A de l'annexe du plan d'études en informatique Comment Closed book exam
-
Assignment
Valid for the following curricula: Additional Courses in Sciences
Version: ens_compl_sciences
Paquet indépendant des branches > Initiation courses in Computer Science
Additional Programme Requirements to the MSc in Bioinformatics and Computational Biology [MA]
Version: 2022_1/V_01
Additional Programme Requirements to the MSc Bioinformatics and Computational Biology > Initiation courses in Computer Science
Additional Programme Requirements to the MSc in Computer Science [MA]
Version: 2022_1/V_01
Supplement to the MSc in Computer science > Initiation courses in Computer Science
Additional Programme Requirements to the MSc in Digital Neuroscience [MA]
Version: 2023_1/V_01
Supplement to the MSc in Computer science > Initiation courses in Computer Science
Additional TDHSE programme in Computer Science
Version: 2022_1/V_01
Additional TDHSE Programme Requirements for Computer Science 60 or +30 > Programmes 60 or +30 > Additional Programme Requirements to Computer Science 60 > Additional TDHSE programme for Computer Science 60 (from AS2020 on)
Ba - Business Informatics - 180 ECTS
Version: 2020-SA_V02
3nd year 60 ECTS > 3rd year courses > Cours à choix min. 14 ECTS / Wahlkurse min. 14 ECTS > Cours à choix - Type A / Wahlkurse - Typus A > Systems-oriented programming
Computer Science 120
Version: 2022_1/V_01
BSc in Computer science, Major > Computer Science 1. year (from AS2019 on)
Computer Science 30
Version: 2022_1/V_01
Minor in Computer science 30 > Computer Science Minor 30 and 60 ECTS compulsory (from SA2020 on)
Computer Science 60
Version: 2022_1/V_01
Minor in Computer Science 60 > Computer Science Minor 30 and 60 ECTS compulsory (from SA2020 on)
Computer Science 50 [BSc/BA SI]
Version: 2022_1/V_01
BSc_SI/BA_SI, Computer science 50 ECTS, 1st-3rd years > BSc_SI/BA_SI, Computer Science, 2nd-3rd years, elective courses for 50 ECTS (from AS2020 on)
Computer Science [3e cycle]
Version: 2015_1/V_01
Continuing education > Initiation courses in Computer Science
Computer Science [POST-DOC]
Version: 2015_1/V_01
Continuing education > Initiation courses in Computer Science
Computer Science [TDHSE] 60
Version: 2022_1/V_01
Minor in Computer Science (TDHSE) 60 > Computer Science Minor TDHSE 60 ECTS (from SA2021 on)
Mathematics 30 for Mathematicians (MATH 30MA)
Version: 2022_1/V_01
Mathematics for mathematicians (MATH 30MA), minor 30 (from AS2020 on) > Mathematics, minor MATH 30MA, elective courses (from AS2018 on)
Mathematics 30 for Physicists (MATH 30PH)
Version: 2022_1/V_01
Mathematics for physicists (MATH 30PH), minor 30 (from AS2020 on) > Mathematics, minor MATH 30PH, elective courses (from AS2018 on)
Pre-Master-Programme to the MSc in Bioinformatics and Computational Biology [PRE-MA]
Version: 2022_1/V_01
Prerequisite to the MSc in Bioinformatics and Computational Biology > Initiation courses in Computer Science
Pre-Master-Programme to the MSc in Computer Science [PRE-MA]
Version: 2022_1/V_01
Prerequisite to the MSc in Computer science > Initiation courses in Computer Science
Pre-Master-Programme to the MSc in Digital Neuroscience [PRE-MA]
Version: 2023_1/V_01
Pre-Master-Programme to the MSc in Digital Neuroscience > Initiation courses in Computer Science