EuroPython 2012 Tutorial

Time, date and location

This tutorial will take place on Wednesday, 4 July 2012, from 14.30 to 18.30 (2.30pm to 6.30pm) in Training Pizza Margherita.

Installed software

Participants should bring with them a laptop computer with the following installed:

  1. The Firefox web browser, with the Firebug add-on.

  2. A programmer’s editor, preferably with a JavaScript mode.

  3. A command line JavaScript interpreter.

    • For Linux I suggest Rhino.

      $ sudo apt-get install rhino   # Ubuntu
      
    • For Windows and Mac I suggest JSDB, from http://www.jsdb.org/download.html. It also works on Linux.

  4. This documentation, downloaded from Bitbucket downloads.

  5. The Python documentation, download from Python docs site.

Timetable

We start at 14.30 prompt, with software already installed if possible.

I hope to run seven sessions, each about 30 minutes long. They’ll be about 20-30 minutes for breaks, as we need then. I hope each session will be 15 minutes of me talking followed by 15 minutes of programming. The topics I’m intending to cover are

  1. Demonstration and discussion of the counters example application.
  2. JavaScript gotchas.
  3. Objects and inheritance, class basics.
  4. JavaScript’s this pseudo-variable (including call and apply).

We’ll certainly have a break here.

  1. Closures, modules and memory leaks.
  2. Delegation.
  3. Review of counters example application.
  4. JavaScript and Python objects and classes compared.

We finish at 18.30.

Is this tutorial for me?

This tutorial aimed at Python web developers who already know a bit of JavaScript, and who need to understand JavaScript better.

The tutorial has two related objectives. One is a good understanding of the counters example. The other is a good understanding of the things that make JavaScript so different from Python (apart from JavaScript being the only language supported by web browsers).

If you’re thinking of taking this tutorial take the Gotcha quiz and read through the Counters example. If you understand what’s there a bit, and would like to understand it more, then this tutorial is for you.