Programmation proche du système

  • Teaching

    Details

    Faculty Faculty of Science and Medicine
    Domain Computer Science
    Code UE-SIN.02020
    Languages French
    Type of lesson Project
    Exercise
    Lecture
    Level Bachelor
    Semester SP-2022

    Title

    French Programmation proche du système
    German Systemnahe Programmierung
    English Systems-oriented programming

    Schedules and rooms

    Summary schedule Tuesday 09:15 - 13:00, Hebdomadaire (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
    Assistants
    • Bucheli Philippe
    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
    22.02.2022 09:15 - 13:00 Cours PER 21, Room C120
    01.03.2022 09:15 - 13:00 Cours PER 21, Room C120
    08.03.2022 09:15 - 13:00 Cours PER 21, Room C120
    15.03.2022 09:15 - 13:00 Cours PER 21, Room C120
    22.03.2022 09:15 - 13:00 Cours PER 21, Room C120
    29.03.2022 09:15 - 13:00 Cours PER 21, Room C120
    05.04.2022 09:15 - 13:00 Cours PER 21, Room C120
    12.04.2022 09:15 - 13:00 Cours PER 21, Room C120
    12.04.2022 09:15 - 13:00 Cours PER 21, Room G314
    12.04.2022 09:15 - 13:00 Cours PER 21, Room G414
    26.04.2022 09:15 - 13:00 Cours PER 21, Room C120
    26.04.2022 09:15 - 13:00 Cours PER 21, Room G414
    26.04.2022 09:15 - 13:00 Cours PER 21, Room G314
    03.05.2022 09:15 - 13:00 Cours PER 21, Room G514
    03.05.2022 09:15 - 13:00 Cours PER 21, Room G314
    03.05.2022 09:15 - 13:00 Cours PER 21, Room C120
    10.05.2022 09:15 - 13:00 Cours PER 21, Room C120
    10.05.2022 09:15 - 13:00 Cours PER 21, Room G414
    10.05.2022 09:15 - 13:00 Cours PER 21, Room G314
    17.05.2022 09:15 - 13:00 Cours PER 21, Room G314
    17.05.2022 09:15 - 13:00 Cours PER 21, Room G414
    17.05.2022 09:15 - 13:00 Cours PER 21, Room C120
    24.05.2022 09:15 - 13:00 Cours PER 21, Room G314
    24.05.2022 09:15 - 13:00 Cours PER 21, Room G414
    24.05.2022 09:15 - 13:00 Cours PER 21, Room C120
    31.05.2022 09:15 - 13:00 Cours PER 21, Room G314
    31.05.2022 09:15 - 13:00 Cours PER 21, Room G414
    31.05.2022 09:15 - 13:00 Cours PER 21, Room C120
  • Assessments methods

    Written exam - SP-2022, Session d'été 2022

    Date 07.06.2022 14:00 - 16:00
    Assessments methods By rating
    Descriptions of Exams Selon modalité A de l'annexe du plan d'études en informatique

    Written exam - SP-2022, Autumn Session 2022

    Date 13.09.2022 10:00 - 12:00
    Assessments methods By rating
    Descriptions of Exams Selon modalité A de l'annexe du plan d'études en informatique
  • 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 Bioinformtics 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
    Prerequisite to the MSc in Computer science > Initiation courses in Computer Science