About This MOOC
program diffuse applications supporting a number of potentially
cooperating clients and mashing up information from multiple
events, listeners, promises, workers, websockets: the mere content
of this course!
This course is not an initiation to programming. It will rapidly
prototypes to ECMAscript 2015 new features such as promises and
generators. Additionally, more than 50 mechanically graded exercises
are proposed via the
To take benefit of this course, you need
to have some knowledge of programmation (for instance, with a
static object oriented language such as Java or a scripting
to have some notions on what server and client are (HTTP GET and POST).
What you will learn
This is a self paced MOOC organized in four weeks
The first two weeks of this course will give you a firm
version): closure, scope, object and prototype.
The third week will be devoted to concurrency and the related
Finally, the last week will focus on distributed aspects with
Web sockets. You will then be able to program diffuse
applications where part of the code runs on servers while the
other part runs on browsers.
All four parts are accompanied by exercises automatically graded.
Instructor: Christian Queinnec
I started coding in Fortran in 1972 (at that time, without any
access to a computer), then I switched to Lisp and Scheme around
1975 and wrote articles and books on these dynamically typed
programming languages as a researcher at INRIA and some other
I heard about the Web around 1994 and was sure that it was the
next hot topic. My main contribution in that area was a paper,
published in 2000, on
Continuation and Web programming where
continuations, an obscure semantical topic, become the clear
explanation for many weird behaviors of the Web.
Since 2000, I have been teaching Web programming
but still enjoy coding Web servers in PHP or Perl,
I am now flabbergasted by ECMAscript 2015 and I am eager to share my
knowledge on that marvellous language.