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
                                Decoder with Nilay Patel by The Verge

                                Decoder with Nilay Patel

                                3,138 Listeners

                                Software Engineering Daily by Software Engineering Daily

                                Software Engineering Daily

                                625 Listeners

                                Talk Python To Me by Michael Kennedy

                                Talk Python To Me

                                580 Listeners

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

                                Super Data Science: ML & AI Podcast with Jon Krohn

                                303 Listeners

                                Python Bytes by Michael Kennedy and Brian Okken

                                Python Bytes

                                214 Listeners

                                Pod Save America by Crooked Media

                                Pod Save America

                                87,312 Listeners

                                The Daily by The New York Times

                                The Daily

                                112,484 Listeners

                                Darknet Diaries by Jack Rhysider

                                Darknet Diaries

                                8,068 Listeners

                                The freeCodeCamp Podcast by freeCodeCamp.org

                                The freeCodeCamp Podcast

                                486 Listeners

                                DataFramed by DataCamp

                                DataFramed

                                267 Listeners

                                You're Wrong About by Sarah Marshall

                                You're Wrong About

                                21,868 Listeners

                                The Real Python Podcast by Real Python

                                The Real Python Podcast

                                141 Listeners

                                AI For Humans: Making Artificial Intelligence Fun & Practical by Kevin Pereira & Gavin Purcell

                                AI For Humans: Making Artificial Intelligence Fun & Practical

                                273 Listeners

                                Good Hang with Amy Poehler by The Ringer

                                Good Hang with Amy Poehler

                                10,876 Listeners