MESR EDITE UPMC CNRS UMR 7606 LIP6 APR
philippe.wang.jpg
 

Philippe Wang's homepage

About Thesis Links Teaching Projects References Contact Misc

About

2013-2014

2013-2014 - ** I moved to Cambridge (UK) to be a Research Associate (postdoc). **

Formerly

2006-2013 - Member of the executive board of the Association of computer science students of Paris 6 (AEIP6).
2011-2013 - Research Associate, Team APR, LIP6, University Pierre and Marie Curie .

2010-2011 - Attaché Temporaire d'Enseignement et de Recherche (ATER) / Teaching Assistant.
2007-2010 - Allocataire de recherche.
2007-2010 - Moniteur de l'enseignement supérieur en Informatique.
2007-2010 - Delegate of CIES Jussieu's “DS9” (computer science) teaching assistants (“moniteurs” in French).
2006-2008 - Secretary of the Association of computer science students of Paris 6 (AEIP6).

Diplomas

I have a Doctorat (Ph.D.) (2012) in Computer Science from Université Pierre et Marie Curie.

I have a Master's degree (2007) and a Bachelor's degree (2005) in Computer Science, from Université Pierre et Marie Curie.

I also have a “Baccalauréat Scientifique, spécialité Physique-Chimie” (2002).
I even have a “Brevet des Collèges” (1999).

I passed a “Certificat de Compétences en Langues de l'Enseignement Supérieur 3 (CLES 3)” in English (2012), which corrolates with the C1 European level.
Before that, I passed a “Certificat de Compétences en Langues de l'Enseignement Supérieur 2 (CLES 2)” in English (2007), which corrolates with the B2 European level.

Thesis

I publicly defended my Doctorat (Ph.D.) thesis on Thursday 4 October 2012, before the committee composed of:

Président
Prof.Bertil Folliot Université Pierre et Marie Curie
Rapporteurs
Prof.Roberto Di Cosmo Université Paris Diderot
Dr.Virginie Wiels Onera Toulouse
Examinateurs
Prof.Pascale Le Gall Université d'Evry-Val d'Essonne
Dr.Philippe Narbel Université Bordeaux 1
Dr.Bruno Pagano Esterel Technologies
Prof.Edmond Schonberg New York University
Directeur
Prof.Emmanuel Chailloux Université Pierre et Marie Curie

The slides (in French) I used are online: slides_These__Philippe_Wang.pdf (382kB).

My dissertation (in French) is online: These__Philippe_Wang.pdf (1.87MB). You may also find it on TEL/HAL.


Teaching

2012/2013

LI349-2012oct - Compilation

Chargé du cours 11 (1h45) : slides (PDF, moins de 300kB)interp.c.html
N.B. Le fichier 'interp.c' est disponible dans le répertoire 'byterun' de la distribution officielle d'OCaml.

MI019-2012oct - Programmation Concurrente Réactive et Répartie

Thèmes: processus, threads posix, fair threads, client/serveur, ...
Travaux dirigés et travaux sur Machines Encadrés (34h éq. TD)

MI016-2012oct - Implantation des Langages de Programmation

langages utilisés : XML/RNG, Java, C
Travaux sur Machines Encadrés (4h)

NI512-2012oct - Typage et polymorphisme

Lambda calcul, lambda calcul typé, typage ML, objets OCaml, objets Java, ...
Travaux sur Machines Encadrés (8h éq. TD)

2011/2012

MI016-2011oct - Implantation des Langages de Programmation

langages utilisés : XML/RNG, Java, C
Travaux sur Machines Encadrés (10h)

MI042-2012fev - Projet STL

Co-encadrement de deux projets de deux étudiants chacun, avec Emmanuel Chailloux et Benoît Vaugon. L'un porte sur la programmation en OCaml d'un microcontrôleur PIC18 avec OCAPIC. L'autre porte sur le portage d'OCAPIC sur architecture Arduino.

2010/2011

I was “Attaché Temporaire d'Enseignement et de Recherche” (“Teaching Assistant”) in 2010/2011

LI101-2010oct - Programmation récursive

langage utilisé : Scheme
Travaux Dirigés et Travaux sur Machines Encadrés (44h)

LI105-2011fev - De la Puce au Web

thèmes : du circuit électronique aux serveurs de pages web...
Travaux Dirigés et Travaux sur Machines Encadrés (23h)

LI220-2010oct - Programmation et Données Génériques

langage utilisé : OCaml
Travaux Dirigés et Travaux sur Machines Encadrés (42h)

LI314-2010oct - Programmation par Objets

langage utilisé : Java
Travaux Dirigés et Travaux sur Machines Encadrés (21h)

MI016-2010oct - Implantation des Langages de Programmation

langages utilisés : XML/RNG, Java, C
Travaux sur Machines Encadrés (40h)

MI019-2010oct - Programmation Concurrente, Réactive et Répartie

thèmes : POSIX threads & Fair threads (C + OCaml), Threads (Java), Java RMI, C RPC, ...
Travaux Dirigés et Travaux sur Machines Encadrés (20h)

MI042-2011fev - Projets de Master 1 spécialité STL (PSTL)

Encadrement de projets
8 étudiants encadrés, sur 4 projets de 1 à 3 étudiants



I was a “Teaching Assistant” (“Moniteur” in French).

2009/2010

LI220-2009oct - Programmation et Données Génériques

langage utilisé : OCaml
Travaux Dirigés et Travaux sur Machines Encadrés (~47h)

MI019-2009oct - Programmation Concurrente, Réactive et Répartie

thèmes : POSIX threads & Fair threads (C + OCaml), Threads (Java), Java RMI, C RPC, ...
Travaux Dirigés et Travaux sur Machines Encadrés (~17h)

2008/2009

LI313-2008oct - Modèles de Programmation Séquentielle en OCaml

langage utilisé : OCaml
Travaux Dirigés et Travaux sur Machines Encadrés

LI362-2008oct - Environnement de Développement

outils utilisés : bash, make, svn, ...
Travaux Dirigés et Travaux sur Machines Encadrés

LI101-2008oct - Programmation Récursive

langage utilisé : Dr Scheme
Tutorat : 10 séances de 2 heures

2007/2008

This year (2007/2008) I taught Scheme, OCaml, 8086 Assembly, Java, Bash, HTML, ... mainly to undergraduate students.

LI101-2007oct - Programmation Récursive

langage utilisé : Dr Scheme
24 séances de Travaux sur Machines Encadrés

LI105-2007oct - De la Puce au Web

langages utilisés : asm8086, bash, java, html
12+1 séances de Travaux sur Machines Encadrés

LI213-2007oct - Types et Structures de Données

langage utilisé : OCaml
11 séances de Travaux sur Machines Encadrés

LI313-2007oct - Modèles de Programmation Séquentielle en OCaml

langage utilisé : OCaml
rédaction et correction du devoir de programmation

MI019-2007oct - Programmation Concurrente, Réactive et Répartie

langage utilisé : OCaml, avec utilisation de la bibliothèque Thread
1 séance de Travaux sur Machines Encadrés

Projects

... some of the projects I am or was involved in...

Projet ANR CERCLES2 (2011-2014)

“Projet ANR CERCLES2”

Projet Couverture (2008-2010)

“Project Coverage” brings Free Software code coverage tools. My contribution takes part in the sub-project which brings Zamcov. The latter is a tool for OCaml code coverage. Its particularity is that it is non-intrusive: the binary used for generating code coverage reports is the same as the binary for functional testing, it's not rewritten. An OCaml virtual machine is used to generate bytecode-instruction traces, which are analyzed after execution. By opposition, MLcov [8, 9, 10, 21, 26] is an OCaml code coverage tool which is intrusive: it instruments (rewrites) the code to generate execution traces for a post-execution analyser.
N.B. Zamcov's OCaml virtual machine is implemented in OCaml.
Other people involved in Zamcov: Emmanuel Chailloux, Adrien Jonquet, Alexis Darrasse, Mathias Bourgoin.

OCaml for Multicore (2008-2010)

“OCaml for Multicore” brings parallel threads to OCaml. To do so, it provides an alternative runtime library which contains a memory management system (allocator and collector) that allows threads to access the heap in parallel. The issue being that INRIA's official distribution doesn't allow parallel heap accesses, thus prevents in most cases threads to run in parallel (since they usually all need to access the heap).

OCaml for PIC (2010-now)

“OCAPIC” (OCaml for PIC microcontrollers) is a project which provides a mean to run OCaml code on PIC18 microcontrollers. An OCaml virtual machine was developed in PIC18 ASM. And several tools were developed along to allow OCaml bytecode executables (produced by the standard OCaml bytecode compiler) to fit on PIC18. I was the supervisor of the project, Benoît Vaugon was and still is the developer. Now, Benoît continues to work on the project on his free time, and we sometimes discuss about the project's direction. I still administer OCAPIC's website.)

Change the world (lifetime)

Quitte à changer le monde, autant le rendre meilleur. En tout cas, essayer de le rendre meilleur...

References

Map

click to see the map — experimental (javascript required)

HAL

Papers

Talks

Contact

physical address (from May, 10th, 2010 to Feb, 28th, 2013)

Campus Jussieu
Université Pierre et Marie Curie (Paris 6)
Laboratoire d'Informatique de Paris 6 (LIP6 - UMR 7606)
Couloir 26-00, Étage 3, Pièce 325 304
4 place Jussieu
75005 Paris FRANCE

postal address (from 2008 to Feb 2013)

Philippe Wang (LIP6 - Équipe APR)
Université Pierre et Marie Curie
Boîte Postale 169
4, place Jussieu
75252 PARIS cedex 05

(shared) phone

+33 1 44 27 88 25
(+33 1 44 27 88 16 from May, 2010 to October, 24th, 2012.)

(personal) fax

+33 9 72 26 05 41

email address

sed sP-plop-P@Pg<<<Philippe.Wang-plop-lip6.fr

Miscellaneous

installtuareg.sh A script to install emacs tuareg-mode for OCaml (last update: October 2011)
tuareg.el File tuareg.el extracted from Tuareg-mode package v1.45.3, patched so that ref, raise, exit and failwith are not colored as keywords, because they are not keywords at all.). Version 1.45.3 is used because it is the version used by script installtuareg.sh. If you want to do it by yourself on another version, it should be quite trivial (unless the structure has really changed a lot): search for word failwith in file tuareg.el, when you have found it, you have the first line to modify (by removing the keywords and some backslashes). Word ref is about 2 lines farther.
memo_ocaml.pdf A memo for (a subset of) OCaml
http_server.bash A minimal 23-line http server, using Gnu Bash and nc, which lives for only one file (for Linux and Mac OS X).
LI220_memo_ocaml.pdf Un autre mémo plus gros (en français) pour un sous-ensemble plus petit d'OCaml
designpatterns.pdf un brouillon sur les patrons de conception, pour ceux qui ont du mal avec l'approche classique de l'enseignement des design patterns pour la programmation par objets
mlcov Code coverage tool with MC/DC analysis, for OCaml (by Esterel Technologies)
OCaml for Multicore Runtime library patch to OCaml 3.10.2 to allow parallel threads in OCaml
Team PLOP webpage for 9th annual ICFP Programming Contest My first participation in an ICFP programming constest, in 2006.
imgcmp command line tool for image comparison (not yet available)

Tools

This page contains multiple sections. Some JavaScript & CSS make only a section be visible at a time.

Last update

This page (with multiple sections) was last updated on 2015/10/29 (revision 1.186).
Cryptographic hash: 07313f92009416af91045e9bc3a15ad4.
XHTML 1.0 generated by serializing some OCaml data...