ntroduction générale (10 pages)
1. Qu’est-ce que l’informatique ? Définitions et historique.
2. Domaines d’application (sciences des données, IA, cybersécurité,
robotique, etc.).
3. Organisation du cours et objectifs pédagogiques.
Partie 1 : Fondamentaux de la programmation (80 pages)
Chapitre 1 : Introduction à la programmation (30 pages)
Concepts de base : variables, types de données, opérateurs.
Structures de contrôle (conditions, boucles).
Fonctions et modularité.
Exemples en Python ou JavaScript.
Chapitre 2 : Programmation orientée objet (POO) (30 pages)
Classes, objets, héritage, encapsulation, polymorphisme.
Design patterns de base (Singleton, Factory).
Étude de cas : conception d’une application simple.
Chapitre 3 : Structures de données (20 pages)
Listes, piles, files, arbres, graphes, tables de hachage.
Implémentation et complexité algorithmique.
Partie 2 : Algorithmique (70 pages)
Chapitre 4 : Algorithmes classiques (30 pages)
Algorithmes de tri (QuickSort, MergeSort).
Algorithmes de recherche (DFS, BFS, binaire).
Problèmes d’optimisation (sac à dos, plus court chemin).
Chapitre 5 : Complexité et analyse (20 pages)
Notation Big O.
Analyse de temps et d’espace.
NP-complétude et limites pratiques.
Chapitre 6 : Récursivité et programmation dynamique (20 pages)
Principes de la récursivité.
Mémoïsation et exemples (Fibonacci, multiplication de matrices).
Partie 3 : Architecture des ordinateurs (60 pages)
Chapitre 7 : Composants matériels (20 pages)
CPU, RAM, disques, bus.
Architecture von Neumann vs Harvard.
Chapitre 8 : Assembleur et bas niveau (20 pages)
Bases du langage assembleur.
Gestion de la mémoire (pile, tas).
Interaction matériel/logiciel.
Chapitre 9 : Systèmes d’exploitation (20 pages)
Rôles d’un OS (gestion des processus, mémoire, fichiers).
Exemples : Linux, Windows.
Programmation système (appels système, threads).
Partie 4 : Bases de données (50 pages)
Chapitre 10 : Modèles de données (20 pages)
Relationnel (SQL) vs NoSQL (MongoDB, Redis).
Schémas, clés primaires/étrangères.
Chapitre 11 : Langage SQL et optimisation (20 pages)
Requêtes CRUD, jointures, agrégations.
Indexation et normalisation.
Chapitre 12 : Big Data et entrepôts de données (10 pages)
Introduction à Hadoop, Spark.
Concepts de Data Lakes et Data Warehouses.
Partie 5 : Réseaux et cybersécurité (60 pages)
Chapitre 13 : Réseaux informatiques (30 pages)
Modèle OSI et TCP/IP.
Protocoles (HTTP, DNS, DHCP).
Configuration réseau (IP, sous-réseaux).
Chapitre 14 : Cybersécurité (30 pages)
Menaces (virus, phishing, ransomware).
Cryptographie (symétrique/asymétrique, SSL/TLS).
Bonnes pratiques (pare-feu, authentification à deux facteurs).
Partie 6 : Développement logiciel (50 pages)
Chapitre 15 : Méthodologies de développement (20 pages)
Cycle en V, Agile, DevOps.
Gestion de projet (SCRUM, Kanban).
Chapitre 16 : Outils et bonnes pratiques (30 pages)
Git et GitHub.
Tests unitaires/intégration.
Documentation (Markdown, Swagger).
Partie 7 : Intelligence Artificielle et Machine Learning (50
pages)
Chapitre 17 : Introduction à l’IA (20 pages)
Histoire de l’IA.
Algorithmes de base (régression linéaire, arbres de décision).
Chapitre 18 : Deep Learning (30 pages)
Réseaux de neurones (CNN, RNN).
Frameworks (TensorFlow, PyTorch).
Étude de cas : classification d’images.
Partie 8 : Informatique théorique (30 pages)
Chapitre 19 : Langages formels (15 pages)
Automates finis, expressions régulières.
Grammaires hors contexte.
Chapitre 20 : Calculabilité et complexité (15 pages)
Problème de l’arrêt.
Classes P, NP, NP-dur.
Partie 9 : Éthique et enjeux sociétaux (20 pages)
Vie privée et RGPD.
Biais algorithmiques.
Impact environnemental du numérique.
Partie 10 : Technologies émergentes (20 pages)
Informatique quantique.
Blockchain et Web3.
Métavers et réalité augmentée.