- SIGCSE 91:The Iliad and the WHILE Loop: Computer Literacy in a Liberal Arts Program

- FIE 92: Program Correctness Proofs in a Computer Literacy Course

- SIGCSE 94: Teaching Programming to Liberal Arts Students: Using Loop Invariants

- SAC 95: When You Grade That: Using E-mail and the Network in Programming Courses

- SIGCSE 95: XDP: A Simple Library for Teaching a Distributed Programming Module

- CCSCNE96: USING MODULES TO INTEGRATE DISTRIBUTED COMPUTING IN THE UNDERGRADUATE CS CURRICULUM (with Carol Tretkoff and Paula Whitlock)

- ITiCSE96: Extending the Conversation: Integrating E-mail and Web Technology in CS Programming Classes (with Dayton Clark)

- CCSCNE98: Having It All-- Java in CS 1 (with Gerald Weiss)

- WEBNET98: Internet Experiments for Non-CS Majors (with Chaya Gurwitz)

- SUBMITTED TO SIGCSE99: WebToTeach: A Web-based Automated Program Checker (with Oleg Barshay)

My approach has been bottom-up in two senses. First, I have focused most of my attention on the elementary level (courses for non-majors, such as Core 5, and CS 1&2, e.g. CIS 1.10 and CIS 15) and on students with extremely weak backgrounds in math and computing.

Secondly, because of this focus, I have had to develop approaches to formalism that naturally flow out of the operational perspective of these students. I have met with some success in this regard. I helped develope a version of the Brooklyn College Core Math/CS course that used logic as a unifying theme. This version was for a time widely used and has had a great impact on design of the current version of the course. When I was coordinator of this course, students in several of its sections became able to construct simple, yet significant program correctness proofs. These were the non-majors!

From 1993-1996, my focus was on the second semester programming course, which introduces C to students who have been taught Pascal or C in a strictly operational fashion. But here too I found ways of successfully broadening the students' view of programming. Thus, my contribution to this debate, which in some ways is a debate about the nature of the discipline itself, has been to demonstrate that this material is accessible to all students and to develop effective methods for its presentation.

Back to David Arnow's CS Education Page.