Déroulement

Ce MOOC est une introduction à la science informatique pour tout public. Le cours présente un concept intriguant: la récursion. Ce concept est ensuite décliné autour de quelques structures de données fondamentales: listes et arbres et culmine par l’explication du processus d’évaluation: comment passer d’un programme (un texte) à l’évaluation de ce texte vu comme un arbre.

Comme toute bonne série TV, ce MOOC est divisé en saisons:

  1. Préliminaires (cours 1-2)
    Quelques bases linguistiques, les outils mis à votre disposition et quelques exercices simples de mise en jambe.
  2. Récursion sur entiers naturels (cours 3)
    Introduction à la récursion avec les entiers naturels (n, n-1, ... 1, 0).
  3. Récursion sur listes (cours 4-5)
    La notion de liste (séquence ordonnée d'objets), structure de données récursive de taille non bornée que l'on parcourt récursivement.
  4. Récursion sur arbres (cours 6-8)
    Les arbres sont partout depuis les domaines structurant Internet jusqu'aux arbres généalogiques. C'est encore une structure de données récursive qui est le propre de l'informatique.
  5. Processus d'évaluation (cours 9)
    Avec tout ce qui précède, on peut enfin expliquer comment une machine peut prendre un texte (représenté comme un arbre) et calculer sa valeur c'est-à-dire ce que ce texte produit.

Le cours tout entier est un entraînement à la programmation par le biais d’exercices à correction automatisée. Il n’exige aucune connaissance informatique préalable mais certaines habiletés comme savoir manipuler un clavier ou une souris sont utiles. Le cours s’appuie sur un livre de cours, un livre d’annales corrigées et commentées, il comprend des vidéos et propose de nombreux exercices à correction automatisée. Il n’est pas obligatoire de tout suivre, tout lire, tout faire mais cela ne peut faire de mal!

Ce cours vous apprendra à programmer récursif, à manipuler les structures de données à substrat récursifs que sont listes et arbres (la troisième et dernière structure de données fondamentale: les graphes, ne sera pas étudiée) et enfin à analyser comment une machine peut « comprendre » un texte afin de l’évaluer c’est-à-dire calculer effectivement la valeur à laquelle il mène. Ce cours cherche également à donner de bonnes habitudes de programmation sur les aspects de test, de recherche d’efficacité et de terminologie.

Ce cours durera neuf semaines. Il s’achèvera par un examen en ligne que certains pourront passer, en présentiel, dans une des universités partenaires. Cet examen aura vraisemblablement lieu dans les quelques semaines qui suivront la fin du cours et, probablement, fin mai 2015. Consultez les détails concernant la certification de ce MOOC.

Chaque semaine seront publiés une quarantaine de minutes de vidéo et les textes associés. Une demi-dizaine de programmes sera alors demandée (et notés de façon mécanisée). La partie programmation devrait prendre de l’ordre de trois heures par semaine.

Les textes et vidéos resteront en ligne une fois publiés même lorsque le cours sera terminé (c'est d'ailleurs le cas de tous les documents associés à la première édition de ce MOOC). Les exercices à correction automatisée ne seront, eux, accessibles que jusqu’à l’examen et que pour les seuls apprenants inscrits à ce cours. Pour vos réponses à ces exercices, voir conditions particulières d’usage de l’infrastructure CodeGradX.

Ce cours sera donné en français. Les textes accompagnant les vidéos et les exercices sont en français.