Systems-oriented programming

  • Enseignement

    Détails

    Faculté Faculté des sciences et de médecine
    Domaine Informatique
    Code UE-SIN.02020
    Langues Anglais
    Type d'enseignement Cours
    Projet
    Exercice
    Cursus Bachelor
    Semestre(s) SP-2025

    Titre

    Français Programmation proche du système
    Allemand Systemnahe Programmierung
    Anglais Systems-oriented programming

    Horaires et salles

    Horaire résumé Vendredi 13:15 - 17:00, Hebdomadaire, PER 21, salle C140 (Semestre de printemps)
    Struct. des horaires 2+2h par semaine durant 14 semaines
    Heures de contact 56

    Enseignement

    Responsables
    • Cudré-Mauroux Philippe
    Enseignants
    • 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.
    Objectifs de formation 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.
    Conditions d'accès

    L’inscription au cours ET examens est obligatoire. Cette inscription ne se fait pas automatiquement par l’inscription au cours. Veuillez noter les délais d'inscription de la faculté des sciences et médecine!

    Si vous avez des difficultés de vous inscrire pour le cours par le portail étudiant, veuillez envoyer un message avec votre nom, Nr SIUS, Code et titre du cours à stephanie.fasel@unifr.ch.

    Commentaire

    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 Non
    Hors domaine Non
    BeNeFri Oui
    Mobilité Oui
    UniPop Non
  • Dates et salles
    Date Heure Type d'enseignement Lieu
    21.02.2025 13:15 - 17:00 Cours PER 21, salle C140
    28.02.2025 13:15 - 17:00 Cours PER 21, salle C140
    07.03.2025 13:15 - 17:00 Cours PER 21, salle C140
    14.03.2025 13:15 - 17:00 Cours PER 21, salle C140
    21.03.2025 13:15 - 17:00 Cours PER 21, salle C140
    28.03.2025 13:15 - 17:00 Cours PER 21, salle C140
    04.04.2025 13:15 - 17:00 Cours PER 21, salle C140
    11.04.2025 13:15 - 17:00 Cours PER 21, salle C140
    02.05.2025 13:15 - 17:00 Cours PER 21, salle C140
    09.05.2025 13:15 - 17:00 Cours PER 21, salle C140
    16.05.2025 13:15 - 17:00 Cours PER 21, salle C140
    23.05.2025 13:15 - 17:00 Cours PER 21, salle C140
  • Modalités d'évaluation

    Examen écrit - SP-2025, Session d'été 2025

    Mode d'évaluation Par note
    Description Selon modalité A de l'annexe du plan d'études en informatique
    Commentaire

    Closed book exam

  • Affiliation
    Valable pour les plans d'études suivants:
    Ba - Informatique de gestion - 180 ECTS
    Version: 2020-SA_V02
    3ème année 60 ECTS > Cours de 3ème année > Cours à choix min. 14 ECTS > Cours à choix - Type A > Programmation proche du système

    Complément DEEM en informatique
    Version: 2022_1/V_01
    Complément DEEM pour Informatique 60 ou +30 > Programmes 60 ou +30 > Complément au programme Informatique 60 > Complément DEEM pour Informatique 60 (dès SA2020)

    Complément au MSc en Neurosciences digitales [MA]
    Version: 2023_1/V_01
    Complément au MSc en informatique > UE d'initiation à l'Informatique

    Complément au MSc in Bioinformatics and Computational Biology [MA]
    Version: 2022_1/V_01
    Complément au MSc in Bioinformatics and Computational Biology > UE d'initiation à l'Informatique

    Complément au MSc in Computer Science [MA]
    Version: 2022_1/V_01
    Complément au MSc en informatique > UE d'initiation à l'Informatique

    Enseignement complémentaire en sciences
    Version: ens_compl_sciences
    Paquet indépendant des branches > UE d'initiation à l'Informatique

    Informatique 120
    Version: 2022_1/V_01
    BSc en informatique, branche principale, 1ère année > Informatique br. principale 1ère année (dès SA2019)

    Informatique 30
    Version: 2022_1/V_01
    Branche complémentaire en informatique 30 > Informatique br. compl. 30 et 60 ECTS obligatoires (dès SA2020)

    Informatique 60
    Version: 2022_1/V_01
    Branche complémentaire en informatique 60 > Informatique br. compl. 30 et 60 ECTS obligatoires (dès SA2020)

    Informatique 50 [BSc/BA SI]
    Version: 2022_1/V_01
    BSc_SI/BA_SI, Informatique 50 ECTS, 1-3ème années > BSc_SI/BA_SI, Informatique, 2-3ème années, UE à choix pour 50 ECTS (dès SA2020)

    Informatique [3e cycle]
    Version: 2015_1/V_01
    Formation continue > UE d'initiation à l'Informatique

    Informatique [DEEM] 60
    Version: 2022_1/V_01
    Branche complémentaire en informatique (DEEM) 60 > Informatique branche complémentaire DEEM 60 ECTS obligatoires (dès SA2021)

    Informatique [POST-DOC]
    Version: 2015_1/V_01
    Formation continue > UE d'initiation à l'Informatique

    Mathématiques 30 pour mathématiciens (MATH 30MA)
    Version: 2022_1/V_01
    Mathématiques pour mathématicien-ne-s (MATH 30MA), branche complémentaire 30 (dès SA2020) > Mathématiques, branche complémentaire MATH 30MA, UE à choix (dès SA2018)

    Mathématiques 30 pour physiciens (MATH 30PH)
    Version: 2022_1/V_01
    Mathématiques pour physiciens (MATH 30PH), branche complémentaire 30 (dès SA2020) > Mathématiques, branche complémentaire MATH 30PH, UE à choix (dès SA2018)

    Préalable au Bioinformatique et biologie computationnelle [PRE-MA]
    Version: 2022_1/V_01
    Préalable au MSc in Bioinformatics and Computational Biology > UE d'initiation à l'Informatique

    Préalable au MSc en Neurosciences digitales [PRE-MA]
    Version: 2023_1/V_01
    Préalable au MSc en Neurosciences digitales > UE d'initiation à l'Informatique

    Préalable au MSc en informatique [PRE-MA]
    Version: 2022_1/V_01
    Préalable au MSc en informatique > UE d'initiation à l'Informatique