Change the future

Saturday 5:10 p.m.–5:40 p.m.

Lessons Learned in Teaching Python

Alexandra Strong, Christine Cheung

Audience level:


Sharing what you know with others is an extremely rewarding experience, and may challenge and develop your knowledge of Python.

I will share my teaching experiences; covering venues, materials, lesson plans, technical difficulties, engagement, and more.

If you've considered teaching Python, this talk will give you insight into what it takes to keep your students engaged, and have some fun.


  • Speaker teaching experiences
    • Teaching
    • PyLadies workshops
    • Private lessons for adults
    • Tutoring children
  • Mentoring
  • Know Your Audience
    • Levels of experience
      • Complete beginner or some programming knowledge?
    • Demographics
      • Ages, career backgrounds, gender
  • Know Your Venue
    • Classroom: internet, power, materials, projector
    • Facilities: amenities, parking availability, proximity to restaurants
  • Preparation
    • Selecting and coaching mentors/helpers for the classroom
    • Creating a checklist of materials
  • Lesson planning
    • Know your material (students will ask questions you may not expect)
    • Fitting all of your material into the session
    • Interacting with students (back and forth between instructor and student)
    • Plan for outliers (students who fall behind, and those who work ahead)
    • The pros and cons of following existing tutorials (i.e. Learn Python the Hard Way) vs making or adapting your own
  • Student environment Setup
    • Operating System
      • Challenges with Windows
      • Older operating systems
    • Versions of Python
      • Students should standardize to make the workshop go smoothly
  • Teaching
    • Be prepared to change lesson plan and pace depending on the experience levels of your audience
    • How to keep outliers engaged
    • Encouraging students to ask questions
    • Encouraging “neighbor” conversation
      • Social breaks
      • Group work
    • Holding your audience (keeping students interested)
  • Common technical questions beginning students ask
    • Strings, modulo, fractions
    • Boolean logic (worksheets are helpful)
    • Differences between data structures
    • Object oriented programming - class design
    • Debugging
    • How to deploy applications
  • Stories from the front lines
    • Experiences from the classroom
    • What can go wrong and how to fix it
    • Your students will surprise you
  • Challenges in the classroom
    • Difficult behaviors
    • Technical difficulties
      • Backup plans for when technology fails
    • Time or space issues
  • Retention
    • Inspiration
    • Feed their curiosity
    • Further resources
    • Community
    • Intermediate lesson planning
    • Keep the momentum
      • Assignments
      • Mentoring
      • Offering additional classes