Lessons Learned in Teaching Python
Transcript of Lessons Learned in Teaching Python
-
7/30/2019 Lessons Learned in Teaching Python
1/34
Lessons Learned in
Teaching Python
Sandy Strong and Christine CheungPyCon 2013
-
7/30/2019 Lessons Learned in Teaching Python
2/34
-
7/30/2019 Lessons Learned in Teaching Python
3/34
Why Teaching?
Passion for sharing
Contribution to the community
Diversity efforts
Teaching is learning twice
-
7/30/2019 Lessons Learned in Teaching Python
4/34
Expectations
What do YOU want?
Reasoning for teachingDetermine motivation and goals
WHO do you want to teach?
Target a specific type of
audience
-
7/30/2019 Lessons Learned in Teaching Python
5/34
Entry Points
Volunteer for user group
Form your own
Tutoring
For-profit training
-
7/30/2019 Lessons Learned in Teaching Python
6/34
Lesson Planning
-
7/30/2019 Lessons Learned in Teaching Python
7/34
Making Lesson Plans
Adapt from existing
dont read from book
Write your own
-
7/30/2019 Lessons Learned in Teaching Python
8/34
Know Your Material
Be prepared
Review your slides
Functional code demos
Answers you dont know
Be honest, figure it out together
-
7/30/2019 Lessons Learned in Teaching Python
9/34
Time Constraints
More material than time
Omit/edit parts during teaching
Flexible ending points
-
7/30/2019 Lessons Learned in Teaching Python
10/34
Know Your Audience
-
7/30/2019 Lessons Learned in Teaching Python
11/34
Are they...
1. Beginners
2. Intermediates3. Experts
4. Mix of skill level
-
7/30/2019 Lessons Learned in Teaching Python
12/34
Assess Skill Level
Do it early
Survey
Gauge pacing of class
While teaching
Interact + listen
-
7/30/2019 Lessons Learned in Teaching Python
13/34
Classroom
Demographics
Age Groups
Gender
Career Backgrounds
-
7/30/2019 Lessons Learned in Teaching Python
14/34
Student Environment
Plan for an hour of setup time
List requirements early
Offer early setup time
List minimum requirements
-
7/30/2019 Lessons Learned in Teaching Python
15/34
OS Challenges
Windows
Have documentation ready
Environment variables
Older OSes
Dependencies may not be met
Consider loaner laptops
-
7/30/2019 Lessons Learned in Teaching Python
16/34
Python Versions
Standarize
2.7 or 3?
Do not mix and match
Consider virtualenv
-
7/30/2019 Lessons Learned in Teaching Python
17/34
Engaging With
Students
-
7/30/2019 Lessons Learned in Teaching Python
18/34
Three Types of
Students
Falling behind
Right on track
Zipping ahead
-
7/30/2019 Lessons Learned in Teaching Python
19/34
Types of Beginners
Younger beginners
More adventurous / experimental
Older beginners
More conservative
Stay within bounds of exercises
-
7/30/2019 Lessons Learned in Teaching Python
20/34
Absolute Beginners
Dont make assumptions
everyone learns differently
Explain concepts in different ways
Take it slow
Encourage questions
-
7/30/2019 Lessons Learned in Teaching Python
21/34
Identifying Struggle
Less likely to engage
May give up silently
Beginners in an experienced room
intimidated / shy
utilize mentors to help them
-
7/30/2019 Lessons Learned in Teaching Python
22/34
Identifying Boredom
Engaged but work ahead
Will utilize mentors
Bonus exercises
-
7/30/2019 Lessons Learned in Teaching Python
23/34
Keep Them Interested
Encourage them to work with
neighbors
Group work
Short social breaks
Anecdotes and humor
Demo interesting projects
-
7/30/2019 Lessons Learned in Teaching Python
24/34
M C
-
7/30/2019 Lessons Learned in Teaching Python
25/34
More Common
Questions
Debugging (pdb)
OOP class design
Application deployment
-
7/30/2019 Lessons Learned in Teaching Python
26/34
No Questions?
Beginners may be shy
Use relatable stories
Ask questions:
Can anyone tell me why ____worked the way it did?
D li With
-
7/30/2019 Lessons Learned in Teaching Python
27/34
Dealing With
Difficult StudentsAnswer questions
...but dont feed the troll(s)
offer to talk later
Class disruption
Handle during break
-
7/30/2019 Lessons Learned in Teaching Python
28/34
Location
-
7/30/2019 Lessons Learned in Teaching Python
29/34
Venues
Decide the type of venue
Getting a venue
existing group
businesses / hackerspaces /
school
rent a venue (for profit)
-
7/30/2019 Lessons Learned in Teaching Python
30/34
Knowing Your Venue
Internet
Power outlets and capacity
Tables and chairs
Projector
Backup plans (extra supplies)
Kno the
-
7/30/2019 Lessons Learned in Teaching Python
31/34
Know the
Neighborhood
Travel Options
Parking
Restaurants / Bars
Conflicting events
-
7/30/2019 Lessons Learned in Teaching Python
32/34
Retention
Enthusiasm fades quickly
Have another session planned
Extra assignments
Community resources
Communication channels
Meetup, Facebook, Twitter, etc.
-
7/30/2019 Lessons Learned in Teaching Python
33/34
Wrap-Up
-
7/30/2019 Lessons Learned in Teaching Python
34/34
Questions?