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

Slides du premier cours

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

Slides du deuxième cours

OCaml et Programmation Fonctionnelle

Introduction à OCaml

  • Compilation et architecture des programmes
  • Programmation Fonctionnelle et base d'OCaml
  • Programmation impérative en OCaml

Slides du cours.

Étude de cas 1: Évaluation d'expression

  • Représentation des expressions
  • Évaluation des expressions arithmétiques
  • Ajout des booléens
  • Vérification et typage

Slides du cours.

Programmation Modulaire

  • Notion de modules
  • Compilation séparée et modules
  • Interfaces
  • Modules imbriqués
  • Foncteurs

Slides du cours.

É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

Slides du cours.

Programmation Orientée Objet en OCaml

  • Notion de OOP
  • Syntaxe OOP dans OCaml
  • Classes et héritage
  • Modélisation objet (bases)

Slides du cours.

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)

VM:malloc

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

Concurrences

Threads: la concurrence en pratique

  • Création de threads
  • Les outils disponibles: mutex et conditions
  • Solutions pratiques aux problèmes classiques

Threads

Outils personnels