AccueilLicence généraleInformatiqueEnseignementsProgrammation C et système

Licence InformatiqueUE Programmation C et système

Contenu

Cet enseignement donne les bases de la programmation en C et de l'utilisation du système via des programmes :

  • structure d'un programme : syntaxe générale, déclaration vs définition de variable/fonction, fichier d'entête (.h), fichier source (.c), compilation séparée, binaires de source (.o), édition de lien, makefile
  • types structurés : définition d'une structure, alias de type (typedef), opérateur d’accès de champ, fonctions manipulant une structure par valeur (en argument et en retour)
  • pointeurs : pointeurs typés, opérateur de référencement et d'indirection, opérateur d'accès au champ d'une structure pointée, pointeur générique non-typé, pointeurs et tableaux, arithmétique de pointeurs, argument de fonction passé par adresse (type simple, tableau, structure), arguments en ligne de commande, pointeurs sur fonction, allocation dynamique de mémoire
  • entrée-sortie : flux, entrée et sortie standard, sortie d'erreur, fonctions de flux orientées caractères, fonctions de status de flux, fonctions d'ouverture/fermeture de fichier, fonction de formatage sur les chaînes, fonctions de flux binaires
  • entrée de répertoire POSIX : types répertoire et entité de répertoire, fonction d'ouverture/lecture/fermeture
  • gestion de processus : pid d'un processus et de son parent, création d'un processus par duplication, recouvrement d'un processus par une image, attente d'un processus enfant, envoi et réception d'un signal
  • manipulation de descripteur de fichiers : descripteur de fichier, lecture/écriture sans tampon, duplication de descripteur, tubes anonymes, descripteurs avec stdio

Compétences visées

  • Se servir aisément de plusieurs paradigmes de programmation (approches impérative, fonctionnelle, objet et concurrente) ainsi que plusieurs langages de programmation.
  • Utiliser une bibliothèque ou un framework en consultant sa documentation.
  • Connaître et respecter les bonnes pratiques à adopter en programmation afin de réaliser des programmes maintenables et exploitables par des tiers.
  • Savoir trouver une erreur dans un programme et la corriger.
  • Connaître le fonctionnement des systèmes d’exploitation, afin de les utiliser efficacement, notamment sur des aspects de fiabilité, de performance, de développement logiciel et de gestion.
  • Utiliser les outils et techniques de gestion de projet informatique : environnement de développement, contrôle de version, automatisation de la production.

Langue utilisée

Langue principale utilisée par cet enseignement : Français.

Bibliographie

Pré-requis recommandés

  • Programmation 2
  • Fonctionnement des ordinateurs (systèmes)

Volume des enseignements

  • Cours magistraux : 18 heures
  • Travaux dirigés : 18 heures
  • Travaux pratiques : 24 heures

Les formations qui utilisent cet enseignement