Apprendre à coder avec les MOOC ?

L’apprentissage  de la programmation et de l’informatique est au cœur du mouvement MOOC dès ses débuts. C’est d’ailleurs un professeur d’intelligence artificielle de Stanford, Sebastian Thrun, le fondateur d’Udacity, qui ouvrit le bal à l’automne 2011 avec un cours qui attira près de 150.000 participants. Pour autant, les programmeurs n’ont pas attendu l’avènement des MOOC pour se former en ligne. Entre les sites de tutoriels comme feu le Site du Zéro (maintenant Open Classrooms), les forums comme Stackoverflow, ou les sites comme la Codecademy et Codeschool, ce ne sont pas les solutions qui manquent si l’on souhaite se former en ligne gratuitement (ou à peu de frais). Afin de mieux comprendre la place des MOOC, petit tour d’horizon des principales approches d’autoformation dans le domaine de l’informatique et de la programmation …

L’informatique et la programmation sont des disciplines particulièrement adaptées à l’autoformation via internet. Et pour cause, les technologies étant en constante évolution, l’obsolescence des connaissances est relativement rapide. Tout développeur digne de ce nom doit donc être en permanence se tenir à jour. Or ce n’est pas sur les bancs de la fac que l’on apprend à programmer – la plupart des examens y sont encore réalisés au papier et crayon – et les formations en présentiel dans le domaine, si elles sont nombreuses, peuvent coûter cher. Il n’est donc pas surprenant que l’autoformation soit la règle et non l’exception dans ce domaine, et qu’Internet soit le principal vecteur de l’apprentissage, d’autant que les programmateurs et informaticiens n’ont pas de difficulté particulière à travailler avec des écrans.

Tout le monde connaît le Site du Zéro, maintenant Open Classrooms, le site de tutoriels fondé en 1999 par Mathieu Nebra alors qu’il n’avait que 13 ans. Ce site basé sur l’Open Courseware attire plusieurs centaines de milliers à plusieurs millions d’utilisateurs par mois, dont certains contribuent de manière collaborative à l’élaboration des tutoriels. Le site propose désormais quelques MOOC, sur HTML5, PHP, mais aussi dans des domaines moins technologiques comme le financement d’entreprises. Le cours sur HTML5 représentait l’automne dernier l’un des plus gros MOOC francophones, avec presque 20.000 inscrits. Pour l’évaluation finale, les participants devaient créer un petit site, qui était alors évalué par les autres participants, une belle illustration du concept d’évaluation par les pairs. Depuis peu, le format de cours a changé. Il est possible de commencer une nouvelle session chaque semaine et de suivre son propre rythme de travail.

Autre média utilisé pour l’autoformation, les sites dits de Q & A, pour Question & Answer. Parmi les sites de Q&A célèbres comme Quora, Yahoo Q&A, Stackoverflow est sans doute le plus réputé pour ce qui est de la programmation. Premier avantage, la diversité des langages informatiques et des sujets traités, on y trouve de tout, Java, R, Python, Ruby, etc. Second avantage, la qualité des contributions. Ce qui ne fait pas avancer le Schmilblick – bavardages inutiles et autres échanges socio-affectifs – est généralement effacé sans sommation par les modérateurs; une manière de maintenir la qualité de l’information. Ce type de média est particulièrement intéressant dès lors que l’on bute sur un obstacle.  Mais ils s’inscrivent davantage dans le contexte de l’apprentissage par résolution de problème; les sites de tutoriels restent plus adaptés si l’on souhaite suivre un parcours balisé et acquérir une vision plus exhaustive des technologies que l’on souhaite apprendre. En ce sens les approches Q&A et site de tutoriels sont relativement complémentaires.

Enfin, il existe bien évidemment des vidéos-tutoriels à foison sur la Toile, mais je ne suis pas certain que le format vidéo soit plus adapté que le format texte pour ce qui est de l’apprentissage d’un langage informatique. Néanmoins, les sites de vidéos-tutoriels payants se sont emparés de la question, que ce soit les éditeurs comme Lynda.com ou tuto.com les places de marché comme Udemy, se sont emparés de la question. Il n’est pas certain cependant qu’en termes d’usages ils fassent le poids face à des géants comme Stackoverflow, d’autant qu’ils sont en général payants. A vrai dire ce qui manque en général dans tous ces sites, c’est l’interactivité.

Eh oui, le QCM permet de faire un certain nombre de choses, et certains des sites sus-cités les utilisent, mais il y a bien un moment où il faut écrire des lignes de code et que celles-ci soient évaluées automatiquement – tout le monde n’a pas les moyens de se payer un professeur particulier. C’est le principe de l’évaluation formative, c’est-à-dire que c’est la réalisation d’exercices de difficulté croissante est la base de l’apprentissage. Dans cette approche, les cours magistraux –s’il y en a- n’ont pour objectif que de faciliter la réalisation des exercices. Le contraire de l’approche habituelle qui consiste à considérer les travaux dirigés comme une simple application du cours.  Personnellement, c’est la démarche d’autoformation que je considère la plus efficace – toutes disciplines confondues.

Parmi les plus célèbres sites reposant sur l’évaluation formative, Codecademy et Codeschool. Le principe est plus ou moins le même. L’utilisateur doit écrire – de quelques lignes de code jusqu’à de petits programmes. Et des correcteurs automatiques conçus spécifiquement pour font alors des retours plus ou moins personnalisés aux utilisateurs. Mettre au point de tels correcteurs automatiques peut être assez compliqué, je vous renvoie aux travaux du professeur Christian Queinec pour davantage de précision. La principale différence entre Codecademy et Codeschool tient au niveau des cours et au modèle éditorial. Alors que le premier propose des cours de niveau débutant conçus de manière collaborative (un peu sur le modèle du Site du Zéro), c’est dans Codeschool que l’on peut trouver les cours un peu plus pointus ; en revanche, dans la mesure où les cours sont mis au point par des professionnels, il n’est pas surprenant que l’accès soit payant.

Au vu du nombre  de solutions existantes pour apprendre la programmation en ligne – et nous n’en avons présenté qu’un échantillon – on peut se demander si les MOOC présentent une véritable valeur ajoutée. En termes pédagogiques, ils n’ont pas grand-chose de nouveau : des vidéos, des forums, de l’évaluation formative, essentiellement automatisée. Éventuellement l’évaluation par les pairs pour les compétences informatiques qui ne peuvent être évaluées que par un humain (comme l’évaluation par les pairs du MOOC HTML 5 d’Open Classrooms). Mais à part ça, ils peuvent même représenter une certaine régression dans la mesure par rapport à la Codecademy dans la mesure où la plupart sont synchrones (i.e. une date de début et une date de fin), alors que l’accessibilité à tout instant est justement ce qui fait la force du numérique. Contrairement à ce que l’on observe dans de nombreuses disciplines, où ils représentent parfois un vrai bouleversement, les MOOC ne sont qu’un élément parmi d’autres dans l’univers de l’autoformation à la programmation. Nous verrons bien s’ils parviennent à trouver leur place ou s’ils ne resteront qu’un épiphénomène passager …

PS : le blog fête sa première année samedi ! 71 articles publiés à ce jour, et quelques autres dans les tuyaux ….

7 Comments

Filed under Non classé

7 Responses to Apprendre à coder avec les MOOC ?

  1. Anne-Laure

    Bonjour,

    Je suis avec intérêt vos articles (et je me suis inscrite au Mooc Mooc de A à Z !).
    J’ai suivi un dizaine de mooc durant les deux dernières années, sur des sujets variés. Je ne les ai pas tous terminés faute d’intérêt ou de temps.
    Je pense que vous avez raison si on résume l’informatique au codage : le mooc n’apporte pas énormément de valeur ajoutée. Mais si vous considérez l’informatique plus largement, comme une manière de résoudre des problèmes, le mooc peut apporter beaucoup. J’ai en particulier suivi jusqu’au bout : le mooc CS50x (en anglais) sur l’informatique. Je ne m’intéressais pas du tout au code informatique, je suis allée voir par hasard. Et j’ai été séduite par l’approche résolution de problème de cet excellent cours. J’ai appris un peu de langage C mais j’ai surtout appris à poser un problème informatique et à le résoudre. A ma connaissance, ce n’est pas du tout l’approche des sites que vous citez (ni celle du Mooc Fun HTML5 actuellement en cours, même si la méthode pédagogique est intéressante). Les sites ou Mooc de codage sont à l’informatique ce qu’une dictée serait à la dissertation.
    J’attends avec impatience un excellent mooc francophone d’informatique, dans lequel on enseigne à penser en même temps qu’à « parler ».

    • matthieu-cisel

      Je suis tout à fait d’accord avec vous. Mais le CS50 est un cours qui a une trajectoire particulière, dans la mesure où c’est un Open Courseware à la base, et il n’a connu le format MOOC que pour une période très courte, avant d’entrer dans un format un peu hybride, avec contenus disponibles en permanence et communauté et projets récurrents … Un cas très intéressant que je ne manque pas de citer dans le MOOC Monter un MOOC de A à Z. C’est sûr qu’avec une vingtaine de MOOC comme le CS50, on aurait une sacrée offre en ligne. Avis aux amateurs …

  2. Olivier Ridoux

    « L’informatique et la programmation sont des disciplines particulièrement adaptées à l’autoformation via internet. Et pour cause, les technologies étant en constante évolution, l’obsolescence des connaissances est relativement rapide. »

    L’informatique crève de ce genre de présupposé. La science informatique connait des principes relativement stables (certains sont là depuis 1936), et c’est leur incarnation technologique qui évolue vite. Mais c’est surtout signe d’immaturité comme l’ahurissante variété de formes des débuts de l’aviation. Coder demande bien de connaître ces technologies, mais les comprendre demande de bien connaître les principes car les technologies ne font que mettre en vitrine des principes sous un déguisement ou un autre. On comprend bien mieux les technologies si on sait à quels principes elles peuvent faire référence. Par contre, programmer, au sens d’imaginer une solution logicielle à un problème réel, n’est pas soumis à une telle obsolescence, mais est beaucoup plus exigeant. Bien sûr le programme exact que je produirai aujourd’hui n’est pas celui que je produirai demain, mais ce n’est qu’un détail à peine plus grave que de changer de crayon.

    C’est justement en insistant sur cette frénésie technologique qu’on fait peur aux gens, qu’on dissuade des jeunes à l’esprit pénétrant de poursuivre des études en informatique, ou qu’on stresse les employés à qui on va faire subir un changement de version de tableur. Si à tous ces gens on décrivait les principes et à quels genres de services ils doivent s’attendre, et si on leur en montrait plusieurs instances, ils apprendraient des choses vraiment utiles et durables, et ils ne penseraient pas que l’informatique est une affaire de geek, ni que trier un tableau c’est cliquer sur la troisième entrée du cinquième menu ou que programmer c’est savoir bien disposer des parenthèses et des points-virgules.

    L’autre jour, un journal télévisé a présenté un reportage sur l’injonction du Président Obama à apprendre à programmer et sur un lycée américain qui proposait un tel enseignement. Malheureusement, le visuel du reportage insistait sur ce que la programmation peut avoir de plus ésotérique et de moins persistant, des suites de formules bizarres. Là où Obama disait apprenez à programmer pour comprendre votre monde et son avenir, le reportage montrait apprenez à programmer pour faire partie d’une société secrète. Vous vous souvenez du Président Mitterrand recevant avec embarras un gamin présenté comme un génie car possédant un ordinateur ? Le journal télévisé en était au même point !

    Après, MOOC ou pas MOOC, c’est une autre question, mais elle sera plus profitable si on ne la fonde pas sur des présupposés dangereux.

    • matthieu-cisel

      Je vous rejoins, mais mon propos ne porte pas tant sur l’informatique, que je connais mal même si comme tout le monde j’ai fréquenté le Site du Zéro, que sur les méthodes d’autoformation. Je pense qu’il est indéniable que ces questions diffèrent beaucoup selon les disciplines, et que l’informatique a un statut à part du fait du rôle prépondérant que l’autoformation y jour. Mon questionnement porte sur les meilleures démarches d’autoformation. La discipline en tant que telle ne m’intéresse qu’en secondairement

  3. Yves Epelboin

    Bonjour Mathieu,
    Comme il t’a été répondu précédemment coder est la pointe de l’iceberg de l’informatique. Se limiter à savoir coder est l’assurance d’être dépassé rapidement et ce n’est donc pas tout dans l’apprentissage de l’informatique.

    Il y a justement trop de personnes qui s’autoforment et il est urgent de leur apporter une aide (sous forme de MOOC notamment) sur les principes sous-jascents. On éviterait ainsi de nombreuses alertes et besoins de correction de codes parmi ceux que nous recevons chaque semaine des constructeurs et autres développeurs.

    Je m’inscris en faux sur une soi-disante impossibilité de coder à l’université : on est pas si mal équipé et des professeurs comme C. Queinnec à l’UPMC ont même mis au point des outils de correction automatiques de codes. C.Q s’en est même servi dans le MOOC qu’il a récemment lancé avec succès.

    Dans le MOOC programmation iOS, actuellement démarré sur FUN (il n’est pas trop tard pour le rejoindre) nous avons mis en place des espaces d’échange pour que les étudiants s’entraident dans la réalisation de leurs codes.

    Amitiés

  4. Permettez-moi d’apporter un simple témoignage, qui ne prétend pas avoir de portée générale.
    Il y a trois mois, pour répondre aux besoins de production d’un « mini MOOC » rustique (vidéo + quiz sur un blog acceptant HTML5) , j’ai cherché d’abord chez Open Classrooms et chez Codecademy me fiant sur le bouche à oreille…Pour le temps que je m’étais fixé pour trouver une solution, la recherche n’a pas été fructueuse.

    Finalement, Google retourne W3schools avec le mot HTML5, un site qui me convient tout à fait (profil ingénieur ayant codé en langage assembleur il y a 25 ans.
    http://www.w3schools.com/

    Si vous souhaitez produire un mini MOOC rustique, le mini MOOC Le Personal MOOC, un cas d’ingénierie frugale

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>