
Pr´eface
A partir de 2019-2020, le programme du cours d’Informatique de premi`ere ann´ee des classes
pr´eparatoires aux ´ecoles d’ing´enieurs de l’Universit´e Paris Diderot est fortement inspir´e par
le programme d’informatique (2013) destin´e aux ´el`eves de premi`ere ann´ee de toutes les voies
scientifiques des CPGE [MES13]. Les diff´erences essentielles sont : (i) un moindre volume
horaire (24 heures de cours et 24 heures de travaux pratiques), (ii) une concentration au
premier semestre (ce qui impose une synchronisation avec le cours de math´ematiques) et
(iii) le fait que l’initiation aux bases de donn´ees est remplac´ee par une (br`eve) initiation `a
la manipulation de donn´ees organis´ees comme dans une feuille de calcul. 1Ainsi, les trois
th´ematiques qui sont abord´ees sont :
— algorithmique et programmation (en python),
— nombres flottants et calcul num´erique (avec utilisation des biblioth`eques numpy,scipy
et matplotlib de python) et
— manipulation de tables de donn´ees (avec utilisation de la biblioth`eque pandas).
Chaque th`eme pourrait faire l’objet de un, voir plusieurs, cours ! Il s’agira donc essentiel-
lement d’une initiation `a ces th`emes dans laquelle on cherche `a :
— fixer quelques notions fondamentales,
— sensibiliser `a des questions qu’on n’a pas le temps de traiter de fa¸con satisfaisante et
— pratiquer les notions introduites dans le cadre de l’environnement de programmation
python.
La notion de type de donn´ees est le fil conducteur du cours. En g´en´eral, un type de donn´ees
correspond `a un ensemble de donn´ees qui ont des propri´et´es communes et qui peuvent ˆetre
manipul´ees `a l’aide de certains op´erateurs. 2
On commence avec des types de donn´ees primitifs ou pr´ed´efinis tels que le type des
entiers avec les op´erations arithm´etiques, le type des bool´eens avec les op´erations logiques
de conjonction, disjonction et n´egation, le type des flottants qui permet d’approcher avec un
ordinateur le calcul sur les nombres r´eels, le type des chaˆınes de caract`eres avec des op´erations
telles que la concat´enation. On continue avec des types de donn´ees qui sont obtenus par
application d’un constructeur de type `a des types de donn´ees d´ej`a d´efinis. Dans le cadre
de python, on consid`ere notamment la construction de vecteurs (type tuple) et de tableaux
dynamiques (type list). On ´evoque ensuite le type array qui est une sp´ecialisation des tableaux
dynamiques (type list) qui vise le calcul matriciel et on termine avec d’autres sp´ecialisations
du type des tableaux dynamiques (type list) connues comme Series et DataFrame qui visent
le traitement de tables de donn´ees (un peu comme on le ferait dans une feuille de calcul).
1. Ce remplacement a une motivation ´eminemment pratique li´ee `a l’organisation de l’ann´ee acad´emique.
2. On peut dire que programmer consiste `a choisir un certain nombre de types de donn´ees propos´es par le
langage et si n´ecessaire `a enrichir la palette des op´erations disponibles.
3