Thème 1 : Représentation des données
Comprendre comment les données sont représentées en machine : nombres, textes, images, sons, et structures de données.
1.1 Représentation des entiers et des réels
10h
Maîtriser les différentes représentations numériques en machine.
Notions clés
- Binaire : base 2, chiffres 0 et 1
- Conversion décimal ↔ binaire ↔ hexadécimal
- Complément à deux : représentation des entiers négatifs
- Virgule flottante (IEEE 754) : signe + exposant + mantisse
- Dépassement de capacité : résultat hors de la plage représentable
Compétences visées
- Convertir un entier entre bases 2, 10 et 16
- Calculer le complément à deux d'un entier
- Expliquer la représentation en virgule flottante
- Identifier un dépassement de capacité
- Programmer des conversions de base en Python
Vocabulaire
1.2 Représentation du texte et des images
10h
Comprendre les encodages des données textuelles et graphiques.
Notions clés
- ASCII : 128 caractères codés sur 7 bits
- Unicode : standard universel pour tous les caractères
- UTF-8 : encodage variable (1 à 4 octets par caractère)
- Image matricielle : grille de pixels, chaque pixel = couleur RVB
- Compression : réduction de la taille d'un fichier
Compétences visées
- Encoder et décoder un texte en ASCII/UTF-8
- Calculer la taille d'une image non compressée
- Expliquer la différence entre image matricielle et vectorielle
- Analyser les effets de la compression
- Manipuler des images en Python (PIL/Pillow)
Vocabulaire
1.3 Structures de données
10h
Maîtriser les structures de données fondamentales et leur complexité.
Notions clés
- Liste Python : séquence ordonnée, modifiable
- Dictionnaire : association clé-valeur
- Pile (LIFO) : dernier entré, premier sorti
- File (FIFO) : premier entré, premier sorti
- Complexité : O(1), O(n), O(n²) pour les opérations
Compétences visées
- Utiliser les listes, tuples et dictionnaires Python
- Implémenter une pile et une file
- Choisir la structure de données adaptée
- Analyser la complexité des opérations
- Manipuler des données structurées en Python