Princeton University

Computer Science
Computer science for nonscience and nonengineering majors

Reproduced with permission from NeXT Computer, Inc.
A Reference Guide to NeXT in Higher Education, Fall 1992
ยช 1992 NeXT Computer, Inc.

When the Department of Computer Science at Princeton University decided to offer an introductory computer science course for nonscience and nonengineering majors, it decided NeXT was the teaching platform of choice.

"There was once a course at Princeton that could have been mistaken for an introduction to computers for humanities students, but it was actually an introduction to programming," says Kenneth Steiglitz, professor of computer science. "Spending class time at a university on Pascal syntax is a spectacular waste of time for both the students and the instructor. There's a great deal more to the academic discipline of computer science, and we wanted to find a way to communicate those ideas to the poets and political science majors. The NeXT labs show the students there's very little distance in computer science between the world of abstractions and practical tools.

"With the NeXT machine, we can expose students to just about every application in one computing environment. NeXT also allows a natural exposure to UNIX and C programming, which is an authentic taste of the world of many computer scientists."

Developed by Steiglitz and three Princeton undergrads-Jeff Blum, Rich Feit, and Jonathan Thompson-the introductory course consists of lectures and labs. During lectures, Steiglitz introduces computer science basics, including theoretical issues such as computability using the Halting Problem, big-oh notation, and NP-completeness. The lab sessions provide students with practical applications of the theory. One lab examines big-oh notation, for example, by programming a selection-sort algorithm.

Students Blum, Feit, and Thompson created nine labs and accompanying Cheat Sheets that provide detailed explanations of various computer science applications and concepts. Each lab focuses on a specific topic: Communications discuses UNIX mail, NetNews, FTP, NewsGrazer, Telnet, and NeXTmail; Graphics reviews PostScript programming and drawing applications; Programming in C teaches students how to print their names in a loop and build a simple application with Interface Builder; and Sound shows students how to edit sounds in SoundEditor, record to and from a cassette with Digital Ears, and mix with rt.app and SoundWorks. In addition to required exercises, each lab includes an Above and Beyond section that students are encouraged to explore on their own time.

"NeXT computers expose students to a tremendous amount of software," says Blum. "Sound, for example, is an instant attention-getter. By the second lab, we expose the students to voice attachments in NeXTmail. Then we introduce sound waveforms and sound editing and encourage further exploration.

"With NeXT, we were able to present the entire set of course materials on a single platform," Blum continues. "That makes NeXT an extremely valuable tool. We do not think any other platform could work as well as NeXT. The variety of tasks the machine can handle makes it the best general-use machine for this kind of course. Sound, graphics, programming, communication, UNIX-NeXT has them all."

For more information, please contact:

Kenneth Steiglitz
Professor of Computer Science
Department of Computer Science
Princeton University
35 Olden Street
Princeton, NJ 08544-2087
(609) 258-1771
ken@princeton.edu