ECTS
3 crédits
Composante
UFR Informatique
Période de l'année
Semestre 2
Description
Le but de ce cours est de présenter quelques mécanismes sous-jacents à l'exécution des programmes. Nous expliquerons comment des programmes écrits dans des langages de haut niveau tels que Java peuvent être traduits en opérations de bas-niveau, plus proches du langage-machine. Nous aborderons en profondeur la manipulation de la mémoire, les appels de fonctions et la transmission de paramètres, avant de traiter des sujets tels que la récursion et le backtracking.
Pré-requis nécessaires
Le cours s'adresse aux étudiants ayant des compétences de base en programmation Java, acquises par exemple dans le module Initiation à la programmation 1 (ou Initiation à Java).
Syllabus
Sujets centraux
- Exécutions des programmes
- Variables, adresses, références
- Manipulation de la mémoire : pile, tas, zone statique, etc…
- Fonctions et modes de transmission des paramètres
- Blocs d'activation et la pile d'exécution
- Récursion, types récursifs
- Élimination de la récursion
- Mémoïsation
- Backtracking
Dernière mise à jour le 11 septembre 2023