Programmation d'algorithmes intelligents
Depuis septembre 2017, nous proposons un cours hebdomadaire pour les élèves de 15 ans et plus, consacré aux bases de l'informatique et à leur mise en ?uvre en Python. L'accent est mis sur un lien entre les bases théoriques de l'algorithmique et la mise en ?uvre concrète sur ordinateur. Les objectifs du cours comprennent par exemple la préparation à des études supérieures en informatique et les idées passionnantes et créatives qui se cachent derrière ; toutefois, le cours est ouvert à toutes les personnes intéressées.
Mots clés
Course description
Project description
Le cours "Programmer des algorithmes intelligents" est une manifestation de sensibilisation destinée aux élèves de 15 ans et plus qui s'intéressent à l'informatique en général et aux études d'informatique à l'ETH en particulier. En outre, le cours sert de préparation à des concours de programmation compétitifs tels que les Olympiades suisses d'informatique (https://www.soi.ch).
Le projet a été lancé en 2017 par trois informaticiens : Dennis Komm enseigne et fait de la recherche en algorithmique et en didactique de l'informatique, il est Senior Scientist spécialisé dans l'enseignement au Département d'informatique de l'ETH Zurich et dirige le secteur ?cole et technique de la HEP des Grisons. Jakub Závodn? travaille chez Google depuis son doctorat à l'Université d'Oxford et s'engage depuis 15 ans dans diverses manifestations de sensibilisation, comme les Olympiades d'informatique. Tobias Kohn a dix ans d'expérience en tant que professeur de lycée en Suisse et est développeur de l'environnement de programmation TigerJython (http://www.tigerjython.ch). Il effectue actuellement des recherches à l'Université de Cambridge et est donc actuellement h?te académique.
Une imbrication étroite entre la théorie et la pratique
Le cours a lieu en grande partie à l'ETH, mais aussi en partie chez Google, ce qui constitue à chaque fois un moment fort pour les élèves. D'une part, nous nous effor?ons d'aller les chercher là où ils se trouvent actuellement ; d'autre part, nous souhaitons également leur montrer où ils pourraient aller après leurs études et que les concepts théoriques enseignés dans le cours et les études ont d'innombrables applications pratiques dans le "monde réel".
Gr?ce aux différentes orientations des enseignants spécialisés dans la didactique, la théorie et la pratique de l'informatique, le cours couvre un très large spectre. Les concepts informatiques sont préparés de manière didactique (dans le sens d'une approche constructiviste), étayés par la théorie et mis en pratique dans Python. Dans ce contexte, des sessions parallèles sont organisées pour les étudiants avancés sur des sujets plus complexes. L'accent est mis sur l'apprentissage par la découverte et sur le fait que les personnes en formation développent des solutions de manière autonome (en partie individuellement, en partie en groupe).
Les solutions sont élaborées avec les élèves, discutées, vérifiées quant aux erreurs, analysées et améliorées si nécessaire. Ce processus est étayé par exemple par des jeux NIM, l'exécution manuelle d'algorithmes (par exemple le tri parallèle) ou des jeux de théorie de l'information.
Mise en réseau
Le cours est ouvert à toutes les personnes intéressées. La présence n'est pas obligatoire. Les t?ches à accomplir sont aussi ouvertes que possible. Il existe néanmoins des objectifs concrets concernant l'orientation du cours.
1. les contenus sont en partie adaptés aux Olympiades suisses d'informatique, avec les organisateurs desquelles les organisateurs entretiennent des contacts intensifs.
2. bien que le cours ne s'adresse expressément pas exclusivement aux personnes intéressées par des études d'informatique, l'un de ses principaux objectifs est de préparer aux études supérieures, en particulier à l'ETH ; certains alumni ayant suivi le cours ont opté pour des études d'informatique à l'ETH, notamment en raison de leurs expériences positives avec les "algorithmes intelligents". Un aspect essentiel de cette manifestation de sensibilisation est de permettre aux élèves de "respirer un peu l'air de l'ETH". Il convient de préciser ici qu'une grande partie d'entre eux (environ la moitié) ne vient pas de Zurich et qu'ils parcourent parfois de longues distances pour se rendre à l'ETH Zurich le mercredi soir.
Recherche et développement de concepts et d'outils didactiques
L'un des plus grands défis de l'enseignement de l'informatique est d'aborder très t?t des concepts essentiels en fonction de l'?ge. Une première introduction s'enlise souvent dans la programmation et les concepts clés proprement dits ne sont pas abordés, faute de temps. Des initiatives telles que le CS Unplugged néo-zélandais (https://csunplugged.org/de/) ou l'Abenteuer Informatik allemand (http://www.abenteuer-informatik.de) s'attaquent au problème en enseignant les concepts clés de l'informatique entièrement sans ordinateur. Dans le cadre de notre cours, nous construisons une alternative dans laquelle nous associons déjà les débuts de l'enseignement de la programmation aux thèmes centraux et construisons ainsi un enseignement durable et porteur de sens. Notre approche se fonde sur le constructivisme de Piaget ou sur les idées développées par Papert avec le paradigme "learning by getting things to work".
Le développement du logiciel TigerJython a bénéficié de nombreuses expériences faites pendant le cours. D'autre part, de nouvelles fonctionnalités sont également testées dans le cadre du cours. Les personnes en formation en profitent ainsi bien au-delà du cours.
Informations de contact
Liens supplémentaires
chevron_right Site web du projetPublications :
D. Komm, T. Kohn : An introduction to running time analysis for a SOI workshop. Olympiades en informatique11:77-86, 2017.
D. Komm, T. Kohn : Car ils ne savent pas ce qu'ils programment. Spectre informatique, 2019.