DEV Community

Teaching Python

Episode 48: What We Are Using in 2020 To Teach Python

Let’s take a look at the tools we’re using in our classroom for the 2020-2021 school year to teach Python for middle school students. From IDEs to flash cards, coding challenges to Colab notebooks, and micro:bits to eBooks, we’ll look at what we’re currently using and how each one contributes to the learning experience of our students.

Episode Outline

  1. Importance of variety in Lessons
    1. Motivation
    2. Increase Focus/Keeps classroom live and Active
    3. Combat Boredom/Avoids dullness
    4. Demonstrating concepts in multiple settings reinforces learning
  2. Importance of Lesson Planning
    1. Basic Objectives
    2. Activities
    3. Assessments
    4. Time Management
    5. Result- oriented
  3. Creating Environments for learning:Good Teaching Tools for SEL/21st Century Skills
    1. Delivery and sharing of resources
      1. LMS
      2. Weekly Overview
      3. Screenshots
      4. Sharing of Colab documents
    2. SEL Core Competencies: Self Awareness, Self Management, Social Awareness, Relationship SKills, Responsible decision making.
      1. Padlet- reflection and sharing ideas?
      2. Focusing Tools: Strick Workflow : block specific sites for 25 minutes by a click of a chrome extension
      3. Self Learning Opportunities: “Curiosity is the main driver of learning.”
    3. Teaching Techniques/Communication Tools
      1. Looking at a lot of code:
        1. Screenshare (Currently feature in Zoom) - allow students to share their code and have students look for errors on other student codes/Air server/Cast
      2. Use of Videos:
        1. Loom/Screencastify- give students short videos that they can use on their own time.
      3. Use of Class Time:
        1. Time to Talk it out (Think alouds) - give students time to talk about code verbally
        2. Pre-Teaching Vocabulary
        3. Pause, Ask Questions, Pause, Review
        4. Class Challenges
    4. Share the tools and how we use them
      1. IDE’s (details in episode 25)
        1. Mu Editor
          1. Great IDE for beginners and comes packaged with Python
          2. Works for pure Python, hardware, web development, games
          3. Intentionally limited to encourage students to move beyond
          4. In 2020: Kelly & Sean use it for programming micro:bits with sixth grade
          5. Best Audience: complete newbies to Python, hardware hackers
          6. Available for Mac, Windows, Linux
        2. Colab -
          1. Jupyter Notebooks in Google Apps system
          2. Pure Python with visualizations, graphing, etc.
          3. In 2020: Kelly & Sean use it for Python review sheet & quick demos
          4. Showing iterations/versions of code without Git
          5. Includes sharing/commenting features of Google Drive
          6. Best audience: newbies already familiar with Google Docs, more accomplished programmers that want to practice concepts without writing full “software”
        3. Repl.it
          1. Web-based coding environment for Python
          2. Multiplayer mode, assignment submissions with automated testing
          3. Classroom environment works well for adult learners
          4. In 2020: Kelly & Sean use it for student projects, especially those that run 3rd party packages
          5. Best audience: students that want to live code with others and share programs easily with teacher or peers
        4. Advance coding Options
          1. Used for differentiation with students or advanced applications like EV3 coding
          2. We use these ourselves to write software for school use
          3. Goal is to have 8th graders ready for these environments
          4. Options
    5. Visualization Tools
      1. Python tutor
      2. Python Turtle
      3. Mu Debugger
    6. Class Challenges versus Codechalleng.es
    7. Manipulatives: Robots and Hardware
      1. Microbits
      2. CircuitPython devices
      3. DFRobot Maqueen Plus

Support Teaching Python

Links:

Episode source