CoursHyvRaf

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche

Programmation et Algorithmique

Objectifs du cours

  1. Consolider les bases du cours « introduction à l'algorithmique » du premier semestre,
  2. introduire de bonnes pratiques et conventions en programmation,
  3. 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 ».

On insistera en particulier sur la démarche globale menant de la problématique au programme final.

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.