ComputingComputer ScienceDecision Support SystemsImpact MeasurementInformation RetrievalCitation PracticesSource Evaluation
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.
3
Recommended curriculum for CS1, 1984
Elliot B. Koffman, Philip L. Miller, Caroline Wardle · Communications of the ACM · 1984 · 138 citations · Full text
C in education and software engineering
R. P. Mody · ACM SIGCSE Bulletin · 1991 · 31 citations · Full text
On research in structured programming
Lawrence Flon · ACM SIGPLAN Notices · 1975 · 16 citations · Full text