Lessons Learned in Teaching Python by Sandy Strong and Christine Cheung

Lessons Learned in Teaching Python by Sandy Strong and Christine Cheung

Afcfefa1f067d10bd021de0cc2e5e806?s=128

PyCon 2013

March 17, 2013
Tweet

Transcript

  1. 2.

    About the Speakers Sandy Strong Sandy Strong (@sandymahalo) Systems Engineer

    at DreamHost Tutoring and workshops for high schoolers and adults Christine Cheung (@plaidxtine) Freelance web developer Workshop organizing/teaching for local user groups • • • • • •
  2. 3.

    Why Teaching? Passion for sharing Contribution to the community Diversity

    efforts “Teaching is learning twice” • • • •
  3. 4.

    Expectations What do YOU want? Reasoning for teaching Determine motivation

    and goals WHO do you want to teach? Target a specific type of audience • • • • •
  4. 5.
  5. 8.

    Know Your Material Be prepared Review your slides Functional code

    demos Answers you don’t know Be honest, figure it out together • • • • •
  6. 12.

    Assess Skill Level Do it early Survey Gauge pacing of

    class While teaching Interact + listen • • • • •
  7. 14.

    Student Environment Plan for an hour of setup time List

    requirements early Offer early setup time List minimum requirements • • • •
  8. 15.

    OS Challenges Windows Have documentation ready Environment variables Older OSes

    Dependencies may not be met Consider “loaner laptops” • • • • • •
  9. 16.

    Python Versions Standarize 2.7 or 3? Do not mix and

    match Consider virtualenv • • • •
  10. 19.

    Types of Beginners Younger beginners More adventurous / experimental Older

    beginners More conservative Stay within bounds of exercises • • • • •
  11. 20.

    Absolute Beginners Don’t make assumptions everyone learns differently Explain concepts

    in different ways Take it slow Encourage questions • • • • •
  12. 21.

    Identifying Struggle Less likely to engage May “give up” silently

    Beginners in an experienced room intimidated / shy utilize mentors to help them • • • • •
  13. 23.

    Keep Them Interested Encourage them to work with neighbors Group

    work Short social breaks Anecdotes and humor Demo interesting projects • • • • •
  14. 24.

    Common Beginner Questions Using the shell vs. interpreter String formatting

    Types of data structures List vs Tuple Math Boolean logic Order of operations • • • • • • •
  15. 26.

    No Questions? Beginners may be shy Use relatable stories Ask

    questions: “Can anyone tell me why ____ worked the way it did?” • • • •
  16. 27.

    Dealing With Difficult Students Answer questions ...but don’t feed the

    troll(s) offer to talk later Class disruption Handle during break • • • • •
  17. 28.
  18. 29.

    Venues Decide the type of venue Getting a venue existing

    group businesses / hackerspaces / school rent a venue (for profit) • • • • •
  19. 30.

    Knowing Your Venue Internet Power outlets and capacity Tables and

    chairs Projector Backup plans (extra supplies) • • • • •
  20. 32.

    Retention Enthusiasm fades quickly Have another session planned Extra assignments

    Community resources Communication channels Meetup, Facebook, Twitter, etc. • • • • • •
  21. 33.