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.
Importance of variety in LessonsMotivationIncrease Focus/Keeps classroom live and ActiveCombat Boredom/Avoids dullnessDemonstrating concepts in multiple settings reinforces learningImportance of Lesson PlanningBasic ObjectivesActivitiesAssessmentsTime ManagementResult- orientedCreating Environments for learning:Good Teaching Tools for SEL/21st Century SkillsDelivery and sharing of resources LMSWeekly OverviewScreenshotsSharing of Colab documentsSEL 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 extensionSelf Learning Opportunities: “Curiosity is the main driver of learning.”Teaching Techniques/Communication ToolsLooking 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/CastUse 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 verballyPre-Teaching VocabularyPause, Ask Questions, Pause, ReviewClass ChallengesShare the tools and how we use themIDE’s (details in episode 25)Mu EditorGreat IDE for beginners and comes packaged with PythonWorks for pure Python, hardware, web development, gamesIntentionally limited to encourage students to move beyondIn 2020: Kelly & Sean use it for programming micro:bits with sixth gradeBest Audience: complete newbies to Python, hardware hackersAvailable for Mac, Windows, LinuxColab - Jupyter Notebooks in Google Apps systemPure Python with visualizations, graphing, etc.In 2020: Kelly & Sean use it for Python review sheet & quick demosShowing iterations/versions of code without GitIncludes 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.itWeb-based coding environment for PythonMultiplayer mode, assignment submissions with automated testingClassroom environment works well for adult learnersIn 2020: Kelly & Sean use it for student projects, especially those that run 3rd party packagesBest audience: students that want to live code with others and share programs easily with teacher or peersAdvance coding Options Used for differentiation with students or advanced applications like EV3 codingWe use these ourselves to write software for school useGoal is to have 8th graders ready for these environmentsOptionsVisualization ToolsPython tutorPython TurtleMu DebuggerClass Challenges versus Codechalleng.esManipulatives: Robots and Hardware MicrobitsCircuitPython devicesDFRobot Maqueen PlusSupport Teaching Python
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 TeachProgramming 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.