PresentationGenerale
Un article de WikiProg.
Sommaire |
Introduction Générale
Introduction à la programmation (Semaine 1 - 2008/10/06)
- Présentation du programme
- Introduction à l'envirronement de travail
- Introduction à l'analyse
Introduction à l'analyse et à la conception (Semaine 2 - 2008/10/13)
- Identification des données
- Représentation des données
- Types Abstraits
- Modules et programmation modulaire
OCaml et Programmation Fonctionnelle
Introduction à OCaml
- Compilation et architecture des programmes
- Programmation Fonctionnelle et base d'OCaml
- Programmation impérative en OCaml
Étude de cas 1: Évaluation d'expression
- Représentation des expressions
- Évaluation des expressions arithmétiques
- Ajout des booléens
- Vérification et typage
Programmation Modulaire
- Notion de modules
- Compilation séparée et modules
- Interfaces
- Modules imbriqués
- Foncteurs
Étude de cas 2: Expressions avec variables
- Extension des expressions avec variables locales
- Sémantique avec substitution
- Sémantique avec envirronement
- Utilisation du module Map
- Vérification des variables locales
- Support des variables globales
- Construction d'un mini-langage impératif
- Vérification et évaluation
Programmation Orientée Objet en OCaml
Langage C et Programmation Système (Unix)
Déclarations, allocations et structures de base (semaine du 2/02/2009)
- Où vont les donnée ?
- Allouer et libérer
- Durée de vie - statique v.s. dynamique
- Structures
- Du langage algo au C
Déclaration:Allocation:Structure
Modèle de la mémoire et allocation
- Multi-programmation et mémoire
- Mémoire virtuelle
- Gestion du tas
- Une approche de malloc(3)
Parallélisme et concurrence
- Notions de tâches élémentaires
- Éxecutions concurrentes et ressources partagées
- Section critique et exclusion mutuelle
- Le problèmes des gardiens compteurs et ses solutions ad-hoc
- Notions de verrous
- Sémaphores
- Problèmes classiques
Threads: la concurrence en pratique
- Création de threads
- Les outils disponibles: mutex et conditions
- Solutions pratiques aux problèmes classiques
