Reproduced with permission from NeXT Computer, Inc., USA, NeXT on Campus, Spring 1992. ã 1992 NeXT Computer, Inc., USA

COMPUTER SCIENCE

New focus for introductory CS students
Gettysburg College

The traditional teaching approach for most introductory computer science courses involves implementing concepts through programming language syntax. According to Rodney Tosten, assistant professor of computer science at Gettysburg College, one unfortunate consequence of this method is that students often ªbecome lost in the code development and encounter tremendous trouble in understanding the real concepts.º

ªAlthough this approach has successfully taught a large number of students,º he says, ªmany others have completed the introductory courses assuming that computer science and programming are synonymous. We feel that the introduction of improved computer hardware and software development environments has outdated this approach.º

To take advantage of new technology and improve students' understanding of computer science concepts, Tosten and Carl Leinbach, chair of the Mathematics and Computer Science Department, revised the curriculum in Gettysburg's three lower-division CS coursesÐIntroduction to Computing, Data Structures and Computer Organization, and Assembly Language Programming.

ªWe wanted to expedite the coding phase,º explains Tosten, ªand provide more time for students to learn and explore concepts. We want ®rst- and second-year computer science students to learn that computer science concepts are grounded in solid theories.º

Tosten and Leinbach decided to use NeXT machines in the courses based on three factors they considered key in the curriculum redesign. 

ªThe object-oriented environment was a signi®cant factor,º Tosten says. ªNeXTSTEP incorporates the object-oriented paradigm throughout its operating system and user interface instead of within an individual programming package.

ªIn addition, NeXT's various software support systems, including Interface Builder and Display PostScript-based graphics, provide a powerful environment for application construction. The third factor is NeXT's support of the UNIX operating system. All in all, these things really set NeXT above other platforms.º

Tosten and Leinbach came up with two strategies to teach the courses using NeXT machines. First, they wanted to implement course concepts in an object-oriented environment so students could create and maintain individual object structures.

ªWe believed that if students were using their own object libraries in conjunction with the system object libraries, they would be able to experiment more with abstract ideas,º says Tosten. ªThey could construct applications more quickly and effectively and thereby eliminate their preoccupation with coding.º

They also wanted to provide students with more visual reinforcement of abstract ideas. ªWith Interface Builder,º Tosten says, ªstudents work with concrete visual objects associated with abstract concepts. They also build and dissect objects so they can observe and compare a variety of abstract ideas for solving the same problem.º

Throughout the semester-long data structures course, students now implement data structures as objects and then use these objects to construct larger applications. When studying sorting, for example, they implement several sorting algorithms in a ªpackage skeletonº provided by the instructor. When they've ®nished the assignment, they have a package that allows them to experiment among the sorting algorithms. 

As an assignment in Introduction to Computing, students implement a loop structurally, visually, and through code.

ªThis way,º says Tosten, ªthe students interact with the concept in three different settings. The combination of these strategies presents the student with the tools to implement concepts through code and to explore concepts structurally. The visual representation of an idea gives the student another method to learn and experiment with the major concepts of computer science.º

Using Interface Builder, Tosten has also developed an interactive database, called IntroBase, for use in Introduction to Computing. IntroBase serves as as a tool to introduce database management theory and processing and as a bridge from using applications to building them.

ªIt provides an easy way to introduce students to the concept of an algorithm and the problem-solving process,º says Tosten.

With NeXT's graphical interface, students in the Computer Language and Assembly Language course are able to construct and experiment with graphical representations of architectural components such as an address decoder.

ªThe focus of this course is less on assembly language programming and more on concepts and theory,º says Tosten. ªWe want students to understand how high-level language structures are implemented in assembly language code and how they affect the machine's behavior at a lower level.º

Concludes Tosten, ªThe NeXT platform is an excellent teaching platform for us. With the NeXT machines, we've been able to cover computer concepts we were previously incapable of presenting. Our overall teaching approach with NeXT now raises the student from the traditional role of a programmer forging out the code that implements concepts to that of an active scientist engaged in experimentation.º

RODNEY TOSTEN
ASSISTANT PROFESSOR OF 
COMPUTER SCIENCE
GETTYSBURG COLLEGE
CAMPUS BOX 402
GETTYSBURG, PA 17325
(717) 337-6636
rtosten@cc.gettysburg.edu