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
- Importance of variety in Lessons
- Motivation
 - Increase Focus/Keeps classroom live and Active
 - Combat Boredom/Avoids dullness
 - Demonstrating concepts in multiple settings reinforces learning
 
 - Importance of Lesson Planning
- Basic Objectives
 - Activities
 - Assessments
 - Time Management
 - Result- oriented
 
 - Creating Environments for learning:Good Teaching Tools for SEL/21st Century Skills
- Delivery and sharing of resources 
- LMS
 - Weekly Overview
 - Screenshots
 - Sharing of Colab documents
 
 - SEL Core Competencies: Self Awareness, Self Management, Social Awareness, Relationship SKills, Responsible decision making.
- Padlet- reflection and sharing ideas?
 - Focusing Tools: Strick Workflow : block specific sites for 25 minutes by a click of a chrome extension
 - Self Learning Opportunities: “Curiosity is the main driver of learning.”
 
 - Teaching Techniques/Communication Tools
- Looking at a lot of code:
- Screenshare (Currently feature in Zoom) - allow students to share their code and have students look for errors on other student codes/Air server/Cast
 
 - Use of Videos:
- Loom/Screencastify- give students short videos that they can use on their own time.
 
 - Use of Class Time:
- Time to Talk it out (Think alouds) - give students time to talk about code verbally
 - Pre-Teaching Vocabulary
 - Pause, Ask Questions, Pause, Review
 - Class Challenges
 
 
 - Looking at a lot of code:
 - Share the tools and how we use them
- IDE’s (details in episode 25)
- 
Mu Editor
- Great IDE for beginners and comes packaged with Python
 - Works for pure Python, hardware, web development, games
 - Intentionally limited to encourage students to move beyond
 - In 2020: Kelly & Sean use it for programming micro:bits with sixth grade
 - Best Audience: complete newbies to Python, hardware hackers
 - Available for Mac, Windows, Linux
 
 - 
Colab - 
- Jupyter Notebooks in Google Apps system
 - Pure Python with visualizations, graphing, etc.
 - In 2020: Kelly & Sean use it for Python review sheet & quick demos
 - Showing iterations/versions of code without Git
 - Includes sharing/commenting features of Google Drive
 - Best audience: newbies already familiar with Google Docs, more accomplished programmers that want to practice concepts without writing full “software”
 
 - 
Repl.it
- Web-based coding environment for Python
 - Multiplayer mode, assignment submissions with automated testing
 - Classroom environment works well for adult learners
 - In 2020: Kelly & Sean use it for student projects, especially those that run 3rd party packages
 - Best audience: students that want to live code with others and share programs easily with teacher or peers
 
 - Advance coding Options 
- Used for differentiation with students or advanced applications like EV3 coding
 - We use these ourselves to write software for school use
 - Goal is to have 8th graders ready for these environments
 - Options
 
 
 - 
Mu Editor
 
 - IDE’s (details in episode 25)
 - Visualization Tools
- Python tutor
 - Python Turtle
 - Mu Debugger
 
 - Class Challenges versus Codechalleng.es
 - Manipulatives: Robots and Hardware 
- Microbits
 - CircuitPython devices
 - DFRobot Maqueen Plus
 
 
 - Delivery and sharing of resources 
 
Links:
- Code With Mu — Code with Mu: a simple Python editor for beginner programmers.
 - Welcome To Colaboratory - Colaboratory — Colaboratory, or "Colab" for short, allows you to write and execute Python in your browser, with Zero configuration required Free access to GPUs Easy sharing
 - Repl.it - The collaborative browser based IDE — Use our free, collaborative, in-browser IDE to code in 50+ languages — without spending a second on setup.
 - Visual Studio Code - Code Editing. Redefined — Code editing. Redefined. Free. Built on open source. Runs everywhere
 - PyCharm Edu — A Professional Tool to Learn and Teach Programming with Python
 - Python Tutor - Visualize Python, Java, C, C++, JavaScript, TypeScript, and Ruby code execution — Python Tutor helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of code. You can use it to write Python, Java, C, C++, JavaScript, and Ruby code in your web browser and see its execution visualized step by step.
 
Teaching Python