1 à 4
|
Description première de la qualité de programmation attendue : commentaires de spécifications et de stratégie, aération, indentation, utilisation de constantes symboliques et choix des identificateurs, portabilité.
Notions élémentaires de programmation : types de base du C avec leurs opérateurs et conversions automatiques, variables, entrées/sorties de base, instructions conditionnelles et itératives, comparaison et compatibilité des types numériques, opérateurs binaires.
Environnements de programmation : chaine de compilation-assemblage-exécution, présentation de divers environnements de programmation
(ex. : Éclipse, Visual Studio, etc.).
Commandes au préprocesseur : #define, #include, et #if..#endif.
Procédures et fonctions : déclaration, commentaires standards de déclaration et d’implémentation, paramètres effectifs et paramètres formels, valeur de retour, passage par valeur, portée et durée de vie des variables, factorisation.
Passage par adresse : variables pointeurs (déclaration et assignation).
Macros-fonctions : avantages, déclaration et utilisation.
Tableaux : déclaration, initialisation, accès aux éléments, passage en paramètre, algorithmes de base (ex. : min, max, etc.), déclarations de types (avec typedef).
Introduction aux enregistrements (struct) : déclaration, accès aux champs, affectation et passage en paramètre.
Utilisation de modules externes : inclusion et utilisation de modules externes dans un projet.
Tests unitaires : définition, avantages, création de test, jeux de données et cas limites. |
5 à 8
|
Algorithmes de base sur tableau (suite) : tris (sélection, insertion bulle) et fouilles (linéaires et binaires).
Pointeurs et adresses : arithmétique des adresses (démontrer l’utilisation de sizeof) et pointeurs génériques (void *).
Classes d’allocation : auto, static et extern. La pile et le tas (stack && heap).
Allocation dynamique : utilisation des fonctions d’allocation dynamique (malloc, calloc, realloc et free), allocation de tableaux dynamiques ».
Chaînes de caractères: chaînes littérales et fonctions offertes par le langage ().
Implémentation de modules externes : modules de déclarations (.h) et de définitions (.c), définitions de types et implémentations des fonctions nécessaires à une architecture bien faite, encapsulation des données et des traitements.
Type de données abstraits : les piles (t_pile) et les files (t_file), première implémentation sur tableaux de ces modules de type.
|
9 à 13
|
Type de données abstraits (suite) : les listes (t_liste), implémentation sur tableaux.
Chaînage dynamique : références chainées (nœud), chainage simple et double.
Piles et files : implémentations version chaînage dynamique.
Listes chaînées (simple et double) : intérêt, fonctionnement et implémentations (avec et sans position courante implicite).
Fichiers textes et binaires : le FILE * et ses fonctions classiques (fopen, fclose, feof, … ).
Notions complémentaires présentées selon les besoins des travaux pratiques (si nécessaires).
|