Ce programme est conçu pour fournir une base solide en programmation et algorithmique tout en les introduisant à des concepts clés en informatique.
Partie 1 : Python et pratique
Introduction à la programmation
- Variables et types de données (entiers, flottants, chaînes, booléens).
- Instructions conditionnelles (
if
,elif
,else
). - Boucles (
for
,while
). - Fonctions : définition, paramètres, retour de valeur.
Structures de données
- Listes : création, manipulation, méthodes principales.
- Tuples, dictionnaires et ensembles.
- Manipulation de fichiers : ouverture, lecture, écriture.
Modularité
- Création et utilisation de fonctions.
- Organisation en modules et utilisation de bibliothèques standard.
Algorithmique
Bases de l’algorithmique
- Notion d’algorithme et étapes de résolution d’un problème.
- Représentation par pseudocode et schémas (arbres, graphes simples).
- Boucles et structures itératives.
Résolution de problèmes classiques
- Recherche séquentielle et dichotomique.
- Tri par insertion et tri à bulles.
- Optimisation (algorithmes gloutons, etc.).
- Analyse et optimisation des performances (complexité algorithmique).
Récursivité
- Introduction au concept de récursivité.
- Résolution de problèmes simples avec des fonctions récursives.
Structures de données avancées
Tableaux et listes
- Manipulation des éléments.
- Parcours, insertion, suppression.
Piles et files
- Notions fondamentales, utilisation en algorithmique.
- Implémentation simple en Python.
Concepts avancés en Python
Introduction à la programmation orientée objet (POO)
- Création de classes et d’objets.
- Méthodes et attributs.
- Encapsulation et constructeurs.
Utilisation de bibliothèques
- Modules Python standard (
math
,random
). - Initiation à des bibliothèques utiles (par exemple,
time
). - Exploitation des bibliothèques Python pour l’analyse de données (pandas, NumPy).
- Génération de graphiques simples pour visualiser les données.
- Manipulation de fichiers CSV.
Partie 2 : Théorie et culture générale
Histoire de l'informatique
- Étude des figures marquantes (Alan Turing, Ada Lovelace, etc.).
- Découverte des événements clés : naissance de l’ordinateur, évolution d’Internet, etc.
- Impact de l’informatique sur la société moderne.
Représentation des données : types et valeurs de base
- Représentation binaire et hexadécimal des nombres et des caractères.
- Compréhension des systèmes d’encodage comme ASCII et Unicode.
- Notions de bases sur les systèmes de numération.
- Codage des données : texte, images, sons.
Architectures matérielles et systèmes d'exploitation
- Exploration des composants d’un ordinateur : processeur, mémoire, stockage, etc.
- Introduction aux concepts de systèmes d’exploitation : gestion des ressources, multitâche.
- Notions sur les réseaux : transmission des données, protocoles, adresses IP.
Interactions entre l'homme et la machine sur le Web
- Concepts des interfaces homme-machine (IHM) : ergonomie, accessibilité.
- Fonctionnement des pages web : client-serveur, événements, JavaScript.
- Analyse de l’importance de l’expérience utilisateur (UX).