Skip to main content

Diffuse Javascript

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!

About This Course

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. Node.js will be used on the server side and the Chrome browser on the client side.

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 be aware of what are server and client (HTTP GET and POST).

What you will learn

  • 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. This part is accompanied by exercises automatically graded.
  • 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.

Course Staff

Course Staff Image #1

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 followed the evolution of Javascript. I am now flabbergasted by ECMAscript 2015 and I am eager to share my knowledge on that marvellous language.

Frequently Asked Questions

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Firefox or Safari, or with Internet Explorer version 9 and above.

See our list of supported browsers for the most up-to-date information.

Enroll