MOOCs gratuits : catalogue de cours en ligne ouverts et massifs

MOOC Programmation concurrente (avec Java)

Inscriptions au MOOC ouvertes jusqu'au 3 juin 2017

Les objets les plus courants de notre vie quotidienne, comme les voitures ou les smartphones, sont de véritables ordinateurs parallèles exécutant des programmes qui coopèrent et qu'il faut écrire. Ce MOOC va vous donner les bases de cette programmation...concurrente.

MOOC sur edX - du 25.04.17 au 6.06.2017
Auteur(s): Fabrice Kordon, Marjorie Bournat, Claude Dutheillet, Nathalie Sznajder, Amel Yessad

Présentation du MOOC Programmation Concurrente (avec Java)

Informations pratiques sur le MOOC

  • Type: MOOC, cours en ligne, excercices, bilans,certificat
  • Temps d'apprentissage: 6 semaines
  • Niveau: à partir de L2
  • Durée d'exécution: 05:00h/semaine
  • Langues: français
  • Contenu: vidéos
  • Public cible: étudiants en informatique
  • Age attendu: 21 et +
  • Droits: droits réservés

Description du MOOC

Les voitures les plus simples embarquent une trentaine de capteurs et processeurs sur lesquels s'exécutent différents programmes qui coopèrent. Les véhicules les plus sophistiqués dépassent d'ailleurs la centaine de capteurs et processeurs. Ne parlons pas des véhicules autonomes qui se profilent dans un avenir proche. Internet peut aussi être vu comme un système massivement parallèle.

Ainsi, les systèmes parallèles ont déjà envahi notre vie quotidienne et sont présents dans tous les secteurs. La principale conséquence est que l'informaticien d'aujourd'hui se doit de maîtriser ce type de programmation, qui est loin d'être trivial. Tôt ou tard, il ne pourra qu'être confronté à ce type de problèmes.

Ce MOOC, d'une durée de 6 semaines, va vous donner un aperçu de ce domaine. Il va vous présenter :

  • les problèmes posés par la concurrence
  • les solutions algorithmiques proposées :
    • moniteurs
    • sémaphores
    • etc.

Tout cela sera illustré à l'aide du langage Java qui, dans sa version 8 (en fait depuis la version 7), intègre de nombreux mécanismes permettant au programmeur désireux de comprendre la programmation concurrence, de s'y focaliser sans avoir à manipuler des mécanismes de bas niveau, comme ceux que l'on trouve dans de nombreux langages comme par exemple, le langage C avec les bibliothèques Posix.

Ce MOOC est surtout destiné à des personnes maîtrisant déjà au moins un langage de programmation, objet si possible. Il est dérivé d'une unité d'enseignement de troisième année dispensée à l'Université Pierre et Marie Curie qui fût le premier établissement universitaire à avoir proposé en France, en 1967, un diplôme d'informatique.

Plan du MOOC

  • Semaine 1 : Bases de la concurrence, la notion de thread
  • Semaine 2 : Données partagées et synchornisation simple
  • Semaine 3 : Moniteurs Java, ReentranLock, interblocage, famine
  • Semaine 4 : Serveur multi-threadé et généricité
  • Semaine 5 : Pools de thread & interface Callable
  • Semaine 6 : Sémaphores et barrières de synchronisation

Évaluation

À l'issu de ce MOOC, vous pourrez obtenir un certificat payant.

Informations pédagogiques

Public

  • Public visé : Ce MOOC est surtout destiné aux étudiants en informatique.
  • Pré-requis : Ce MOOC nécessite de connaître le langage Java. À ce titre, des ressources de préparation sont à votre disposition sur la page personnelle de Fabrice Kordon

Objectif pédagogique du MOOC

  • Objectif : Avec ce MOOC vous allez apprendre :
    • le rôle de l'exécutif dans l'exécution d'un programme, et la notion de thread
    • le problème posé par l'accès concurrent à des données partagées
    • différents mécanismes de protection des données partagées
    • les mécanismes de communication entre thread
    • la terminaison d'un programme concurrent
    • des éléments pour la structure d'un serveur
    • quelques bases d'algorithmique répartie

Édition et diffusion du MOOC Programmation Concurrente (avec Java)

Édition

Diffusion

Plateforme

Suivez le MOOC sur les réseaux sociaux :

•     Suivez sur Facebook le MOOC Programmation Concurrente (avec Java)

Conditions d'utilisation :

  • Des vidéos : Licence Creative Commons BY-NC-SA
  • Du cours : Droits réservés
  • Des contenus produits par les participants : Droits réservés
Publication : 24.04.2017

Équipe pédagogique

Université Pierre et Marie Curie

  • Fabrice Kordon - Enseignant-chercheur - Responsable du MOOC
  • Marjorie Bournat - Doctorante
  • Claude Dutheillet - Maître de conférences
  • Vassiliki Michou - Ingénieure pédagogique
  • Nathalie Sznajder - Maître de conférences
  • Amel Yessad - Maître de conférences