Computer Science Building, Princeton University


Introduction to CS


1.  A Simple Machine

2.  Java Programming

3.  OOP

4.  Data Structures

5.  A Computing Machine

6.  Building a Computer

7.  Theory of Computation

8.  Systems

9.  Scientific Computation

10.  Perspective


 Lecture Notes

Assignments

FAQ









INTRODUCTION TO COMPUTER SCIENCE

Robert Sedgewick and Kevin Wayne


Draft material under continuous development (November, 2002).

This booksite provides an introduction to computer science and Java programming, and it accompanies the forthcoming textbook An Introduction to Computer Science by Robert Sedgewick and Kevin Wayne. Here is a draft of the preface [pdf]. The book is based on content from COS 126, an introductory computer science course that has been developed at Princeton over the past decade.

Computer science as an academic discipline has evolved to embrace a set of intellectual challenges on a par with other sciences. This fact, combined with the undeniable impact of computer science on the modern world, demands an introductory college textbook comparable with commonly-used textbooks in physics, chemistry, or biology. Accordingly, this book is intended to meet the need for an introductory college text in computer science. One distinctive feature of the book is that it has broader coverage of the field than is found in many texts that are currently in use.

Goals. We have three primary goals. First, we want to demystify computer systems by unpeeling levels of abstraction down to the simplest physical component, leaving no black boxes. Second, we want to empower the reader by providing the experience and insight necessary to exploit available technology whenever appropriate. Third, we want to build awareness of the substantial intellectual underpinnings of the field and its broad reach into other sciences.

Coverage. The book is organized around four areas of computer science: programming, architecture, theory, and systems. We introduce fundamental concepts in each area and pay special attention to relationships among them. To place these ideas in context, we draw on numerous applications from science and industry.