Informatique 1 : Cours pour CPUGE - Roberto M. Amadio

Telechargé par Victoire Castro
HAL Id: hal-02390438
https://hal.archives-ouvertes.fr/hal-02390438v1
Submitted on 3 Dec 2019 (v1), last revised 8 Nov 2020 (v2)
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Informatique 1
Roberto M. Amadio
To cite this version:
Roberto M. Amadio. Informatique 1. École d’ingénieur. France. 2019. �hal-02390438v1�
Informatique 1
(cours pour CPUGE, premi`ere ann´ee)
Roberto M. Amadio
Universit´e Paris-Diderot
3 d´ecembre 2019
2
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
4Pr´eface
Il est fortement recommand´e d’´etudier en parall`ele avec le cours au moins un des docu-
ments suivants :
— le livre [Wac13][chapitres 1–9],
— les notes de cours [Sva19][parties I–II],
— les notes de cours [FP19][chapitres 1–12].
Et voici des r´ef´erences pour un approfondissement :
— le livre [CLRS09] est une r´ef´erence standard sur l’algorithmique,
— en d´epit de la prolif´eration de livres sur la programmation en python, l’introduction
[vR19] r´edig´ee par le concepteur du langage est probablement la meilleure r´ef´erence
(aussi pr´ecise et `a jour que possible),
— sur les nombres flottants et les erreurs d’arrondi, une lecture incontournable est [Gol91],
— parmi les bonnes introductions `a l’analyse num´erique (niveau licence et en fran¸cais),
on peut citer [Dem06] et [Her19],
— le document [VGVdB19] est une description assez syst´ematique des biblioth`eques
python pour le calcul scientifique dont celles utilis´ees dans le cours (numpy,scipy,
matplotlib et pandas). La biblioth`eque pandas est aussi d´ecrite en d´etail par son concep-
teur dans [McK17].
Ce qui suit est une trace assez d´etaill´ee du cours.
1 / 116 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!