Objectifs – acquis d’apprentissage
- Comprendre l’organisation de la mémoire de l’ordinateur et le fonctionnement un programme en mémoire.
- Étudier l’adressage de variables et de fonctions à l’aide de pointeurs.
- Programmer avec l’allocation dynamique de mémoire, utiliser les fichiers entrées/sorties.
- Apprendre les stratégies et les algorithmes avec la structure de graphes pour résoudre des problèmes pratiques (plus courts chemins, problème de quatre couleurs, …).
Prérequis
Les bases de programmation en C/C++.
Contenu pédagogique
- Mémoire d’un ordinateur : la pile, le tas, le segment de code, le segment des données.
- L’arithmétique des pointeurs.
- Gestion de mémoire : allocation dynamique, structure de données (piles, tableaux, enregistrement, …).
- Système de fichiers et gestion d’entrées et de sorties standards.
- Algorithmique sur le graphe et les structures arborescentes.
- Projet de programmation avancée permettant de mettre en pratique des notions vues en cours.