Weaving CS into CS1: a doubly depth-first approach

We describe a new introductory course based on an unusual approach to the development of a breadth-first curriculum. The course focuses on exploring examples that illustrate a broad collection of the facets of computer science, but it draws all of these examples from a single subfield, computer networks. We demonstrate how this approach provides a more coherent educational experience for students while emphasizing the essentials that tie all of the fields of our discipline together.