Listen

Cast

Description

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?
      3. What do students need to know before we start?
  2. 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
  3. 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)
    2. 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)
    3. List indices are confusing at first

      1. Zero-indexed
      2. Negative index
    4. List methods

      1. Append & Insert
      2. Pop & Remove
      3. Sort & Sorted
    5. Tools for visualization and understanding

      1. Python Tutor
      2. Mu Debugger
  5. Synthesis Opportunities

    1. Using for loops with lists
    2. List slicing
    3. List of Lists
    4. Functions/methods
  6. Creativity & Fun

    1. Class Schedule
    2. Rock Paper Scissors