Teaching Python

Episode 47: Deconstructing the List Lesson


Listen Later

Let’s take a deeper look at how we teach students about one of Python’s most venerable data structures: the list. For many learners, the list is the first data structure that they encounter and it can be tricky to understand at first.

Episode Outline:
  1. Start with clear goals for topic
    1. Why are we teaching this?
    2. Backwards by design process
      1. What do we want the kids to do?
      2. What should students know when we’re done?
        1. Are the objectives differentiated?
        2. Can students demonstrate more advanced understanding according to Bloom’s Taxonomy?
        3. Where do they go next?
        4. What do students need to know before we start?
        5. Introducing the List
          1. Mathes’ : cheat sheet https://t.co/KZdJkdPz7i?amp=1
          2. The problem of organizing too many bits of data
          3. Programmers use data structures to organize related data
          4. Vocabulary
            1. Data structure
            2. Ordered
            3. Mutable
            4. Sequence
            5. Examples and Demonstrations
              1. Real World Grocery List
              2. Brainstorming types of lists in the real world
              3. Python Grocery List
              4. Practical applications
                1. List sizes
                  1. Small lists (choices, menus, limiting options)
                  2. Medium Lists (class rosters, schedules, phone apps, etc)
                  3. Large Lists (weather data, sensor measurements, etc)
                  4. List limits (when not to use a list)
                    1. Order doesn’t matter
                    2. Searching by key (use dictionary)
                    3. List shouldn’t change (use tuple)
                    4. List indices are confusing at first
                      1. Zero-indexed
                      2. Negative index
                      3. List methods
                        1. Append & Insert
                        2. Pop & Remove
                        3. Sort & Sorted
                        4. Tools for visualization and understanding
                          1. Python Tutor
                          2. Mu Debugger
                          3. Synthesis Opportunities
                            1. Using for loops with lists
                            2. List slicing
                            3. List of Lists
                            4. Functions/methods
                            5. Creativity & Fun
                              1. Class Schedule
                              2. Rock Paper Scissors
                              3. Support Teaching Python

                                Links:

                                • 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.
                                • Python Flash Cards: Syntax, Concepts, and Examples: Matthes, Eric: 9781593278960: Amazon.com: Books — These colorful programming study cards help new Python coders drill and reinforce the concepts, syntax, and terminology they'll need to become successful professional programmers.
                                Keep your coding skills sharp on the go! Python Flash Cards take a tried-and-tested method and give it a programming makeover. Eric Matthes, author of the best-selling Python Crash Course, distills essential Python programming knowledge into this 101-card deck you can use anywhere.
                              4. UNDERSTANDING BY DESIGN® FRAMEWORK — The Understanding by Design® framework (UbD™ framework) offers a planning process and structure to guide curriculum, assessment, and instruction. Its
                              5. two key ideas are contained in the title: 1) focus on teaching and assessing for understanding and learning transfer, and 2) design curriculum "backward” from those ends.
                              6. Will Richardson (@willrich45) / Twitter — It's the most amazing time to be a learner. Time to explore what comes next for schools. Co-founder of http://BigQuestions.Institute. Parent, speaker, instigator.
                              7. ...more
                                View all episodesView all episodes
                                Download on the App Store

                                Teaching PythonBy Sean Tibor and Kelly Paredes

                                • 4.7
                                • 4.7
                                • 4.7
                                • 4.7
                                • 4.7

                                4.7

                                23 ratings


                                More shows like Teaching Python

                                View all
                                Marketplace by Marketplace

                                Marketplace

                                8,652 Listeners

                                More or Less: Behind the Stats by BBC Radio 4

                                More or Less: Behind the Stats

                                884 Listeners

                                The Changelog: Software Development, Open Source by Changelog Media

                                The Changelog: Software Development, Open Source

                                283 Listeners

                                Talk Python To Me by Michael Kennedy

                                Talk Python To Me

                                584 Listeners

                                AWS Podcast by Amazon Web Services

                                AWS Podcast

                                202 Listeners

                                Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                                Super Data Science: ML & AI Podcast with Jon Krohn

                                297 Listeners

                                Python Bytes by Michael Kennedy and Brian Okken

                                Python Bytes

                                214 Listeners

                                Data Engineering Podcast by Tobias Macey

                                Data Engineering Podcast

                                141 Listeners

                                Smashing Security by Graham Cluley

                                Smashing Security

                                316 Listeners

                                Practical AI by Practical AI LLC

                                Practical AI

                                189 Listeners

                                The Real Python Podcast by Real Python

                                The Real Python Podcast

                                140 Listeners

                                Last Week in AI by Skynet Today

                                Last Week in AI

                                299 Listeners

                                Cyber Security Headlines by CISO Series

                                Cyber Security Headlines

                                128 Listeners

                                Hard Fork by The New York Times

                                Hard Fork

                                5,448 Listeners

                                Latent Space: The AI Engineer Podcast by swyx + Alessio

                                Latent Space: The AI Engineer Podcast

                                71 Listeners