Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lessons Learned in Teaching Python by Sandy Str...
Search
PyCon 2013
March 17, 2013
Programming
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lessons Learned in Teaching Python by Sandy Strong and Christine Cheung
PyCon 2013
March 17, 2013
More Decks by PyCon 2013
See All by PyCon 2013
Bayesian statistics made simple by Allen Downey
pyconslides
32
6.7k
Python for Humans
pyconslides
40
6.9k
Contribute with me! Getting started with the tools of free software development by Jessica McKellar
pyconslides
11
2.1k
ApplePy: An Apple ][ emulator in Python by James Tauber
pyconslides
3
1.7k
Use curses, don't swear by Sean Zicari
pyconslides
2
1.6k
Namespaces in Python by Eric Snow
pyconslides
9
2k
Internationalization and Localization Done Right by Ruchi Varshney
pyconslides
9
1.2k
"Good Enough" is good enough! by Alex Martelli
pyconslides
13
2.6k
Plover: Thought to Text at 240 WPM by Mirabai Knight
pyconslides
1
1.4k
Other Decks in Programming
See All in Programming
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
120
霧の中の代数的エフェクト
funnyycat
1
450
Android CLI
fornewid
0
200
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
460
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.5k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
750
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
320
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
130
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
220
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
190
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
Featured
See All Featured
Music & Morning Musume
bryan
47
7.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Amusing Abliteration
ianozsvald
1
240
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
First, design no harm
axbom
PRO
2
1.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
280
Paper Plane
katiecoart
PRO
2
52k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
For a Future-Friendly Web
brad_frost
183
10k
Transcript
Lessons Learned in Teaching Python Sandy Strong and Christine Cheung
PyCon 2013
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 • • • • • •
Why Teaching? Passion for sharing Contribution to the community Diversity
efforts “Teaching is learning twice” • • • •
Expectations What do YOU want? Reasoning for teaching Determine motivation
and goals WHO do you want to teach? Target a specific type of audience • • • • •
Entry Points Volunteer for user group Form your own Tutoring
For-profit training • • • •
Lesson Planning
Making Lesson Plans Adapt from existing don’t “read from book”
Write your own • • •
Know Your Material Be prepared Review your slides Functional code
demos Answers you don’t know Be honest, figure it out together • • • • •
Time Constraints More material than time Omit/edit parts during teaching
Flexible ending points • • •
Know Your Audience
Are they... 1. Beginners 2. Intermediates 3. Experts 4. Mix
of skill level
Assess Skill Level Do it early Survey Gauge pacing of
class While teaching Interact + listen • • • • •
Classroom Demographics Age Groups Gender Career Backgrounds • • •
Student Environment Plan for an hour of setup time List
requirements early Offer early setup time List minimum requirements • • • •
OS Challenges Windows Have documentation ready Environment variables Older OSes
Dependencies may not be met Consider “loaner laptops” • • • • • •
Python Versions Standarize 2.7 or 3? Do not mix and
match Consider virtualenv • • • •
Engaging With Students
Three Types of Students Falling behind Right on track Zipping
ahead • • •
Types of Beginners Younger beginners More adventurous / experimental Older
beginners More conservative Stay within bounds of exercises • • • • •
Absolute Beginners Don’t make assumptions everyone learns differently Explain concepts
in different ways Take it slow Encourage questions • • • • •
Identifying Struggle Less likely to engage May “give up” silently
Beginners in an experienced room intimidated / shy utilize mentors to help them • • • • •
Identifying Boredom Engaged but work ahead Will utilize mentors Bonus
exercises • • •
Keep Them Interested Encourage them to work with neighbors Group
work Short social breaks Anecdotes and humor Demo interesting projects • • • • •
Common Beginner Questions Using the shell vs. interpreter String formatting
Types of data structures List vs Tuple Math Boolean logic Order of operations • • • • • • •
More Common Questions Debugging (pdb) OOP class design Application deployment
• • •
No Questions? Beginners may be shy Use relatable stories Ask
questions: “Can anyone tell me why ____ worked the way it did?” • • • •
Dealing With Difficult Students Answer questions ...but don’t feed the
troll(s) offer to talk later Class disruption Handle during break • • • • •
Location
Venues Decide the type of venue Getting a venue existing
group businesses / hackerspaces / school rent a venue (for profit) • • • • •
Knowing Your Venue Internet Power outlets and capacity Tables and
chairs Projector Backup plans (extra supplies) • • • • •
Know the Neighborhood Travel Options Parking Restaurants / Bars Conflicting
events • • • •
Retention Enthusiasm fades quickly Have another session planned Extra assignments
Community resources Communication channels Meetup, Facebook, Twitter, etc. • • • • • •
Wrap-Up
Questions?