1. Atelier MOOC : Enseigner le
langage C en ligne
Animé par
Rémi Sharrock, Ella Hamonic (IMT)
Mathias Hiron (France ioi)
le 01.03.2017
https://ateliermoocc.splashthat.com/
27/02/2017
BILAN MOOC COMSAT 27-02-2017
1
2. Un parcours de 2 MOOC pour apprendre à
programmer en C
27/02/2017
2
➢ ABC du langage C, un MOOC d’initiation au langage C pour les débutants en
programmation (0 pré-requis)
➢ Programmer en C, un MOOC pour apprendre le développement C sous Linux
(pré-requis : le MOOC ABC)
3. Des outils qui permettent de commencer rapidement
à coder
27/02/2017
3
➢ Des outils 100% dans le navigateur : rien à installer pour l’apprenant.
➢ 2x3 semaines pour réaliser le parcours
Quelques chiffres :
● ABC du langage C
• 11 000 inscrits en session 1 + 4 000 inscrits après la session
• 16.7% des apprenants ont obtenu l’attestation
• élu MOOC le + innovant de l’année 2016
● Programmer en C
• 11 300 inscrits en session 1
• 8% des apprenants ont obtenu l’attestation
4. Le dispositif pédagogique combine 3 outils pour favoriser
l’engagement et la motivation des apprenants
4
L’architecture type d’une leçon du cours :
Codecast :
un tutoriel de code
commenté. L’apprenant
peut y tester son code
Tutoriel Weblinux :
une video tutoriel
“traditionnelle”
Bac à sable Codecast
l’apprenant peut
compiler du code en
langage C
Activité Taskgrader :
l’apprenant soumet un
programme (correction
est automatisée)
Bac à sable Weblinux
l’apprenant peut tester
les commandes linux
Activité Taskgrader :
l’apprenant soumet un
programme (correction
est automatisée)
Forum :
l’apprenant demande
de l’aide ou aide la
communauté
Forum :
l’apprenant demande
de l’aide ou aide la
communauté
- “produire” un
programme en appliquant
les concepts introduits
par les tutoriels
- recevoir un feedback
et une note. Le nombre
de soumissions est
illimité (mastery learning)
pour favoriser
l’essai/erreur
- Contenu transmissif :
écouter les explications
du professeur
- Tester, expérimenter à
partir des exemples de
codes fournis par
l’enseignant
Tester, expérimenter
par soi-même
Interagir avec la
communauté et l’équipe
pédagogique
M
O
O
C
1
M
O
O
C
2
9. Comment les outils ont été interfacés dans la
plateforme LMS FUN-MOOC ?
27/02/2017
9
➢ Codecast : une url par enregistrement intégrée dans une
iframe, plus un lien pour une ouverture en plein écran
➢ Weblinux : une url unique, intégrée dans une iframe
➢ Taskgrader : une url par exercice, intégrée dans une iframe,
et communiquant au travers du protocole standardLTI
LMS : Learning Management System
FUN-MOOC: une instance spécifique du LMS Open edX
LTI : Learning Tool Interoperability protocol
13. Intégration d’exercice taskGrader via LTI
LMS (FUN, mais aussi edX, Moodle, ...)
● Activité de type LTI, associée à l’url de l’exercice
● Page de l’exercice intégrée à l’interface du LMS (dans une iframe)
13
● url de l’exercice
● id d’utilisateur (anonyme)
● authentification du LMS
Exercice TaskGrader
● Interface de l’exercice : énoncé, éditeur de code, résultats
● Stockage de l’activité de l’utilisateur (code en cours, soumissions)
● Évaluation des programmes sur une ferme de serveurs
● Transmission de la note au LMS
● note de l’utilisateur
● identifiant d’exercice
● identifiant d’utilisateur
● authentification de taskGrader
Protocole LTI
14. Pourquoi LTI ?
Avantages du standard LTI :
➢ Supporté par plusieurs LMS : FUN, edX, Moodle, …
➢ Pas de code spécifique à développer sur la plateforme
• Contrairement à XBlock, et JSinput spécifiques à edX
➢ Permet un hébergement sur des serveurs externes
➢ Retour de notes possible en différé
• Contrairement à JSinput
Inconvénients sur la plateforme Fun :
➢ Intégration au sein d’une iframe de largeur imposée
➢ L’anonymisation des utilisateurs empêche les recherches
14
15. Les perspectives ouvertes
➢ Améliorations de Codecast pour une équipe du CNAM.
- Gestion des entrées/sorties via une simulation de terminal.
- Ajout de quelques fonctions d’entrées/sorties
➢ Améliorations de Codecast pour les MOOC La fabrication
numérique (Baptiste Gaultier IMT Atlantique).
- Support des structures et pointeurs sur fonctions
- Support de quelques fonctions spécifiques Arduino
➢ Outil d’organisation des enregistrements Codecast
- Support de comptes utilisateurs pour les enseignants
- Permet de ranger ses enregistrements, supprimer ses essais
➢ Internationalisation de Codecast et de Taskgrader
- Pour une version en anglais des MOOC Langage C de A à Z
15
16. Comment utiliser ces outils ?
Outils open source (licences MIT ou assimilé)
➢ Intégrer CodeCast et TaskGrader dans ses cours
• Codes sources disponibles sur https://github.com/france-ioi/
• Architecture sur plusieurs serveurs et infrastructure AWS
• Notre recommandation : hébergement par France-ioi
• gratuit pour les essais et petits volumes
• partage simplifié d’exercices entre les équipes pédagogiques
• mutualisation des frais d’hébergement et de maintenance
• support et développements spécifiques à prix coûtant
• contactez info@france-ioi.org
➢ Intégrer webLINUX dans ses cours
• Code source disponible sur https://github.com/remisharrock/
• Hébergement intégral sur github pages, gratuit
• Intégrer en iframe une url du site de Rémi SHARROCK
16
17. Une démo de codecast sera
prochainement présentée à la
conférence Learning@Scale
au MIT
27/02/2017
BILAN MOOC COMSAT 27-02-2017
17
18. Merci de votre attention,
Contact Cellule MOOC IMT
ella.hamonic@imt.fr
27/02/2017
BILAN MOOC COMSAT 27-02-2017
18