Programmation avancée

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.