In 1991, the Stanford Department of Computer Science decided to abandon Pascal in its introductory computer science courses and to adopt ANSI C as the language of instruction.We based this decision on several factor~the inadequacy of standard Pascal as a base for teaching modem programming concepts, the need to prepare our students for more advanced courses in which they will be expected to use C for programming projects, and increasing pressure from students and faculty throughout the School of Engineering for instruction in a language that has become the industry standard.We rdso believe that it is not reasonable to expect students to learn C on their own; students must receive instruction in C in order to become good C programmers.C has several known deficiencies that make it a challenging language to teach, Based on our experience at Stanford, we believe that it is possible to minimize the problems associated with teaching C at the introductory level by applying standard software engineering strategies-procedural abstraction, modular decomposition, and information hidhtg-to good pedagogical effect.This paper expands on the reasons behind Stanford's decision to adopt C and summarizes the pedagogical approach.
No takes yet. Share an insight, caveat, or question.
Eric Roberts (1993) studied this question.
Synapse has enriched one closely related paper. Consider it for comparative context: