Acquis d'apprentissage

  • Comprendre le concept de « langage de programmation »
  • Connaître et comprendre les concepts de la programmation dans le cadre du langage Python . Une attention particulière est apportée aux fonctionnalités fréquemment utilisée dans le cadre de la biologie et la bio-informatique. Celles-ci comprennent :
  • Les variables et les valeurs (types natifs, chaînes de caractères)
  • Les manipulations de chaînes de caractères et les expressions régulières 
  • Les structures de données
  • Les structures de contrôle
  • Les fonctions, la récursivité et les fonctions d’ordre supérieur
  • Les tests
  • Les entrées/sorties et la manipulation de fichiers
  • Les générateurs et itérateurs
  • Les classes, attributs et méthodes
  • La gestion des exceptions
  • Connaître et comprendre les principales caractéristiques des paradigmes de programmation (impératif, fonctionnel, objet) et comment certaines de celles-ci sont présentes au sein du langage Python
  • Être en mesure d’élaborer des algorithmes de façon correcte et rigoureuse permettant de résoudre des problème simples, et d’implémenter ces algorithmes en Python.

Objectifs

Ce cours offre une introduction à la programmation logicielle et à l’ensemble de ses concepts, en axant la matière, les exemples et les exercices vers un usage adapté aux besoins en biologie. Il vise à acquérir une maîtrise pratique de ces concepts via l’utilisation du langage Python.
 

Contenu

  • Introduction
  • Variables et types de valeurs
  • Manipulation de texte
  • Lecture et écriture de fichiers
  • Les listes et les boucles
  • Les fonctions et le testing
  • Les structures conditionnelles
  • Les expressions régulières
  • Les dictionnaires
  • Le programme et ses entrées/sorties
  • La récursivité
  • Les structures de données complexes
  • La programmation orientée objet
  • La programmation fonctionnelle
  • Les itérateurs et générateurs
  • La gestion des exceptions

Exercices

Les séances d’exercices suivront fidèlement l’avancement du cours théorique. Il seront dispensés sur ordinateur afin d’offrir à l’étudiant les outils et les bonnes pratiques lui permettant de faire une utilisation concrète de Python. Certaines préparations à domicile peuvent être demandées. 

Méthodes d'enseignement

  • Cours théoriques interactifs avec exercices illustratifs
  • Séances de travaux pratiques sur ordinateur et quelques préparations à domiciles

Méthode d'évaluation

L'évaluation du cours est une épreuve à deux volets, un examen de théorie sur papier (50% des points) et un examen de mise en pratique sur ordinateur (50% des points). Il n'y a pas de report de cote pour les volets pris individuellement.

Les modalités exactes de l’évaluation sont susceptibles d’être modifiées  en fonction des contraintes pratiques (en particulier pour l’épreuve sur ordinateur).

Sources, références et supports éventuels

Le cours est basé sur les livres « Python for Biologists » et « Advanced Python for Biologists » par Dr. Martin Jones, 2013 (éd. CreateSpace Independent Publishing Platform)

Langue d'instruction