Ir al contenido principal

Programmation Concurrente (avec Java)

La programmation concurrente vous intéresse ? ce MOOC est fait pour vous. Il vous donnera les bases de cette programmation en se basant sur le langage Java qui sera supposé connu dans ses aspects objets. L'objectif est de vous permettre d'appréhender un modèle de programmation crucial à une époque ou même nos smartphones sont des machines multi-cœurs....
Este curso está archivado

Programmation Concurrente (avec Java)

La programmation concurrente vous intéresse ? ce MOOC est fait pour vous. Il vous donnera les bases de cette programmation en se basant sur le langage Java qui sera supposé connu dans ses aspects objets. L'objectif est de vous permettre d'appréhender un modèle de programmation crucial à une époque ou même nos smartphones sont des machines multi-cœurs.
6 semanas
5 horas por semana
Al ritmo del instructor
Con un cronograma específico
Gratis
Verificación opcional disponible
Este curso está archivado

Sobre este curso

Omitir Sobre este curso

Savez-vous que les machines les plus puissantes au monde sont massivement parallèles ? Saviez-vous que les objets les plus courants de notre vie quotidienne, comme les voitures ou les smartphones, sont de véritables ordinateurs parallèles ?

En effet, 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... et ne parlons pas des véhicules autonomes qui se profilent dans un avenir proche. D'ailleurs, vous savez tous qu'internet peut également être vu comme un système massivement parallèle ?

Bref, 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. En effet, tôt ou tard, il ne pourra qu'être confronté à ce type de problèmes.

L'objectif du MOOC « Programmation Concurrente » est de vous donner un aperçu de ce domaine. Nous y présenterons les problèmes posés par la concurrence, les solutions algorithmiques proposés (moniteurs, sémaphores, etc.) et illustrerons nos propos à 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 (par exemple, C avec les bibliothèques Posix).

Ce cours est principalement 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, le premier établissement universitaire à avoir proposé en France, en 1967, un diplôme d'informatique.

Afin que vous puissiez mieux suivre ce MOOC, il est nécessaire de connaître le langage Java. À ce titre, des ressources de préparation sont à votre disposition via le lien suivant : http://lip6.fr/Fabrice.Kordon/moocprc2017.php

De un vistazo

  • Institución: SorbonneX
  • Tema: Informática
  • Nivel: Advanced
  • Prerrequisitos:
    • Connaissance de la programmation objet
    • La connaissance de Java est un plus (et évite la mise à niveau)
  • Idioma: Français
  • Transcripción de video: Français

Lo que aprenderás

Omitir Lo que aprenderás

Qu’apprendrez-vous ?

  • 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

Plan de estudios

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

Acerca de los instructores

¿Te interesa este curso para tu negocio o equipo?

Train your employees in the most in-demand topics, with edX For Business.