COURS DE TECHNOLOGIE DE L’INFORMATION ET DE LA COMMUNICATION, 2ÈME ANNÉE, OPTIONS SCIENTIFIQUES
Edition 2025 / Enseignement primaire, secondaire et technique en RDC
📑 PRÉLIMINAIRES
0.1. Note pédagogique à l’usage de l’enseignant
Ce manuel de Technologie de l’Information et de la Communication (TIC) pour la deuxième année des Humanités Scientifiques concrétise les directives du Programme Éducatif du Domaine d’Apprentissage des Sciences (DAS), spécifiquement les matrices MTIC 4.1 à MTIC 4.11. Le volume horaire hebdomadaire est d’une heure. L’enseignant privilégiera une approche pragmatique et technicienne, axée sur la résolution de problèmes scientifiques par l’outil informatique. La démarche pédagogique doit transformer l’ordinateur en un véritable laboratoire virtuel où l’élève manipule des données, simule des processus et automatise des calculs complexes.
0.2. Profil d’entrée et prérequis
L’accès à ce cours exige la maîtrise des compétences numériques acquises en première année des Humanités Scientifiques. L’élève doit démontrer une aisance dans l’environnement Windows, la gestion des fichiers et l’utilisation basique d’un tableur (saisie, mise en forme, formules élémentaires). Il doit posséder des notions fondamentales de logique (conditionnelle, boucles simples) et une compréhension mathématique suffisante pour appréhender les concepts de fonctions, de statistiques descriptives et de trigonométrie.
0.3. Compétences visées et profil de sortie
Au terme de cette année de formation, l’apprenant sera capable de concevoir des solutions informatiques pour traiter des données scientifiques massives. Il maîtrisera l’analyse de données avancée via MS Excel (fonctions complexes, tableaux croisés dynamiques, consolidation). En programmation, il développera des algorithmes structurés utilisant des tableaux, des fonctions et des fichiers pour résoudre des problèmes de gestion ou de calcul scientifique. Le profil de sortie correspond à un élève apte à modéliser des phénomènes simples et à gérer des bases de données scolaires ou commerciales.
0.4. Méthodologie et matériel didactique
La méthodologie repose sur l’alternance entre l’exposé des concepts théoriques et leur application immédiate en salle informatique. Chaque leçon débute par une situation-problème ancrée dans le contexte congolais (gestion d’écoles, statistiques agricoles, données médicales). Le matériel didactique indispensable comprend un parc informatique équipé de MS Excel (version 2013 ou ultérieure) et d’un environnement de développement pour le langage C ou Python (Code::Blocks, IDLE).
TABLE DES MATIÈRES
PRÉLIMINAIRES 0.1. Note pédagogique 0.2. Profil d’entrée 0.3. Compétences visées 0.4. Méthodologie
PARTIE 1 : TRAITEMENT AVANCÉ DES DONNÉES AVEC LE TABLEUR EXCEL Chapitre 1 : Fonctions mathématiques et statistiques avancées 1.1. Les fonctions trigonométriques et conversions d’angles 1.2. Les fonctions statistiques de tendance centrale 1.3. Les fonctions de dispersion et de position 1.4. Application aux calculs scientifiques complexes
Chapitre 2 : Organisation et synthèse des données 2.1. Création et gestion des tableaux croisés dynamiques 2.2. Les graphiques croisés dynamiques 2.3. La consolidation des données multisources 2.4. Le filtrage avancé et les segments
Chapitre 3 : Intégrité et validation des données 3.1. Le concept de validation des données 3.2. Création de listes déroulantes et critères de restriction 3.3. Gestion des messages de saisie et d’erreur 3.4. Protection des feuilles et des classeurs
PARTIE 2 : ALGORITHMIQUE ET PROGRAMMATION STRUCTURÉE Chapitre 4 : Structures de contrôle complexes 4.1. Les structures conditionnelles imbriquées 4.2. Les boucles imbriquées 4.3. Combinaison de boucles et d’alternatives 4.4. Tracé et optimisation des organigrammes complexes
Chapitre 5 : Les structures de données : Les Tableaux 5.1. Définition et déclaration des tableaux unidimensionnels (Vecteurs) 5.2. Manipulation des vecteurs (Lecture, Écriture, Parcours) 5.3. Les tableaux bidimensionnels (Matrices) 5.4. Traitement matriciel et applications scientifiques
Chapitre 6 : Modularité : Fonctions et Procédures 6.1. Concepts de sous-programmes et modularité 6.2. Définition et appel des fonctions 6.3. Définition et appel des procédures 6.4. Gestion des paramètres et portée des variables
PARTIE 3 : ALGORITHMES AVANCÉS ET PERSISTANCE DES DONNÉES Chapitre 7 : Algorithmes de recherche 7.1. Principe de la recherche séquentielle 7.2. Implémentation de la recherche séquentielle 7.3. Principe de la recherche dichotomique 7.4. Implémentation et comparaison des performances
Chapitre 8 : Algorithmes de tri 8.1. Nécessité du tri en informatique 8.2. Le tri par sélection : Principe et algorithme 8.3. Le tri à bulles : Principe et algorithme 8.4. Comparaison et optimisation des tris
Chapitre 9 : Gestion des fichiers de données 9.1. Concept de persistance et types de fichiers 9.2. Ouverture, fermeture et modes d’accès 9.3. Écriture et lecture dans un fichier texte 9.4. Applications pratiques : Carnet d’adresses et archivage
ANNEXES
💻 PARTIE 1 : TRAITEMENT AVANCÉ DES DONNÉES AVEC LE TABLEUR EXCEL
Cette première partie vise à transformer l’élève en un utilisateur expert du tableur, capable d’exploiter la puissance de calcul de MS Excel pour résoudre des problèmes scientifiques et administratifs. Elle dépasse la simple saisie pour aborder l’analyse statistique, la synthèse de grands volumes de données et la sécurisation des interfaces de saisie. L’élève apprendra à transformer des données brutes en informations décisionnelles pertinentes pour le contexte socio-économique de la RDC.
Chapitre 1 : Fonctions mathématiques et statistiques avancées
Ce chapitre dote l’élève des outils nécessaires pour effectuer des calculs trigonométriques précis et des analyses statistiques descriptives directement dans la feuille de calcul.
1.1. Les fonctions trigonométriques et conversions d’angles
L’étude des phénomènes périodiques ou de la topographie nécessite la maîtrise des fonctions trigonométriques. Excel propose des fonctions natives telles que SIN(), COS(), TAN() qui requièrent des arguments en radians. L’élève apprendra à utiliser la fonction RADIANS() pour convertir les degrés sexagésimaux et DEGRES() pour l’opération inverse. Nous aborderons également les fonctions inverses ASIN(), ACOS() pour retrouver les angles, indispensables pour les calculs de pentes de toiture à Kisangani ou de trajectoires balistiques.
1.2. Les fonctions statistiques de tendance centrale
L’analyse de séries de données, comme les relevés pluviométriques de l’Équateur, exige le calcul de valeurs représentatives. Outre la MOYENNE() arithmétique classique, ce sous-chapitre introduit la MOYENNE.GEOMETRIQUE() pour les taux de croissance et la MOYENNE.HARMONIQUE() pour les vitesses. L’élève apprendra à déterminer la MEDIANE() pour identifier la valeur centrale d’une distribution et le MODE.SIMPLE() pour repérer la valeur la plus fréquente, par exemple dans une enquête épidémiologique sur le choléra à Goma.
1.3. Les fonctions de dispersion et de position
Pour évaluer l’homogénéité d’une série de données, il faut mesurer sa dispersion. L’élève utilisera les fonctions VAR.S() (Variance) et ECARTYPE.S() (Écart-type) pour quantifier la volatilité des prix sur les marchés de Kinshasa ou la variabilité des notes dans une classe. L’étude se complète par l’utilisation de FREQUENCE() pour la distribution des données en classes et RANG() pour le classement des valeurs, essentiel pour la gestion des palmarès scolaires.
1.4. Application aux calculs scientifiques complexes
Cette section intègre les acquis précédents dans des feuilles de calcul dynamiques. L’élève concevra des tableaux automatisés pour reconstituer les tables trigonométriques complètes ou pour analyser des résultats d’enquêtes démographiques dans le Kongo Central. L’accent est mis sur l’imbrication des fonctions et l’utilisation des références absolues et relatives pour créer des outils de calcul réutilisables et robustes.
Chapitre 2 : Organisation et synthèse des données
Ce chapitre traite de la gestion des bases de données volumineuses. Il apprend à l’élève à synthétiser des milliers de lignes de données en tableaux résumés intelligibles, une compétence clé pour la gestion d’entreprises ou d’administrations.
2.1. Création et gestion des tableaux croisés dynamiques
Le Tableau Croisé Dynamique (TCD) est l’outil d’analyse le plus puissant d’Excel. L’élève apprendra à insérer un TCD à partir d’une base de données brute, à glisser-déposer les champs dans les zones (Lignes, Colonnes, Valeurs, Filtres) pour obtenir des synthèses instantanées. Nous prendrons pour exemple l’analyse des recettes annuelles de la SNEL ou de la REGIDESO, ventilées par province et par type de client, permettant une lecture claire des performances économiques.
2.2. Les graphiques croisés dynamiques
Pour visualiser les synthèses obtenues par les TCD, l’élève créera des Graphiques Croisés Dynamiques (GCD). Contrairement aux graphiques standards, les GCD sont interactifs et s’ajustent automatiquement aux filtres appliqués au TCD. L’élève apprendra à choisir le type de graphique (histogramme, secteur, courbe) approprié à la nature des données, par exemple pour illustrer l’évolution comparative de la production minière à Kolwezi et à Likasi sur cinq ans.
2.3. La consolidation des données multisources
Lorsque les données sont réparties sur plusieurs feuilles ou classeurs (par exemple, les bilans mensuels de différentes succursales d’une pharmacie), il est nécessaire de les regrouper. La fonctionnalité de consolidation permet d’agréger ces données par position (si les tableaux ont la même structure) ou par catégorie. L’élève réalisera la synthèse annuelle des cotes des élèves à partir des feuilles de résultats périodiques, automatisant ainsi la production des bulletins de fin d’année.
2.4. Le filtrage avancé et les segments
Pour explorer les données en profondeur, le filtrage simple est souvent insuffisant. Le filtrage avancé permet d’extraire des données vers une autre zone de la feuille selon des critères complexes (ET/OU). L’introduction des « Segments » (Slicers) offre une interface visuelle conviviale pour filtrer les TCD. L’élève utilisera ces outils pour extraire, par exemple, la liste des élèves de sexe féminin ayant obtenu plus de 70% en Mathématiques et en Physique dans une école de Lubumbashi.
Chapitre 3 : Intégrité et validation des données
Ce chapitre final de la première partie se concentre sur la fiabilité des données. Il enseigne comment prévenir les erreurs de saisie à la source, garantissant ainsi la qualité des analyses ultérieures.
3.1. Le concept de validation des données
La validation des données consiste à définir des règles strictes régissant ce qui peut être saisi dans une cellule. L’élève comprendra l’importance de restreindre les types de données (nombres entiers, décimaux, dates, listes) pour éviter les incohérences, comme saisir « vingt » au lieu de « 20 » dans un champ numérique, ce qui fausserait les calculs.
3.2. Création de listes déroulantes et critères de restriction
Pour standardiser les entrées, l’élève apprendra à créer des listes déroulantes basées sur des plages de cellules existantes. Il configurera des critères de validation numériques, par exemple en limitant la saisie des cotes entre 0 et 20 ou en imposant des dates valides pour un calendrier scolaire. Cette technique sera appliquée à la création d’un masque de saisie pour les bulletins de paie d’une PME à Matadi.
3.3. Gestion des messages de saisie et d’erreur
L’ergonomie des feuilles de calcul est améliorée par l’ajout de messages de saisie (infobulles) guidant l’utilisateur, et de messages d’erreur personnalisés (Arrêt, Avertissement, Information) qui apparaissent lors d’une tentative de saisie invalide. L’élève configurera ces alertes pour guider les opérateurs de saisie et empêcher l’introduction de données aberrantes dans le système.
3.4. Protection des feuilles et des classeurs
Pour préserver l’intégrité des formules et la structure des tableaux, il est crucial de sécuriser le classeur. L’élève apprendra à déverrouiller uniquement les cellules destinées à la saisie, puis à protéger la feuille par un mot de passe. Il verra aussi comment protéger la structure du classeur et chiffrer le fichier pour garantir la confidentialité des données sensibles, comme les dossiers médicaux ou financiers.
🧬 PARTIE 2 : ALGORITHMIQUE ET PROGRAMMATION STRUCTURÉE
Cette partie marque le passage de l’utilisateur d’outils au concepteur de solutions. L’élève développe sa pensée logique pour structurer des traitements complexes. L’algorithmique est abordée indépendamment du langage, puis implémentée en C ou Python. L’objectif est de maîtriser les structures fondamentales permettant de gérer des flux d’exécution non linéaires et des ensembles de données organisés.
Chapitre 4 : Structures de contrôle complexes
Ce chapitre étend la logique de programmation au-delà des séquences simples, permettant de résoudre des problèmes où les décisions et les répétitions s’entremêlent.
4.1. Les structures conditionnelles imbriquées
La réalité est rarement binaire. L’élève apprendra à imbriquer des instructions Si… Alors… Sinon pour gérer des cas multiples et exclusifs. Nous prendrons l’exemple de l’attribution des mentions scolaires (Si > 80% alors « Très Bien », Sinon Si > 70% alors « Bien », etc.) ou le calcul de l’impôt progressif sur le revenu professionnel. L’élaboration d’organigrammes clairs sera exigée pour visualiser cette logique.
4.2. Les boucles imbriquées
Le traitement de données matricielles ou de combinaisons nécessite d’insérer une boucle dans une autre. L’élève étudiera le fonctionnement des boucles Pour et Tant que imbriquées, en analysant l’évolution des compteurs internes et externes. Un exemple classique sera l’affichage des tables de multiplication ou le parcours des pixels d’une image (ligne par ligne, colonne par colonne).
4.3. Combinaison de boucles et d’alternatives
Les algorithmes réels mélangent conditions et répétitions. L’élève concevra des algorithmes mixtes, par exemple une boucle qui parcourt une liste d’élèves et une condition interne qui compte séparément les garçons et les filles, ou qui calcule la moyenne des notes supérieures à la moyenne générale. Cette structure est fondamentale pour l’analyse statistique conditionnelle.
4.4. Tracé et optimisation des organigrammes complexes
La représentation graphique des algorithmes complexes est un outil de conception et de débogage. L’élève s’exercera à tracer des logigrammes normalisés pour des algorithmes mixtes, en veillant à la clarté du flux et à l’évitement des « structures spaghetti ». L’optimisation consistera à réduire le nombre de tests ou d’itérations nécessaires pour atteindre le résultat.
Chapitre 5 : Les structures de données : Les Tableaux
La manipulation de variables simples (scalaires) montre ses limites lorsqu’il faut traiter de grandes quantités de données homogènes. Ce chapitre introduit les tableaux comme structure de stockage et de traitement de masse.
5.1. Définition et déclaration des tableaux unidimensionnels (Vecteurs)
Un tableau unidimensionnel (ou vecteur) est une variable contenant plusieurs valeurs de même type, accessibles par un indice. L’élève apprendra la syntaxe de déclaration en pseudo-code et en langage de programmation (ex: int notes[50] en C ou notes = [] en Python), en distinguant la taille du tableau de son contenu.
5.2. Manipulation des vecteurs (Lecture, Écriture, Parcours)
L’exploitation des tableaux repose sur l’utilisation de boucles. L’élève écrira des algorithmes pour remplir un tableau par saisie utilisateur, afficher son contenu, calculer la somme ou la moyenne des éléments. Nous appliquerons cela au stockage des températures mensuelles d’une ville comme Bukavu pour en calculer la moyenne annuelle.
5.3. Les tableaux bidimensionnels (Matrices)
Une matrice est un tableau à deux indices (lignes et colonnes), image informatique d’un tableau à double entrée. L’élève apprendra à déclarer et à parcourir une matrice à l’aide de deux boucles imbriquées. Cette structure sera utilisée pour stocker, par exemple, les notes de plusieurs élèves dans plusieurs matières.
5.4. Traitement matriciel et applications scientifiques
Au-delà du stockage, les matrices permettent des opérations mathématiques. L’élève implémentera l’addition de deux matrices, la transposition (échange lignes/colonnes) ou la recherche d’un élément spécifique (point-selle). Ces compétences préparent à la modélisation de grilles géographiques ou de systèmes d’équations linéaires simples.
Chapitre 6 : Modularité : Fonctions et Procédures
Pour gérer la complexité croissante des programmes, il est indispensable de les découper en sous-problèmes. Ce chapitre introduit la programmation modulaire, gage de lisibilité et de réutilisabilité du code.
6.1. Concepts de sous-programmes et modularité
La modularité consiste à diviser un programme principal en blocs autonomes spécialisés. L’élève comprendra l’intérêt de cette approche : éviter la répétition du code, faciliter la maintenance et permettre le travail collaboratif. Le principe « Diviser pour régner » sera appliqué à la décomposition d’un problème complexe, comme la gestion d’une bibliothèque.
6.2. Définition et appel des fonctions
Une fonction est un sous-programme qui retourne une valeur (résultat). L’élève apprendra à définir une fonction (en-tête, corps, instruction de retour) et à l’appeler dans le programme principal. Nous codrons, par exemple, la fonction Delta(a,b,c) qui calcule le discriminant d’une équation du second degré, ou une fonction SurfaceCercle(rayon).
6.3. Définition et appel des procédures
Une procédure effectue une action sans retourner de valeur explicite (affichage, modification de variables globales). Bien que certains langages modernes (Python) ne fassent pas de distinction syntaxique stricte, le concept algorithmique reste pertinent. L’élève écrira des procédures pour afficher des menus, tracer des lignes de séparation ou trier des données.
6.4. Gestion des paramètres et portée des variables
La communication entre le programme principal et les modules se fait via des paramètres (arguments). L’élève distinguera le passage par valeur (copie) du passage par référence (adresse). Il comprendra également la notion de portée (visibilité) des variables : variables locales (propres au module) vs variables globales (accessibles partout), en privilégiant l’usage des variables locales pour la robustesse du code.
💾 PARTIE 3 : ALGORITHMES AVANCÉS ET PERSISTANCE DES DONNÉES
Cette dernière partie aborde des algorithmes classiques de l’informatique fondamentale (recherche, tri) et la gestion des fichiers. Elle confère à l’élève la capacité de traiter efficacement les données stockées dans les tableaux et d’assurer la conservation des informations entre deux exécutions du programme, simulant ainsi des applications réelles.
Chapitre 7 : Algorithmes de recherche
Retrouver une information dans une masse de données est une opération fréquente. Ce chapitre compare deux méthodes de recherche, mettant en évidence l’importance de l’efficacité algorithmique.
7.1. Principe de la recherche séquentielle
La recherche séquentielle consiste à parcourir le tableau élément par élément jusqu’à trouver la valeur cible ou atteindre la fin. C’est la méthode la plus simple, applicable aux tableaux non triés. L’élève décrira ce processus et identifiera son inconvénient majeur : la lenteur sur les grands volumes de données.
7.2. Implémentation de la recherche séquentielle
L’élève écrira l’algorithme et le programme correspondant. Il utilisera une boucle (Tant que ou Pour) et un drapeau (booléen) pour indiquer si l’élément a été trouvé. L’application portera sur la recherche d’un nom d’élève dans une liste de classe désordonnée ou la vérification de la présence d’un article dans un stock.
7.3. Principe de la recherche dichotomique
Si le tableau est trié, on peut utiliser la dichotomie : diviser l’espace de recherche par deux à chaque étape en comparant la cible à l’élément central. L’élève comprendra la logique de cet algorithme « diviser pour régner », illustré par la recherche d’un mot dans un dictionnaire ou d’un numéro dans un annuaire téléphonique.
7.4. Implémentation et comparaison des performances
L’élève implémentera la recherche dichotomique en gérant les indices de début, de fin et de milieu. Il comparera ensuite le nombre d’itérations nécessaires pour les deux méthodes (séquentielle vs dichotomique) sur un tableau de 1000 éléments, touchant ainsi du doigt la notion de complexité algorithmique.
Chapitre 8 : Algorithmes de tri
Mettre de l’ordre dans les données est souvent un préalable à leur traitement efficace. Ce chapitre présente deux algorithmes de tri classiques, pédagogiques et fondamentaux.
8.1. Nécessité du tri en informatique
Le tri facilite la recherche (dichotomie), la détection de doublons et la présentation des données (palmarès, classements). L’élève identifiera des situations nécessitant un tri : classer les élèves par mérite, ordonner les factures par date, lister les températures de la plus basse à la plus haute.
8.2. Le tri par sélection : Principe et algorithme
Le tri par sélection consiste à chercher le plus petit élément du tableau et à l’échanger avec le premier, puis à recommencer avec le reste du tableau. L’élève décrira ce mécanisme et le traduira en algorithme utilisant deux boucles imbriquées. C’est un tri intuitif et robuste pour les petits tableaux.
8.3. Le tri à bulles : Principe et algorithme
Le tri à bulles fait « remonter » les plus grands éléments vers la fin du tableau par des permutations successives de voisins mal ordonnés. L’élève analysera le fonctionnement de ce tri, écrira l’algorithme avec une boucle et un indicateur d’échange, et comprendra pourquoi il est souvent cité comme exemple pédagogique malgré sa lenteur relative.
8.4. Comparaison et optimisation des tris
L’élève comparera les deux algorithmes en termes de logique et de nombre d’opérations. Il pourra optimiser le tri à bulles (arrêt si aucune permutation n’est faite) et appliquera ces tris à des données concrètes, comme le classement des villes de RDC par population ou par température moyenne.
Chapitre 9 : Gestion des fichiers de données
Les variables en mémoire vive sont volatiles. Pour conserver les données, il faut les écrire sur un support de stockage. Ce chapitre final introduit la persistance des données.
9.1. Concept de persistance et types de fichiers
Un fichier est une collection de données stockées sur un disque dur ou une clé USB. L’élève distinguera les fichiers textes (lisibles par un éditeur, ex: .txt, .csv) des fichiers binaires (structurés pour la machine, ex: images, exécutables). Nous nous concentrerons sur les fichiers textes pour leur simplicité pédagogique.
9.2. Ouverture, fermeture et modes d’accès
Avant d’utiliser un fichier, le programme doit l’ouvrir. L’élève apprendra les modes d’ouverture : lecture seule (r), écriture avec écrasement (w) et ajout en fin de fichier (a). Il comprendra l’importance cruciale de fermer le fichier après usage pour libérer les ressources système et valider l’écriture.
9.3. Écriture et lecture dans un fichier texte
L’élève utilisera les fonctions spécifiques du langage (ex: fprintf/fscanf en C, write/read en Python) pour écrire des données dans un fichier et les relire. Il apprendra à gérer la fin de fichier (EOF) lors de la lecture pour éviter les erreurs d’exécution.
9.4. Applications pratiques : Carnet d’adresses et archivage
En projet de synthèse, l’élève développera une mini-application de gestion de carnet d’adresses. Le programme permettra de saisir des contacts (Nom, Tél, Email), de les sauvegarder dans un fichier, et de les consulter ultérieurement. Cela concrétise l’utilité de la programmation pour créer des outils de gestion pérennes, applicables à la gestion d’une bibliothèque scolaire ou d’un petit commerce.
📎 ANNEXES
A.1. Liste des raccourcis clavier Excel essentiels
Un récapitulatif des combinaisons de touches (Ctrl+C, Ctrl+V, F4 pour les références absolues, Ctrl+Flèches pour la navigation) pour augmenter la productivité des élèves lors des travaux pratiques.
A.2. Syntaxe comparée Python / C
Un tableau mettant en parallèle les instructions de base (Affichage, Saisie, Si, Pour, Tant que) dans les deux langages, servant d’aide-mémoire pendant les séances de codage.
A.3. Codes ASCII et Unités de mesure de l’information
Une table des codes ASCII standards pour comprendre le codage des caractères et un tableau de conversion des unités de stockage (Bit, Octet, Ko, Mo, Go, To) pour la culture générale informatique.
A.4. Guide de débogage rapide
Une liste de conseils pour identifier et corriger les erreurs courantes en programmation (boucles infinies, erreurs de syntaxe, variables non initialisées, indices hors limites).