conf OCaml /

Filename Size Date modified Message
conf
tp
87 B
169 B
4.5 KB
###############################################################################
# Conférence OCaml - 11 octobre 2013         Philemon GARDET -  Rafael GOZLAN #
###############################################################################

###############################################################################
# Plan ########################################################################
> Acroche (fall of caml... parodie McPixel) - Denombrement Sup/Spe
> Enonciation du contenu de la conf [oral]
> Introduction : Pourquoi faire du OCaml [oral/ilustration] [Philemon]
     Rapide historique Prog Functionnel
     La situation de OCaml 
     "Powered by OCaml" :
          Exécution : Interprété/Byte-code/natif
          Logiciel Libre 
          "Produit du terroir" 
          Impure (possibilité de faire de l'impératif/objet)...
          ... Mais neanmoins fonctionnel (ouverture section suivante)
     Programmation Fonctionnelle
          Récursivité
          Ordre Superieur
          Fonctions pures (Non effet de bords) - Non modification d'état
          Unitarité des fonctions (indépendante car sans utiliser autre chose 
	que l'entrée).

> 0 - Rappel Partie Fonctionnelle [15 mins] [Maxime-RAF] (zaper des slides en 
	fonction du public) : 
     Valeurs, déclarations, listes... (zappable)
     Structure de contrôle (zappable)
     Polymorphisme (zappable)
     Filtrage (zappable)
     Les types (enregistrement, somme, recursifs, parametrer)
     Les exceptions (failwith, déclaration, récupération)
     Tricks 
          Contrainte de type
          Paramètres optionnels
          d'autres truc ?
> 1 - L'aspect Impératif [5 mins] [Maxime] :
     Séquences (gneeeeee-hautement zappable)
     Tricks :
          let _ = ...
          at_exit
          (autres)
     Entrées-sorties (gneeeeee)
     Boucles
> 2 Quelques structures de donnes [5-10 mins] [Rafael] :
     Vecteurs
     Piles/Files
     Tables de Hachages
> 3 - L'aspect Objet [30 mins] [Philemon] :
     Explication POO :
          Classe/Instance
          Methodes/Attributs
          Utilisation d'objet en OCaml
     Déclaration d'objets :
          Syntaxe
          Attribut (normal/mutable/option)
          Méthodes (normal/privée-accesLocal)
          Initialisation
          Attributs polymorphes (classes paramétrée)
     Héritages
     Polymorphisme de sous-type (l'operateur :>)
> 4 - La programmation Modulaire [15-20 mins] [Philemon] :
     Utilisation des modules (open... et sans - Gneeeeee)
     Les modules (juste fichiers separes, pas la structure)
     Les fichiers interface (.mli)
     La compilation :
          ocaml,ocamlc,ocamlopt
          ocamlbuild
          faire de la documentation (ocamldoc)
> 5 - La Bibliothèque SDL [45-60 mins] [Philemon] :
     Introduction : objectif - principe des surface
     Presentation des modules (sommaire de la presentation SDL)
          Sdl : Init
          Sdlwm : Controle de la fenetre
          Sdlvideo : Gestion des surface (plus important)
          Sdltime : delay (pratique pour les animation et flip)
          Sdlevent : clavier, souris et le reste (Sdlkey/Sdlmouse)
          Sdlttf : Affichage de texte
          Sdlloader : Charger des images
          Sdlmixer : La gestion du son 
          Sdlgfx : C'est de la triche
     Introduction a SDL :
          SDLinit
          creation d'une fenetre
     Le bas niveau de l'affichage
          gestion des surfaces
               Les types de surface
               Le type rect
               Chargement d'image
               Les pixel :
                    Colors
                    Acces/Modification Pixel
               "Mergedown !"
               Actuallisation de l'affichage
               Creer des surface a partir de rien
     Gestion des evenements
     Une boucle d'affichage classique en SDL.
          Event
          Flip/Sdltime : actualiser l'ecran
          Modification et deplacement
     Presentation des modules Bonus : Son/texte/gfx

> Conclusion : Les choses qu'on n'a pas abordées (libs, stdlib, liens)

###############################################################################
# TPs #########################################################################

> Sup/Spe : La programmation objet [Theory]

> Sup : SDL is fun [Phil]
> Spe : SDL et traitement d'images [Rafael]

###############################################################################
# Notes / Infos ###############################################################
- Deadline de la conference :  Mercredi 9 Octobre - 19h00
- Phil : Retrouver des vetement correctes

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.