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:
-
Teaching Breadth-first Depth-first,
Thomas P. Murtagh,
Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education - ITiCSE '01, ACM SIGCSE Bulletin , Volume 33, Issue 3.
-
Weaving CS into CS1: A Doubly Depth-first Approach,
Thomas P. Murtagh, Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education SIGCSE '07, ACM SIGCSE Bulletin, Volume 39, Issue 1.
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.