Gettysburg College

Computer Science
New focus for introductory CS students

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

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 first- 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 significant 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 finished 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."

For more information, please contact:

Rodney Tosten
Assistant Professor of Computer Science
Gettysburg College
Campus Box 402
Gettysburg, PA 17325
(717) 337-6636
rtosten@cc.gettysburg.edu