At Rhodes, we offer an introductory Computer Science course called CS195: CS I, Structured Programming. During the past five years the course has evolved from a traditional introductory programming course to a breadth-first introduction to Computer Science with a laboratory component much like the courses and laboratory experiences discussed in [1,5]. The laboratory component is where we cover details of the C programming language. It is this part of the course which has been consistently the most problematic to teach. No balance between lecture time and outside reading seems to avoid the difficulties that students have attempting to construct programs. This experience suggests that a mechanism to allow the students some practice with the concepts before writing even the first simple program would be helpful. Research in educational psychology suggests that a Computer-Assisted Instruction (CAI) approach has some benefits. Some of these studies are summarized in [3,10,11].
In addition, several other factors have come together to drive this project. Recently, Rhodes has begun an initiative to increase the use of technology in the classroom. We have also set up a Technology in Learning and Teaching Working Group to engage in planning the future of technology at Rhodes. The advent of the World-Wide Web (WWW) has made available a rather general network user interface complete with graphical capability.
All of these factors have generated an environment where a new approach to teaching C programming is naturally emerging. This approach uses the WWW browsers available on all our campus computers and familiar to most students to provide a user-interface to a CAI course in C programming. Section 2 of this paper outlines the tutorial and provides a general impression of its appearance with some screen dumps. In Section 3, we present the techniques that have been used in the implementation of the tutorial. Finally, we conclude with some initial results from this project.