Hans Koomen, Statement, CS2 workshop
I strongly believe that we must BOTH "teach our students how to understand
and use class libraries" AND have them "implementing elementary data
structures from scratch" if we want to take our mission of teaching
Computer SCIENCE seriously. And definitely NOT at the expense of algorithm
analysis! Here at Geneseo, two of my colleagues and I have been doing so in
our new CS1/CS2 curriculum for the past five years.[1][2] We focus on a few
core principles along the three aspects of the scientific method: design,
analysis and experimental verification. In CS1, we emphasize basic objects
and simple inheritance and class composition, recursive algorithms and data
structures (lists and trees from a user perspective, i.e. library and API
provided), recurrence relations, inductive proofs, and analytical and
experimental techniques. In CS2 we round it out by introducing iterative
programming constructs (loops, iterators), math series, more analytical and
experimental techniques, tree and list structure internals, and advanced
data structures (graphs, hashing).
The CS1 experience gives our students a thorough understanding of the
purpose and computational ramifications of data structures, and CS2 gives
them the knowledge and experience to design data structures. Experience in
the construction of basic data structures is essential for students to gain
the necessary insights, and to permit them later to understand more complex
data structures (which then could be used via API's rather than built from
scratch, WITHOUT them being completely impenetrable "black boxes"), and
assess their computational advantages and disadvantages.
[1] Scragg, Baldwin and Koomen. Computer Science Needs an Insight-Based
Curriculum, in Proceedings 25th ACM SIGCSE Technical Symposium on Computer
Science Education, pp. 150-154, Phoenix, Ariz., March 1994.
[2] Baldwin, Scragg and Koomen. A Three-Fold Introduction to Computer
Science, in Proceedings 25th ACM SIGCSE Technical Symposium on Computer
Science Education, pp. 290-294, Phoenix, Ariz., March 1994.
Owen L. Astrachan
Last modified: Wed Sep 2 00:02:51 EDT 1998