Depuis deux ans, les étudiants ingénieurs, informaticiens et mathématiciens de l’UCLouvain apprennent la programmation en utilisant le langage Python. Python est un langage de programmation créé par Guido Van Rossum dont la popularité croit d’année en année. Python utilise une syntaxe assez simple tout en permettant le développement de très grands programmes (INGInious lui-même est écrit en Python). Pour débuter la programmation, Python offre deux avantages. Tout d’abord, il est très facile d’écrire en Python de petits programmes pour résoudre des problèmes simples tels que de traiter des fichiers contenant des données. De plus, Python contient de très nombreuses librairies qui peuvent être facilement utilisées par les programmeurs débutants ou expérimentés.
Les cours d’introduction à la programmation qui sont donnés par les professeurs Kim Mens, Charles Pecheur et Siegfried Nijssen à l’UCLouvain utilisent une forme d’apprentissage par problème. Le cours ne requiert que peu de prérequis de la part des étudiants. L’apprentissage est découpé en une douzaine de modules qui couvrent chacun une semaine. En fonction du niveau désiré, il est tout à fait possible de ne pas faire tous les modules, aller jusqu’au module 7 serait déjà un bon début. Un module démarre par la lecture de sections d’un syllabus interactif et une séance d’introduction donnée en auditoire par les enseignants. Sur cette base, les étudiants répondent à des questions et écrivent de petits programmes sur INGInious. Le feedback fourni par INGInious leur permet de vérifier leur compréhension de la matière. Il est suivi d’une séance encadrée par un tuteur durant laquelle les étudiants discutent des meilleures solutions à chacune des questions de la semaine. La deuxième phase d’un module est une phase de réalisation. Les étudiants collaborent à deux pour écrire un petit programme qui sera évalué par leur tuteur. Le module se termine par une séance de restructuration durant laquelle les professeurs reviennent sur les parties les plus compliquées de la matière.
Toutes les ressources sont disponibles par ici
La partie théorique du cours s’appuie sur le livre open-source How To Think Like a Computer Scientist --- Learning with Python 3 écrit par Peter Wentworth, Jeffrey Elkner, Allen B. Downey, et Chris Meyers. Ce livre a été adapté par les enseignants du cours de Python et est disponible en ligne. Le livre est complété par des dizaines d’exercices INGINious qui permettent aux étudiants d’apprendre la programmation en Python avec un feedback régulier. Tous ces exercices sont rassemblés dans un syllabus interactif disponible librement.
Le cours est organisé sous la forme d’une dizaine de missions qui sont réalisés par les étudiants de première année en une semaine en parallèle avec leurs autres cours. Les étudiants qui souhaitent s’initier à la programmation en Python sont invites à réutiliser les matériaux pédagogiques ci-dessous:
- Mission 1 - Mise en route
- Mission 2 - Bases de programmation
- Mission 3 - Fonctions et sous-problèmes
- Mission 4 - Strings et listes
- Mission 5 - Tuples, Tests et Algorithmes de Recherche
- Mission 6 - Fichiers et exceptions
- Mission 7 - Dictionnaires
- Mission 8 - Classes et objets
- Mission 9 - Héritage
- Mission 10 - Polymorphisme
- Mission 11 - Listes chainées
Si vous avez des difficultés avec l’utilisation de ces ressources, connectez-vous sur le canal inginious-Python via Slack. Des étudiants volontaires vous aideront dans la mesure de leur disponibilité.