This is a script of an in-class kinesthetic learning activity that illustrates the pros and cons of storing data in array-based and linked list-based data structures. The students act as either elements in an array or as nodes in a linked list; chairs are used to represent memory addresses.
This engaging activity works in a face-to-face classroom of any size as long as the front of the room and data items (songs) can be clearly seen from any point of the room. It is a low-stakes activity for the students, so volunteers might be called or roles can be assigned. In the linked list part, it is possible to engage those students from the back rows who don’t usually volunteer.
Using the classroom’s physical space as an analogy for computer memory space, free chairs to represent available memory, and students holding songs as example data items, this demo brings issues of array- and linked list-based implementations into the familiar and relevant context, the classroom. It makes it easier for the students to visualize occupied and free memory space, and to understand the mechanics of memory manipulation operations. Students can see how their choice of a data structure affects the space occupied by a song collection on their phone and the speed of operations on this collection.
Materials and Links
Computer Science Details