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