Princeton University
Computer ScienceComputer 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