Course Level
CS1
CS2
Knowledge Unit
Fundamental Data Structures
Collection Item Type
Other Material Type
Synopsis

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.

Recommendations

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. 

Engagement Highlights

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.

Engagement Practices Employed

Materials and Links

Computer Science Details

Computer Science Topic(s)
algorithmic efficiency
array
binary search
linear search
list
memory
Programming Language
None

Additional Details

Estimated Time to Complete

25 minutes

Material Format and Licensing Information

Creative Commons License
CC BY-NC

Author's Institutional Information

Institution Type
Universities (Doctoral and Research)