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
                                Hanselminutes with Scott Hanselman by Scott Hanselman

                                Hanselminutes with Scott Hanselman

                                380 Listeners

                                Making Sense with Sam Harris by Sam Harris

                                Making Sense with Sam Harris

                                26,388 Listeners

                                Pivot by New York Magazine

                                Pivot

                                9,490 Listeners

                                This Week in Tech (Audio) by TWiT

                                This Week in Tech (Audio)

                                3,056 Listeners

                                Talk Python To Me by Michael Kennedy

                                Talk Python To Me

                                589 Listeners

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

                                Super Data Science: ML & AI Podcast with Jon Krohn

                                302 Listeners

                                Python Bytes by Michael Kennedy and Brian Okken

                                Python Bytes

                                214 Listeners

                                The freeCodeCamp Podcast by freeCodeCamp.org

                                The freeCodeCamp Podcast

                                485 Listeners

                                Practical AI by Practical AI LLC

                                Practical AI

                                212 Listeners

                                Fiction - Comedy Fiction by The Sunset Explorers

                                Fiction - Comedy Fiction

                                6,448 Listeners

                                The Real Python Podcast by Real Python

                                The Real Python Podcast

                                141 Listeners

                                All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

                                All-In with Chamath, Jason, Sacks & Friedberg

                                9,828 Listeners

                                Deep Questions with Cal Newport by Cal Newport

                                Deep Questions with Cal Newport

                                1,307 Listeners

                                Hard Fork by The New York Times

                                Hard Fork

                                5,475 Listeners

                                The Python Show by Learning about Python together

                                The Python Show

                                2 Listeners