Upgrade to Pro — share decks privately, control downloads, hide ads and more …

N Lighning Talks: teaching programming

N Lighning Talks: teaching programming

PyCon 2017 Education Summit Keynote

27c093d0834208f4712faaaec38c2c5c?s=128

Luciano Ramalho

May 18, 2017
Tweet

Transcript

  1. 3 5 y e a r s o f l

    e a r n i n g t o t e a c h N LIGHTNING TALKS Learning, teaching and thinking about learning and thinking with programmable stuff
  2. 2

  3. 3

  4. THE 5-MINUTE CLOCK 3000 seconds of live GUI coding 4

  5. Coding a digital clock directly on the Python command prompt

    using tkinter. 5
  6. LEARNING TO PROGRAM IN THE 1980’S Calculators, Microcomputers and Magazines

    6
  7. 7

  8. 8

  9. 9

  10. 8-BIT COMPUTERS CIRCA 1980 Apple ][: a computer for hacking

    Full-screen console, split graphics, line-oriented editor Harrisburg High School study hall: the librarian visits TRS-80 Color Computer: my first machine Raspberry Pi: a computer for hacking 10
  11. KAREL, 
 LOGOL & STEPS Virtual spaces for thinking like

    a computer 11
  12. KAREL THE ROBOT 12

  13. LOGOL AND STEPS Simple environments for first steps in programming

    13 F
  14. TWO BASIC COMMANDS F: forward L: left 14 F L

  15. CODING IN THE DARK T: test command 15 F L

    T
  16. ETIENNE Physicist, artist, teacher 16

  17. ETIENNE’S IDEAS Use scrap electronics (old computers, printers etc.) as

    raw material for artistic expression and experimentation. Don’t use scrap electronics as “stone”. Do leverage the concentrated knowledge inside the chips. Etienne: chapter in Neil Gershenfeld’s book Fab: The Coming Revolution on Your Desktop--from Personal Computers to Personal Fabrication 17
  18. 18

  19. ETIENNE DELACROIX Visiting scholar at Escola Politécnica, Univ. de São

    Paulo Taught PSI2615 — Oficina de Arte e Programação (Art and Programming workshop) 19
  20. ETIENNE’S IDEAS Focus on essentials. Things to know about HTML:

    •Russian-doll syntax •The <DIV> element •The <SCRIPT> element Present two programming languages at once: for example, JavaScript and 
 TCL/TK 20
  21. LEARN TO PROGRAM With Python, SVG, Processing… 21

  22. THE “LEARN TO PROGRAM” TUTORIAL Tutorial for beginners. Python as

    vehicle, not destination. Balancing the budget for a picnic Lunar landing by the numbers Experiments with the calendar module A perpetual calendar online 22
  23. WORKSHOP: PROGRAMMING FOR FUN Venue: SESC — cultural centers, open

    to all Etienne’s “coding gap” The Matrix source code metaphor Editing SVG by hand Generating SVG with Python: offline and online (Zope!) 23
  24. HACKERSPACES Seymour Papert’s samba schools 24

  25. SEYMOUR PAPERT’S MINDSTORMS 25 Sometimes you need a blank template.

  26. 26

  27. 27

  28. 28

  29. 29

  30. 30

  31. 31

  32. 32

  33. ARDUINO CODING DOJO First contact with hardware hacking 33

  34. 34 presentS

  35. 35

  36. 36

  37. 37

  38. 38

  39. DO YOU UNDERSTAND THIS CODE? Starting point: Blink (2012 version)

    39
  40. WRITING A BOOK My journey 40

  41. WRITING FLUENT PYTHON Teaching Python since 1999 Online and in-company

    courses Lots of examples illustrating language features and techniques Python for people who know Python Book proposal: OSCON, Portland/OR, 2013 18 months of writing, 9 full-time+ 41
  42. HOW TO WRITE A PROGRAMMING BOOK 1. Code an interesting

    example that illustrates a point 2. Write text around the example, explaining it 3. Repeat until done Challenge: interesting and focused examples Inspired by David Geary, author of graphic programming books using Java, Processing, and JavaScript 42
  43. Let’s continue this conversation! Luciano Ramalho lramalho@thoughtworks.com @ramalhoorg speakerdeck.com/ramalho github.com/ramalho

    THANK YOU