CoursHyvRaf
Programmation et Algorithmique
Objectifs du cours
- Consolider les bases du cours « introduction à l'algorithmique » du premier semestre,
- introduire de bonnes pratiques et conventions en programmation,
- démontrer l'utilité et l'intérêt de la programmation pour tous, entre autre par des TP attrayants.
Plan du cours
- Rappels, notion de fonction et de procédure : (cours 1)
- choix des arguments,
- utilisation de valeurs par défaut,
- notion de « méthode » associée à un objet : premier contacts, exemples.
- Types de données : (cours 2 et 3)
- rappels et compléments sur les chaînes de caractères,
- tuples, tableaux, "listes" et dictionnaires, utilisation et différences.
- Entrées / sorties : (cours 4)
- lire et écrire dans un fichier,
- accès au web.
- Réutilisation de code : (cours 5)
- pourquoi et quand écrire une une fonction ou une procédure,
- documentation,
- utilisation des librairies standards.
- Bonne pratique de la programmation : (cours 6)
- avantages et inconvénients du langage Python,
- tests unitaires et assertions,
- danger des variables globales.
Et si le temps le permet : (cours 7 ??)
- déboguer un programme à la main, ou avec un débogueur,
- introduction à json.
TD
Les 4 séances (??) de TD permettront d'approfondir le cours et d'étudier quelques exemples « au tableau ».
TP
Le but étant d'approfondir l'aspect « concret » de la programmation, une grosse partie du cours sera faite en salle machine : 5 TP de 3h chacun.
L'idée est d'avoir des sujets de TP faisant appels au concepts vu en cours et avec des applications directes :
- manipulation de chaînes de caractères,
- utilisation de fichiers,
- accès réseau et utilisation des résultats,
- graphisme,
- ...
Afin de produire un programme complet, un (voir deux) TP pourront comporter deux parties séparées à faire sur deux séances, avec travail personnel intermédiaire.
En plus de la partie obligatoire (notée), les TPs comprendront en plus une partie optionnelle (mais conseillée) « pour aller plus loin ». Ceci permettra aux étudiants intéressés d'approfondir le sujet.