CoursHyvRaf

De Wiki du LAMA (UMR 5127)
Aller à : navigation, rechercher

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 de ce module sera faite en salle machine : 5 TP de 3h chacun.

L'idée est d'avoir des sujets de TP faisant appels aux concepts vus 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,
  • ...

Le dernier TP (sur deux voir trois séances, avec travail à la maison) auront pour but de produire un programme complet s'appuyant sur les technologies modernes du web (GoogleMap, Facebook, ...)

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.