Feuille de route 2019 (1A)

Page principale du cours

Evaluation

  • module informatique - 8 novembre (vendredi) - 1/3 de la note finale, (6/20 pour réaliser le module, 6/20 pour implémenter une stratégie qui fonctionne, 6/20 pour écrire un test unitaire, 2/20 pour fournir un exemple d’utilisation du module qui fonctionne, 1 point pour être dans les 5 premiers)

  • Séances notées - 22 octobre - 2/3 de la note finale

Au second semestre, pas de TD, juste un projet informatique, par groupe à soutenir en juin.

Prérequis

La programmation fait maintenant partie du programme des classes préparatoires. Ce cours suppose que les types du langage, sa syntaxe sont connus tout comme quelques algorithmes de tri comme le tri bulle et le tri fusion.

Version de Python

Les exercices et notebooks sont testées sur la version Python 3.7. Le plus simple pour installer Python est d’utiliser la distribution Anaconda. La distribution standard fonctionne également en s’aidant de cette page Unofficial Windows Binaries for Python Extension Packages pour Windows et de celle-ci pour la distribution Debian 9 (Ubuntu est très similaire) : Install Python 3.7 and many packages on Linux Debian 9.

Intervenants

Xavier Dupré, Lucie Neirac, François Hu, Guillaume Bied.

Plan proposé

Liens, notebooks prévus pour les séances pratiques.

Séance 1 - 3/9 - introduction

Python, choix du langage, évaluation, modules, mise en production, algorithmes, quelques mots sur les années prochaines…

Séance 3 - 17/9 - expressions régulières et classes

Le templating est un sujet intéressant mais facile à comprendre dès les premières de documentation. Il faut voir les modules jinja2 ou mako. Le principe est assez simple et plutôt bien documenté. Indispensable pour concevoir des sites web. TemPy est aussi à regarder car le design est différent.

Autres suggestions :

Séance 4 - 24/9 - graphes - distance d’édition

Lectures :

Notebooks : TD - Algorithmes

  • un notebook sur les graphes

  • un notebook sur les distances

Jeter un oeil sur la liste Catalogue d’algorithmes.

Séance 6 - 8/10 - dataframe - matplotlib

Premiers notebooks sur les dataframes et les matrices avec les modules numpy et pandas.

Derniers notebooks sur les dataframes et les matrices avec les modules matplotlib, bokeh.

Séance 7 - 15/10 - cartes et 2048

Notebook suggérés sur les cartes :

Notebooks : TD - Algorithmes

  • plus court chemin dans un graph

Les élèves doivent tester leur module en TD. Rendre le module python implémentant une stratégie pour le jeu 2048, Réalisation d’un module python par groupe de 3 à 5.