Programmation Python
L'activité « B103B – Programmation » fait partie du cours “B2010 – Informatique” enseigné aux étudiant(e)s en première année du bachelier en sciences industrielles à l'ECAM Brussels Engineering School (ECAM). Le cours « B2010 – Informatique » est enseigné aux étudiant(e)s en deuxième année du bachelier en sciences industrielles et le cours « B2160 – Projet informatique » est enseigné aux étudiant(e)s en deuxième année du bachelier en sciences industrielles, pré-orientation électronique et informatique, tous les deux dans la même école. Tous les trois concernent la programmation Python. En plus d'apprendre le langage, des concepts informatiques avancés sont abordés, tels que la manipulation du système de fichier, le fonctionnement d'internet, le développement web, la gestion de projet, l'intelligence artificielle et la manipulation de documents.
Organisation du cours
J'ai conçu ces cours en 2014 avec mon collègue Quentin Lurkin et j'ai été impliqué dans certaines de leurs activités de 2014 à 2019, six fois. Les activités étaient données en français, mais le matériel créé pour ces derniers est soit en français, ou en anglais.
Les cours étaient donnés de manière traditionnelle avec des cours magistraux, des séances pratiques et des petits projets sur lesquels les étudiant(e)s devaient travailler.
Documents
- Informations générales sur les cours
Théorie
B103B Programmation
- Séance 1 : Introduction à la programmation Python
- Séance 2 : Contrôle de flux
- Séance 3 : Chaine de caractères et fonction
- Séance 4 : Fonction et liste
- Séance 5 : Type abstrait de données et algorithme
B201A Concepts informatiques
- Séance 1 : Ensemble, dictionnaire et base de données
- Séance 2 : Tuple et objet
- Séance 3 : Classe et objet
- Séance 4 : Interface graphique et évènements
- Séance 5 : Gestion d'erreurs et mécanisme d'exception
- Séance 6 : Lecture et écriture de fichiers
- Séance 7 : Langages du Web : HTML, CSS et JavaScript
- Séance 8 : Comment Internet fonctionne-t-il ?
- Séance 9 : Développement Web avec Python
- Séance 10 : Qualité de code et convention de codage
B216A Développement informatique
- Séance 1 : Gestion de projet, versioning, debugging, testing et profiling
- Séance 2 : Chaine de caractères et expression régulière
- Séance 3 : Programmation réseau
- Séance 4 : Programmation concurrente
- Séance 5 : Programmation fonctionnelle, décorateur et générateur
- Séance 6 : Programmation asynchrone et coroutine
- Séance 7 : Manipulation de documents CSV, XML, PDF...
- Séance 8 : Algorithmique I : Récursion et arbre
- Séance 9 : Algorithmique II : Techniques de recherche en intelligence artificielle
- Séance 10 : Programmation efficace et style pythonique
Pratique
- Travail : Créer un site web avec CherryPy
- Travail : Créer un jeu avec interface graphique avec Kivy
- Travail : Créer une intelligence artificelle pour un jeu de plateau
Ressources
Cette section rassemble les ressources qui ont été utilisées pour créer cette activité. Ces dernières peuvent être utilisées pour en apprendre davantage sur la programmation Python.
Livres officiels
- Sébastien Combéfis et Quentin Lurkin. (2016). Apprendre Python et s'initier à la programmation. UKO Publication. (ISBN: 978-1-326-76710-5)
- Sébastien Combéfis. (à paraitre). Python avancé : Techniques de programmation. UKO Publication.
Livres de référence
- Mark Summerfield. (2009). NoSQL Distilled: Programming in Python 3: A Complete Introduction to the Python Language (2ème édition). Addison-Wesley. (ISBN: 978-0-321-68056-3)
- Gérard Swinnen. (2012). Apprendre à programmer avec Python 3 (3ème édition). Eyrolles. (ISBN: 978-2-212-13434-6)
Autres livres
- Eric S. Roberts. (1986). Thinking Recursively. John Wiley & Sons. (ISBN: 978-0-471-81652-2)
- Brett Slatkin. (2015). Effective Python: 59 Specific Ways to Write Better Python. Addison-Wesley. (ISBN: 978-0-134-03428-7)
Ressources en ligne
- The Python Standard Library documentation, Python Software Foundation, 2019.