Présentation de l'unité

Cette unité d'enseignement permet de construire les bases conceptuelles, méthodologiques et pratiques associées à la programmation impérative en C et Python. Elle couvre les concepts fondamentaux de l'architecture des ordinateurs, des structures de données et des bonnes pratiques de développement logiciel.

Thèmes abordés

T1. Génie logiciel

Étude approfondie : Génie logiciel.

T1.1. Systèmes d'exploitation : gestion des processus et fichiers

Ce sous-thème aborde les mécanismes fondamentaux des systèmes d'exploitation modernes, avec un focus particulier sur la gestion des processus et des fichiers.

système d'exploitation processus fichier répertoire Linux commande shell

T1.2. Mise au point et tests de programmes

Apprentissage des techniques de débogage et de validation de code pour garantir la qualité et la fiabilité des programmes.

test débogage assertion jeu de test trace erreur exception

T1.3. Arbres binaires et arbres binaires de recherche

Étude des structures arborescentes fondamentales en informatique, avec applications aux algorithmes de recherche et de tri.

arbre arbre binaire ABR nœud feuille racine parcours hauteur

T2. Programmation fonctionnelle

Étude approfondie : Programmation fonctionnelle.

T2.1. Listes chaînées, piles et files

Introduction aux structures de données linéaires fondamentales et à leurs implémentations en mémoire.

liste chaînée pile file LIFO FIFO maillon structure linéaire

T3. Programmation orientée objet

Étude approfondie : Programmation orientée objet.

T3.1. Modèle d'architecture de Von Neumann

Compréhension du modèle d'architecture informatique le plus répandu, base de la conception des ordinateurs modernes.

Von Neumann processeur mémoire bus UAL registre instruction

T3.2. Constructions élémentaires en Python

Maîtrise des éléments syntaxiques et sémantiques de base du langage Python pour la programmation impérative.

Python variable type boucle condition affectation itération

T3.3. Fonctions : spécification, paramètres, valeur de retour

Approche rigoureuse de la conception et de l'implémentation des fonctions en programmation impérative.

fonction paramètre retour spécification précondition postcondition modularité

T3.4. Dictionnaires et tables de hachage

Étude des structures de données associatives et de leurs implémentations efficaces.

dictionnaire table de hachage clé valeur collision fonction de hachage

T3.5. Modularité, API et mise au point de programmes

Bonnes pratiques pour organiser, documenter et tester des programmes complexes.

module API bibliothèque documentation interface encapsulation

T4. Compilation et interprétation

Étude approfondie : Compilation et interprétation.

Compétences visées

Ressources complémentaires