Computer Science Laptops

Computer Science Data Structures Come Alive with Laptops
Faculty Directions, Spring 2003

by Roy Pargas
Department of Computer Science

Editor's Note: Fall 2002, all freshmen and sophomores in the College of Engineering and Science and all freshmen and first-year MBA students in the College of Business and Behavioral Science arrived on campus with laptop computers as required by the new laptop mandates. Fall 2003, the mandate will expand to include all freshmen in the College of Architecture, Arts and Humanities and the College of Agriculture, Forestry and Life Science. The College of Health, Education and Human Development will also implement a laptop mandate soon.Many faculty members are experimenting with pedagogy that integrates the laptops to enhance their teaching and their students' learning.

CPSC 212, Data Structures and Algorithms, is a foundational course in computer science typically taken in the student's sophomore year. Most junior and senior level computer science courses have it as a prerequisite. In CPSC 212, students study a variety of structures (for example Stacks, Queues, Trees and Graphs) that are used in complex software systems. Each data structure has a specific function and an important goal of the course is to provide the students with the understanding and skill to be able to select the best data structure for a task and to use the data structure efficiently as the students design and develop software.

The data structures share one characteristic: all are dynamic. That is, they typically start out empty, then shrink as the program using them adds and removes objects. In the past, the instructor of the course made extensive use ofthe chalkboard, drawing and erasing nodes of a Tree or records of a Stack, all the while explaining the reasons why a node is inserted here and not there, or why the Stack grows when processing one value, but not another. Moreover, data structures often go through significant transformations while they are being used. This requires the instructor, from time to time, to completely redraw the picture on the board. It takes experience and some artistic ability for the instructor to convey the concept and behavior of a dynamic data structure well. It also takes a good bit of care because an error undetected as the structure is being built is often difficult to discover after the structure is complete.

This manner of presentation of CPSC 212 subject matter changed in the Fall 2002 semester. Because laptops were available to the students, they were able to access Java applets at various Web sites. These applets provide animated versions of many of the data structures discussed in the course. The students did not need to observe the instructor manipulate drawings on the board - they could work with the applet and see for themselves how the data structure behaved. The schedule for some of the 75-minute class sessions became: a 30-minute description of the data structure (laptops closed), a 20-35-minute structured laptop exercise using the applet downloaded from the Web, a 10-25-minute wrap-up (laptops closed). An informal assessment taken at the end of the semester suggests that the students learned the data structures with accompanying applets more quickly and with less instructor guidance than those without. This appears reasonable because, for those structures with applets, the students had a software tool they could use to demonstrate data structure behavior anytime they wanted. For those structures without an accompanying applet, the students had only the text and their notes. A more formal assessment will be taken in this course this semester, spring 2003.

As we gain more experience with laptops, I suspect the pedagogy of the course will evolve from the lecturer-audience model to more of a master-apprentice model, with the master often going around the classroom to observe and critique the performance of the apprentices.