Le cours d’Algorithmique et programmation 1 initie l’étudiant à la démarche algorithmique et à la programmation, compétence désormais indispensable au technicien en télécommunications et réseaux : automatisation de la configuration d’équipements, scripts de supervision, traitement de relevés de mesures, calculs de dimensionnement. On apprend d’abord à décrire une solution sous forme d’algorithme en pseudo-code, puis à la traduire en Python 3, langage retenu pour sa simplicité et sa large utilisation dans l’automatisation réseau (Netmiko, Ansible, scripts d’exploitation). Des équivalents en langage C sont donnés pour les structures essentielles. Les exemples s’appuient sur des situations concrètes : calcul d’une facture de communication en FCFA, analyse de débits mesurés sur des liens d’un opérateur, conversion de puissances en dBm.
Objectifs d’apprentissage
- Analyser un problème simple et le décrire par un algorithme en pseudo-code (données, traitements, résultats).
- Utiliser correctement variables, types, affectation, expressions et entrées/sorties.
- Maîtriser les structures de contrôle : alternatives (si/sinon) et répétitives (pour, tant que).
- Manipuler tableaux et listes : parcours, recherche, calcul de statistiques, tri simple.
- Écrire, tester et déboguer de petits programmes Python structurés en fonctions.
Prérequis
Aucun prérequis spécifique ; une aisance minimale avec l’ordinateur (clavier, fichiers, dossiers) est souhaitable.
Plan du cours
- Leçon 1 — Algorithmes, variables, types et entrées/sorties
- Leçon 2 — Structures de contrôle : conditions et boucles
- Leçon 3 — Structures de données de base : tableaux et listes
- Leçon 4 — Programmer en Python : fonctions, modules et bonnes pratiques
Modalités d’évaluation
Volume horaire : 10 h de CM, 10 h de TD, 20 h de TP sur machine (Python 3, IDLE ou Thonny/VS Code) et 10 h de TPE ; 3 crédits. Évaluation : contrôle continu (exercices de TD, programmes rendus en TP, quiz) et examen terminal comprenant une épreuve écrite d’algorithmique et/ou une épreuve pratique sur machine.
Bibliographie
- T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction à l’algorithmique, Dunod.
- G. Swinnen, Apprendre à programmer avec Python 3, Eyrolles.
- B. W. Kernighan, D. M. Ritchie, Le langage C – Norme ANSI, Dunod.
- Documentation officielle Python : docs.python.org/fr/3 (tutoriel).
