Weaving CS into CS 1

This page describes materials we have developed to support an unusual curriculum for an introductory computer science course. The course we have developed focuses on exploring examples that illustrate a broad collection of the facets of computer science, but draws all of these examples from a single subfield, computer networks. This approach provides a more coherent educational experience than a typical breadth-first course while emphasizing the essentials that tie all of the fields of our discipline together.

More complete descriptions of both the rationale for our approach and the course we have developed can be found in the following papers:

In addition, the links below provide access to current and recent versions of the web page for the course itself where links to lecture notes, readings, and laboratory projects can be found:

Those who are primarily interested in the Squint library described in:

can download the Squint library and access the Squint documentation using these links. We are writing an introductory Java programming text for use in conjunction with Squint. Drafts of individual chapters can be found under the "Lectures and Reading" section of the course website linked above. For convenience, we also provide the following PDF file containing all of the available chapters (updated 08/08/08 (really!)).

We have also completed drafts of several chapters of a text designed to cover the non-programming topics we present in our course. For those interested in this material, we provide a PDF file containing our readings on networking technology. These chapters are in a somewhat less refined state that those for the programming topics at this point.

This work was supported in part by the NSF under grant DUE-0442954.