This project reshapes the curriculum and laboratory structure for the two-semester Introduction to Computer Science sequence. Students explore the role of abstraction in both program development and reasoning about computation. This change allows the course to play an important general-education role, letting non-computer-scientists sample the computer-science world view. It also allows the prospective majors to gain an early perspective on the field. To accomplish this change, the Scheme dialect of Lisp, which better supports abstraction and exploratory programming, is used which necessitates switching from personal computers to more powerful workstations. To support this means of delivery, allow exploration of abstraction mechanisms, and allow empirical study of computational phenomena, the project uses 17 NeXTstation computer workstations and supporting file servers, printer, and system software. In order that the students have a positive, fruitful laboratory experience, the project also includes a switch to scheduled, structured, supervised lab sessions, rather than a drop-in computer room.