Welcome
You are now visiting the Diffuse JavaScript MOOC.
About This MOOC
Javascript is now diffuse since it runs on both sides of HTTP. To
program diffuse applications supporting a number of potentially
cooperating clients and mashing up information from multiple
servers require to master the Javascript programming language,
events, listeners, promises, workers, websockets: the mere content
of this course!
This course is not an initiation to programming. It will rapidly
focus on advanced features of Javascript from closures and
prototypes to ECMAscript 2015 new features such as promises and
generators. Additionally, more than 50 mechanically graded exercises
are proposed via the
CodeGradX infrastructure.
Requirements
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
language such as Python, Perl, Scheme or even Javascript),
-
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
understanding of the Javascript language (ECMAscript 2015
version): closure, scope, object and prototype.
-
The third week will be devoted to concurrency and the related
features of Javascript: callback, Promise and generator.
-
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
places.
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,
designing Javascript API and following the evolution of Javascript.
I am now flabbergasted by ECMAscript 2015 and I am eager to share my
knowledge on that marvellous language.