OOPSLA Workshop: The Future of CS2 and Data Structures


This workshop will be held on Tuesday, October 20 in conjunction with OOPSLA 98. The text below is echoed at the official OOPSLA workshop page.


Participants in workshop (current as of date at bottom of this page).

In this workshop we will address how OO languages and design affect the second course in computer science and, more broadly, the first year of computer science. This works builds on a workshop held in 1997 and reported on at SIGCSE in 1998.


The workshop will begin after the morning invited speaker and break have concluded, this is scheduled for 10:30 am. The workshop will be held in Room 19 of the Convention Center.

We'll begin with three talks from participants. The talks will be 15-20 minutes with time for questions after each talk. The goal of this morning session is to hear ideas and thoughts from everyone in the workshop, with discussion guided by the talks.

We'll continue discussion until lunch, we'll break for an hour and then continue. We'll break into smaller groups, address key questions, then have each group present their ideas (transparencies will be provided, copies will be made and posted/distributed).

In one day we cannot answer all the questions that people have about CS2, but we can take steps towards proposing the right questions, and making suggestions about directions in which we should look for answers.


Before the workshop begins, key questions raised include:

Workshop Description

The second course in computer science, traditionally known as either CS2 or Data Structures, is changing rapidly as a result of new paradigms, languages, and philosophy. Traditionally the course has been built around the study of data structures: their implementation, use, and analysis. However, the availability of widely-available and robust class libraries (e.g., STL in C++, JFC in Java) could change one focus of the course to emphasize use more than implementation.

Should we teach our students how to understand and use class libraries rather than implementing elementary data structures from scratch? Should we encourage the development and use of more complex programming assignments in which we ask students to build or augment larger programs than were possible when all components were built from scratch? Can we include object-oriented concepts only at the expense of de-emphasizing other topics (e.g., algorithm analysis)?

Workshop participants will produce a list of issues and develop a position statement to serve as the beginning of a blueprint for the future of teaching data structures and programming in the first year of computer science.

The 1997 CS2/Data Structures Workshop

Owen L. Astrachan
Last modified: Fri Oct 30 14:48:12 EST 1998