Avant-propos
Ce polycopi´e est utilis´e pour le cours INF 421 intitul´e Les bases de la programmation et de
l’algorithmique. Ce cours fait suite au cours INF 311 Introduction `a l’informatique et pr´ec`ede le
cours INF 431 intitul´e Fondements de l’informatique. L’objectif du cours est triple : (1) program-
mer en java, (2) maˆıtriser les bases de l’algorithmique sur des structures dynamiques (listes,
arbres) et (3) introduire quelques notions fondamentales d’informatique comme les expressions
r´eguli`eres, les automates et l’analyse syntaxique.
Nous utilisions jusqu’`a l’an pass´e le polycopi´e r´edig´e par Jean Berstel et Jean-Eric Pin. Pour
prendre en compte les r´ecents changements dans l’organisation des cours d’informatique de
l’´
Ecole, nous avons d´ecid´e de r´ediger une nouvelle version de ce polycopi´e. Nous esp´erons qu’elle
est aussi claire, aussi pr´ecise et aussi simple que la pr´ec´edente. Nous avons d’ailleurs conserv´e
de nombreux passages de J. Berstel et J.-E. Pin (en particulier pour les chapitres relatifs aux
arbres).
Nous remercions nos coll`egues de l’´
Ecole Polytechnique, et plus particuli`erement ceux qui
ont d’une mani`ere ou d’une autre contribu´e au succ`es du cours INF 421 : Philippe Chassignet,
Mathieu Cluzeau, Thomas Heide Clausen, Robert Cori, Xavier Dahan, Olivier Devillers, Thomas
Houtmann, Philippe Jacquet, Fabien Laguillaumie, Fabrice Le Fessant, Laurent Mauborgne,
David Monniaux, Sylvain Pradalier, Alejandro Ribes, Dominique Rossin, ´
Eric Schost, Nicolas
Sendrier, Jean-Jacques L´evy, Fran¸cois Morain, Laurent Viennot et Axelle Ziegler. Merci aussi `a
Christoph D¨urr du LIX, qui a magnifiquement illustr´e la page de couverture1de ce polycopi´e.
Les auteurs peuvent ˆetre contact´es par courrier ´electronique aux adresses suivantes :
On peut aussi consulter la version html de ce polycopi´e ainsi que les pages des travaux dirig´es
sur le site http ://www.enseignement.polytechnique.fr/informatique/inf421
1Le 421 est un jeu de bar qui se joue au comptoir avec des d´es.
3