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.