v2.11.0 (5687)

Cours scientifiques - CSC_3IN02_TA : Langage C avancé

Domaine > Sciences et technologies de l'information et de la communication, Computer Science.

Descriptif

Ce cours vise à apprendre le langage C et les mécanismes "bas niveau" qu'il rend explicites au contraire de langages de plus haut niveau comme Python.
 
Outre la syntaxe du langage, les aspects de compilation, typage, organisation mémoire, pointeurs et allocation dynamique seront étudiés.

Objectifs pédagogiques

Maîtriser la programmation en langage C, être capable de concevoir et implémenter des algorithmes en C. En particulier, être capable :
- Compiler et exécuter un programme ;
- Comprendre la portée des variables (locale / globale) ;
- Connaître les constructions syntaxiques : opérateurs arithmétiques et logiques, conditionnelle, boucles, "switch", fonctions, opérateurs bit-à-bit ;
- Connaître les constructions de types: "struct", tableau / chaîne de caractères, scalaires, transtypage, (si possible "enum", "typedef") ;
- Comprendre la notion de préprocesseur, "#define", "#include", prototypes de variables / fonctions ;
- Comprendre les pointeurs, l'allocation dynamique, le passage  par adresse ;
- Connaître les particularités des scalaires: signe, taille, problèmes de conversions "int" <-> "float", de débordements ;
- Utiliser la récursivité.

21 heures en présentiel (7 blocs ou créneaux)
réparties en:
  • Contrôle : 3
  • Travaux dirigés en salle info : 18

2 heures de travail personnel estimé pour l’étudiant.

effectifs minimal / maximal:

145/220

Diplôme(s) concerné(s)

Format des notes

Numérique sur 20

Littérale/grade européen

Pour les étudiants du diplôme Diplôme d'Ingénieur de l'Ecole Nationale Supérieure de Techniques Avancées

Vos modalités d'acquisition :

Examen sur machine.
Contrôle continu (TPs notés et quizz)

Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)
  • le rattrapage est obligatoire si :
    Note initiale < 6
  • le rattrapage peut être demandé par l'étudiant si :
    6 ≤ note initiale < 10
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2 ECTS
  • Scientifique acquis : 2

Le coefficient de l'UE est : 1

La note obtenue rentre dans le calcul de votre GPA.

L'UE est évaluée par les étudiants.

Programme détaillé

  1. Motivation et historique
  2. Créer un programme : compilation
  3. Types et variables
  4. Expressions et instructions
  5. Branchements et boucles
  6. Pointeurs
  7. Fonction, passage par valeur, passage par adresse
  8. Entrées/Sorties
  9. Structures
  10. Chaînes de caractères
  11. Tableaux
  12. Passage d'arguments par la ligne de commande
  13. Pile (Stack)
  14. Tas (Heap)
  15. Types enumérés
  16. Constantes littérales
  17. Variables - initialisation, débordement, conversions
  18. Débogage manuelle (sans debuggeur)

Mots clés

Programmation, Langage C

Méthodes pédagogiques

Polycopié à télécharger, vidéos et dispositifs interactifs (Jupyter Notebook) en ligne

Support pédagogique multimédia

Oui

Veuillez patienter