Introduction Video

Discussion Questions (For Teacher PD)

  • The following some known naive conceptions are related to understanding of data structures in the context of Python/Java.
    • Discuss: Which of these have you encountered in your teaching? Are there others? How do check if students are harboring these naive misconceptions? How do you address them? What pedagogies/strategies do you adopt?
    • Activity: Design a lesson plan that explicitly tackles a known misconception, and formatively probes and provides feedback on students’ understanding.
      Conflation of object and referring variable e.g test = list(2,1,3) makes test a part of the list object
      Exactly one variable (at a time) may refer to a list/object
      test2=test renames the list/object
      test2=test copies the properties from one object to another
 
  • What would your life have been like if you had started to understand data structures and abstraction in 5th grade? (Maybe you did- share your experience!)
  • What are some classroom activities that could extend an introduction to data structures with graphing?
  • What are some classroom activities that could extend an introduction to data structures with Math? Social media posts? Grocery stores? Sports?
  • What are some others ways you could connect activities kids enjoy with data structures?
  • Activity: Write down on a 3×5 card various instructional ideas that would confuse students about data structures. Share ideas on how NOT to teach data structures.
 

Additional Examples

Visualizing Data Structures

There are many data visualizers available online. For example, the website http://www.pythontutor.com/ (mentioned in the chapter) allows you to visualize data using the Python, Java, C, C++, Javascript, Ruby, and TypeScript programming languages. It is recommended that teachers create short code segments that create simple data structures like arrays and allow the site to visualize how the data is organized and accessed.

In Java, the language used to teach APCS A and assess APCS A students on the College Board exam, code sample like the one below could be used to illustrate how a Java array structure looks and behaves.

 

Visualizing a Java Array

Visualizing a Javascript Array