Mercurial > js4py
annotate source/europython-2010-tutorial.rst @ 41:630e8132250e
europython-2010-tutorial.rst: Drafted this page.
| author | Jonathan Fine <jfine@pytex.org> |
|---|---|
| date | Sat, 10 Jul 2010 19:26:48 +0100 |
| parents | |
| children | d3ef1c9d4ca2 |
| rev | line source |
|---|---|
|
41
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
1 EuroPython 2010 Tutorial |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
2 ======================== |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
3 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
4 Time, date and location |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
5 ----------------------- |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
6 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
7 This tutorial will take place on Saturday 17th July, from 2pm to |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
8 5.45pm in Lecture Room 2, the Birmingham Conservatoire, Birmingham, |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
9 UK. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
10 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
11 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
12 Installed software |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
13 ------------------ |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
14 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
15 Participants should bring with them a laptop computer with the |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
16 following installed: |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
17 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
18 1. The Firefox web browser, with the Firebug add-on. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
19 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
20 2. A programmer's editor, preferably with a JavaScript mode. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
21 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
22 3. A command line JavaScript interpreter. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
23 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
24 * For Linux I suggest SpiderMonkey. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
25 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
26 .. code-block:: bash |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
27 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
28 $ sudo apt-get install spidermonkey-bin # Ubuntu |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
29 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
30 * For Windows and Mac I suggest JSDB, from |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
31 http://www.jsdb.org/download.html. It also works on Linux. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
32 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
33 4. This documentation, downloaded from |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
34 `Bitbucket downloads <http://bitbucket.org/jfine/javascript-for-python-programmers/downloads>`_. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
35 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
36 5. The Python documentation, download from |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
37 `Python docs site <http://docs.python.org/download.html>`_. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
38 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
39 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
40 Timetable |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
41 --------- |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
42 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
43 The tutorial consist of two 90 minutes sessions, separated by a 15 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
44 minute break. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
45 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
46 I hope to run six sessions, each 30 minutes long. I hope each session |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
47 will be 15 minutes of me talking followed by 15 minutes of |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
48 programming. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
49 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
50 The topics I'm intending to cover are |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
51 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
52 We start at 2pm prompt, with software already installed if possible. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
53 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
54 1. Demonstration and discussion of the counters example application. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
55 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
56 2. JavaScript gotchas. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
57 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
58 3. Objects and inheritance, class basics. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
59 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
60 Here we have a 15 minute break. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
61 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
62 4. JavaScript's *this* pseudo-variable (including *call* and *apply*). |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
63 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
64 5. Closures, modules and memory leaks. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
65 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
66 6. Delegation. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
67 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
68 We finish at 5.15pm. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
69 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
70 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
71 Is this tutorial for me? |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
72 ------------------------ |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
73 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
74 This tutorial aimed at Python web developers who already know a bit of |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
75 JavaScript, and who need to understand JavaScript better. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
76 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
77 The tutorial has two related objectives. One is a good understanding |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
78 of the counters example. The other is a good understanding of the |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
79 things that make JavaScript so different from Python (apart from |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
80 JavaScript being the only language supported by web browsers). |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
81 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
82 If you're thinking of taking this tutorial take the :doc:`gotcha-quiz` |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
83 and read through the :doc:`counters-example`. If you understand |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
84 what's there a bit, and would like to understand it more, then this |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
85 tutorial is for you. |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
86 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
87 Let me know |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
88 ----------- |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
89 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
90 If you're going to attend the tutorial, I'd appreciate an email from |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
91 you that tells me a little bit about yourself and what you'd like to |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
92 get from the tutorial. If you have specific questions about |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
93 JavaScript, I'd like to here them also. (I can be contacted at |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
94 Jonathan.Fine1 at gmail.com.) |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
95 |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
96 You can also, I believe, just turn up on the day, if there is |
|
630e8132250e
europython-2010-tutorial.rst: Drafted this page.
Jonathan Fine <jfine@pytex.org>
parents:
diff
changeset
|
97 space. Don't forget to install the software on your laptop. |
