ebook img

Vers un exerciseur adaptatif pour apprendre la programmation en autonomie Programmer's ... PDF

15 Pages·2014·1.74 MB·French
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Vers un exerciseur adaptatif pour apprendre la programmation en autonomie Programmer's ...

Vers un exerciseur adaptatif pour apprendre la programmation en autonomie Programmer’s Learning Machine [email protected] E´quipe-projet Algorille, Nancy Journ´ee MOOC Lab 13 janvier 2014 Computational Science of Computer Systems Computational Science Complex models to understand and predict the studied phenomenons Large-Scale Distributed Systems (cid:73) Complex hierarchies : grid, cluster, multicore (cid:73) Massive parallelism : 106 cores (109 in 2020) (cid:73) Heterogeneity (GPU, SOC); Dynamicity Scientific Challenge: Study system correctness and performance (cid:73) Need for adapted scientific instruments, combining approaches (cid:73) Modeling to understand system dynamics; Simulation to predict experiments SimGrid scientific instrument (cid:73) Versatile, validated, usable (dozens papers per year by hundreds) (cid:73) Full-featured model-checker toward formal verification of MPI applications MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 2/15 Mon exp´erience d’enseignant L’autre moiti´e du temps (cid:73) Enseignant depuis ma maˆıtrise, depuis 2005 `a Telecom Nancy (cid:73) D’abord sur mes recherches, mais niveau des ´el`eves faible en programmation (cid:73) Depuis 2006 : bases de l’aglo-prog (algo, Java, scala, C, shell, syst`emes) Constat : seuls ceux qui savent programmer avant savent apr`es (cid:73) Les autres ont des probl`emes avec if au bout de 6 mois! Comment aider ceux qui en ont besoin? (cid:73) E´normes diff´erences de niveaux en entr´ee : ceux qui savent trustent la parole (cid:73) Expliquer les bases de base : aussi difficile qu’enseigner `a faire du v´elo (cid:73) Si seulement ils pouvaient bosser par eux-mˆemes... (cid:73) ... si seulement nos TP pouvaient ˆetre moins arides et plus attirants PLM : Programmer’s Learning Machine (2008) (cid:73) D´evelopp´e (avec G. Oster) pour une mise `a niveau pseudo-autonome tutor´ee MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 3/15 PLM aujourd’hui Exerciseur interactif d´edi´e `a la programmation (cid:73) Outil interactif et graphique pour apprendre `a coder (cid:73) C’est en forgeant qu’on devient forgeron (et qu’on apprend `a aimer ¸ca) entity Code area ongoing Mission text World view execution Interactive controls console logs Usage classique (cid:73) On lit la mission `a gauche, on compare `a droite l’´etat initial et l’´etat d´esir´e (cid:73) On tape le code, on clique sur un bouton, et ¸ca s’anime `a droite (cid:73) Boucle de feedback tr`es courte (et motivante pour les ´el`eves) MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 4/15 Bonnes propri´et´es de PLM (cid:73) L’interface est bilingue anglais/franc¸ais (soon italien?) (cid:73) Les exercices sont trilingues Java/Scala/Python (+javascript/ruby?) (cid:73) Mode d´emo, ex´ecution pas-`a-pas, vitesse d’animation pas `a pas, sessions (cid:73) Plusieurs mondes parall`eles pour mieux tester le code ´el`eve (cid:73) Documentation embarqu´ee dans l’outil L’univers des buggles (cid:73) Bouger : avancer, tourner, reculer. Getter/setter de position et de direction (cid:73) Buggle : getter/setter de couleur, de couleur de brosse, lever/baisser (cid:73) Interactions : Lire la couleur de la case; Lire / ´ecrire du texte par terre (cid:73) Baggles : Des biscuits qu’on trouve par terre, et qu’on peut ramasser (cid:73) Murs : tester leur pr´esence; ils sont infranchissables MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 5/15 D’autres univers Diff´erents types d’univers pour diff´erentes situations-probl`emes L’univers des tortues (cid:73) Moins d’interaction avec le monde, mais virages au degr´e pr`es (cid:73) Avance, recule, tourne, l`eve/baisse crayon, getter/setter d’angle et position (cid:73) C’est le logo classique, toujours efficace pour la r´ecursivit´e L’univers des tris (cid:73) Un tableau, auquel on acc`ede par les builtins uniquement (cid:73) D´ecompte exact des acc`es et comparaisons identification de l’algo de tri (cid:73) Une vue temporelle pour voir (et comparer)(cid:59)la chronologie de l’algorithme Encore plus d’univers (cid:73) Drapeau hollandais, Cr´epier, Baseball multicolor : variation sur les tris (cid:73) Bat : tests simples de fonctions, `a la jUnit (cid:73) Hano¨ı : les tours; Lightbot : jeu / casse tˆete (cid:73) Ajouter un univers : 100 `a 300 lignes de Java MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 6/15 Nos ´el`eves travaillent par eux-mˆemes Des gens utilisent l’environnement Dans twitter Dans Debian Mais je ne sais pas qui! MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 8/15 Notre progression p´edagogique en CS0 Objectif : tactical programming (cid:73) Le B-A-BA de la programmation : ´ecrire des trucs de base sans difficult´e (cid:73) Que ce ne soit plus un probl`eme quand les algos seront non-triviaux Impl´ementation language-agnostic (Java, Python, Scala) (cid:73) Instructions (et commentaires) (cid:73) Conditionnelles (+40 exercices Bat pour savoir ´ecrire des tests logiques) (cid:73) Boucles while; switch cases (+ 3 exos d’applications) (cid:73) Les variables (cid:73) Boucles for et do/while (cid:73) M´ethodes (+5 exos qui forcent `a factoriser le code) (cid:73) M´ethodes avec r´esultat, avec param`etres (cid:73) Tableaux (+12 exos d’applications, certains en Bat) (cid:73) Application:parcoursdetableau2D(5exos)lesturmites(turing2D–4exos) 160 exos sc´enaris´es, pour plus de 40h de bonheur MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 9/15 C’est mˆeme document´e dans PLM directement Malheureusement, ceci n’est pas g´en´er´e automatiquement (pas toujours `a jour) MartinQuinson Versunexerciseuradaptatifpourapprendrelaprogrammationenautonomie? 10/15

Description:
apprendre la programmation en autonomie. Programmer's Learning Machine. [email protected]. Équipe-projet Algorille, Nancy. Journée MOOC
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.