“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page ix — #5
i
i
i
i
i
i
i
i
Avant-propos
D’une certaine manière, un langage de programmation
est semblable au langage humain : il favorise certaines
métaphores, images et façons de penser.
— Mindstorms : Children, Computers, and Powerful Ideas, Seymour Papert (1980)
Ce livre est un cours de programmation complet. Il couvre les trois principaux paradigmes de programmation : la programmation déclarative, la programmation concurrente dataflow et la programmation orientée objet, dans un cadre uniforme avec une
panoplie de techniques pratiques de développement de programmes. Il propose une
sémantique simple et complète permettant de comprendre tous les concepts sans le
flou que l’on trouve presque toujours dans les premiers cours sur la programmation.
Spécialement conçue pour les programmeurs, cette sémantique contient les concepts
utiles sans sacrifier la rigueur. Elle permet une compréhension profonde de tous les
concepts et de toutes les techniques. Pour beaucoup d’étudiants, en particulier pour
ceux qui ne se spécialiseront pas en informatique, ce cours est l’unique occasion de
voir une sémantique rigoureuse pour un langage de programmation.
Vous trouverez ici toute la matière de mon cours de deuxième année à l’Université
catholique de Louvain (UCL), à Louvain-la-Neuve, pour les étudiants-ingénieurs dans
tous les domaines (environ 250 étudiants par an). C’est un cours de deuxième niveau
de programmation qui présuppose que les étudiants ont déjà suivi un premier cours
d’introduction à la programmation, par exemple avec Java. Le langage du premier
cours importe peu ; Java est un bon choix parce qu’il est populaire (les étudiants
doivent le voir de toute façon dans leur cursus) et parce que le premier cours ne va pas
assez loin pour révéler ses faiblesses.
Mon cours à l’UCL se donne sur une période de 15 semaines avec une séance
magistrale et une séance de travaux pratiques par semaine, de deux heures chacune.
Pour évaluer les connaissances des étudiants, il y a une interrogation facultative vers
le milieu du cours, un projet de programmation obligatoire vers la fin et un examen
final. Je donne ce cours en écrivant, en exécutant et parfois en déboguant des petits
programmes devant les étudiants.
© Dunod – La photocopie non autorisée est un délit
i
i
i
i
i
i
i
i
Avant-propos
D’une certaine manière, un langage de programmation
est semblable au langage humain : il favorise certaines
métaphores, images et façons de penser.
— Mindstorms : Children, Computers, and Powerful Ideas, Seymour Papert (1980)
Ce livre est un cours de programmation complet. Il couvre les trois principaux paradigmes de programmation : la programmation déclarative, la programmation concurrente dataflow et la programmation orientée objet, dans un cadre uniforme avec une
panoplie de techniques pratiques de développement de programmes. Il propose une
sémantique simple et complète permettant de comprendre tous les concepts sans le
flou que l’on trouve presque toujours dans les premiers cours sur la programmation.
Spécialement conçue pour les programmeurs, cette sémantique contient les concepts
utiles sans sacrifier la rigueur. Elle permet une compréhension profonde de tous les
concepts et de toutes les techniques. Pour beaucoup d’étudiants, en particulier pour
ceux qui ne se spécialiseront pas en informatique, ce cours est l’unique occasion de
voir une sémantique rigoureuse pour un langage de programmation.
Vous trouverez ici toute la matière de mon cours de deuxième année à l’Université
catholique de Louvain (UCL), à Louvain-la-Neuve, pour les étudiants-ingénieurs dans
tous les domaines (environ 250 étudiants par an). C’est un cours de deuxième niveau
de programmation qui présuppose que les étudiants ont déjà suivi un premier cours
d’introduction à la programmation, par exemple avec Java. Le langage du premier
cours importe peu ; Java est un bon choix parce qu’il est populaire (les étudiants
doivent le voir de toute façon dans leur cursus) et parce que le premier cours ne va pas
assez loin pour révéler ses faiblesses.
Mon cours à l’UCL se donne sur une période de 15 semaines avec une séance
magistrale et une séance de travaux pratiques par semaine, de deux heures chacune.
Pour évaluer les connaissances des étudiants, il y a une interrogation facultative vers
le milieu du cours, un projet de programmation obligatoire vers la fin et un examen
final. Je donne ce cours en écrivant, en exécutant et parfois en déboguant des petits
programmes devant les étudiants.
© Dunod – La photocopie non autorisée est un délit
