An experimental course in C programming, delivered in the Department Meteorology at
San Jose State University in the Fall Semester of 1997, is documented in this paper. This
required programming course was unique in that instructional techniques were framed
around outcome-, project-, and collaborative-based pedagogy. In addition, content
delivery was via traditional lecture and synchronous and asynchronous distance learning
aided through web-based instruction, email and one-on-one chat software. The six-hour
per week class was held in the new Meteorology Computer Lab containing approximately
twelve PCs running the Slakware distribution of Linux--the GNU version of the
proprietary UNIX operating system. Assessment was based on the student's ability to
demonstrate a minimum level of proficiency in thirteen identifiable C programming
areas. The thirteen areas were incorporated into small projects and problems that
students had to solve individually and in groups. Each of these projects and problems
were part of an overarching class problem: building a parcel model. Evaluation of the
effectiveness of the course is gleaned through student performance and feedback, and
through instructor observation. Overall, the unique combination of pedagogy and
technology provided an effective teaching and learning environment. Of particular note
was the increased instructor contact time made available through distance learning
technology, and the increased "buy-in" of students into the learning experience. The
major drawbacks to the course include a significant increase in instructor preparation
time, and a decrease in the quantity of delivered material. However, the positive aspects
and benefits of the course more than outweigh the negative