Introduction to Programming
- Code de l'UE ISBMM101
-
Horaire
30 30Quadri 1
- Crédits ECTS 6
-
Langue d'enseignement
Anglais
Comprendre le concept de « langage de programmation »
Connaître et comprendre les concepts de la programmation dans le cadre du langage Python, avec une attention particulière portée aux fonctionnalités fréquemment utilisées en biologie et bio-informatique. Le cours est organisé en deux blocs cohérents et progressifs :
Bloc 1 — Fondamentaux
Les variables et les valeurs (types natifs, chaînes de caractères)
Les manipulations de chaînes de caractères
Les structures de données de base (listes, dictionnaires)
Les structures de contrôle (conditions, boucles)
Les fonctions
Les entrées/sorties et la manipulation de fichiers
Bloc 2 — Avancé et programmation orientée objet
Les expressions régulières
Les fonctions d'ordre supérieur et la récursivité
Les tests
Les structures de données complexes
Les classes, attributs et méthodes
La gestion des exceptions
Les générateurs et itérateurs
La programmation fonctionnelle
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èmes simples, et d'implémenter ces algorithmes en Python
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. Le cours est structuré en deux parties de poids équivalent : une première partie consacrée aux fondamentaux de la programmation procédurale, et une seconde partie consacrée à des concepts plus avancés ainsi qu'à la programmation orientée objet.
Partie 1 — Fondamentaux
Introduction
Variables et types de valeurs
Manipulation de texte
Les listes et les boucles
Les structures conditionnelles
Les fonctions et le testing
Lecture et écriture de fichiers
Les dictionnaires
Partie 2 — Avancé et programmation orientée objet
Les expressions régulières
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
Introduction
Variables et types de valeurs
Manipulation de texte
Les listes et les boucles
Les structures conditionnelles
Les fonctions et le testing
Lecture et écriture de fichiers
Les dictionnaires
Les expressions régulières
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
Les séances d'exercices suivront fidèlement l'avancement du cours théorique. Elles sont dispensées 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. Chaque partie se termine par un mini-projet intégrateur permettant de mobiliser l'ensemble des notions vues.
Cours théoriques interactifs avec exercices illustratifs
Séances de travaux pratiques sur ordinateur
Le cours est organisé sur deux blocs de 5 semaines chacun, à raison de 4h de cours et exercices, complétées par 2h de travail personnel encadré par semaine
L'évaluation du cours consiste en une épreuve unique de mise en pratique sur ordinateur, portant sur l'ensemble de la matière (100% des points). Les modalités exactes de l'évaluation sont susceptibles d'être modifiées en fonction des contraintes pratiques.
Le cours est en partie basé sur les livres « Python for Biologists » et « Advanced Python for Biologists » par Dr. Martin Jones, 2013 (éd. CreateSpace Independent Publishing Platform)
| Formation | Bloc | Crédits | Obligatoire |
|---|---|---|---|
| Master 120 en sciences biomédicales, à finalité spécialisée en biomedical data management | 1 | 6 | Oui |