Summary form only given. Rice University's introductory course emphasizes design principles. It starts with the simple observation that programs are "boxes" that consume and produce data. Since nothing else is known, an engineer must systematically study the collections of consumed and produced data. The course teaches students how to describe collections of data (first in English and SCHEME, then in JAVA) and then how to construct programs systematically using these descriptions. Over the course of a semester, students get to know half a dozen different construction methods of this kind. After they are acquainted with these design methods, they understand that program development means to choose a design method carefully and to communicate the chosen method through the program design to future program readers and modifiers. The course relies on a small subset of SCHEME; at strategic points during the semester, students are also shown how the design methods apply to the development of JAVA programs. For the first six weeks, the course introduces only absolutely necessary features: function definition and application, conditional expressions, and records. At the end of this initial segment, students comfortably program with various forms of lists, trees, and graphs. The last third of the course introduces the basic elements of computer architecture and low-level languages (machine, assembly and C)
Published in:
Frontiers in Education Conference, 1997. 27th Annual Conference. Teaching and Learning in an Era of Change. Proceedings.
(Volume:2
)
Date of Conference: 5-8 Nov 1997