What (else) should CS educators know?

We address a variety of issues that pertain to the background needed for teaching computer science. We have in mind both the high-school and the college/university levels. Besides the obvious prerequisite of thoroughly mastering the core topics of computer science, which should be enhanced by a comprehensive bird''s-eye view of the entire field, we claim that a good computer science educator must be acquainted with a significant body of additional material. This ranges from some historical and philosophical aspects, through various curricula and teaching methods, to the problematics of teaching specific topics. Much of this material, which should be of interest to computer science people in general, can be organized into an elective course, to be offered as part of an undergraduate computer science program or in a special teachers'' certification program.

[1]  Donald E. Knuth,et al.  Computer Science and its Relation to Mathematics , 1974 .

[2]  Elliot B. Koffman Pascal (4th ed.): problem solving and program design , 1994 .

[3]  Stephen G. Matthews,et al.  Some experiences in teaching functional programming , 1994 .

[4]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[5]  Richard E. Mayer,et al.  A psychology of learning BASIC , 1979, CACM.

[6]  Maria Cecília Calani Baranauskas Observational studies about novices interacting in a Prolog environment based on tools , 1995 .

[7]  Judith Gal-Ezer,et al.  Computer science teachers' certification program , 1995 .

[8]  Chris Hancock Context and Creation in the Learning of Computer Programming , 1988 .

[9]  Marvin Minsky,et al.  Form and Content in Computer Science (1970 ACM turing lecture) , 1970, JACM.

[10]  Judith Gal-Ezer,et al.  A Pre-Programming Introduction to Algorithmics , 1995 .

[11]  Alan W. Biermann Great Ideas in Computer Science: A Gentle Introduction , 1990 .

[12]  Robert Taylor,et al.  Proposed curriculum for programs leading to teacher certification in computer science , 1984, ACM '84.

[13]  Marvin Minsky,et al.  Form and Content in Computer Science , 1987 .

[14]  Alan W. Biermann Computer science for the many , 1994, Computer.

[15]  Yishai A. Feldman,et al.  Algorithmics: The Spirit of Computing , 1987 .

[16]  W. J. Savitch Turbo Pascal 4.0/5.0: An Introduction to the Art and Science of Programming , 1989 .

[17]  John S. Murnane To iterate or to recurse , 1992 .

[18]  John A. N. Lee,et al.  Computer pioneers , 1995 .

[19]  Jean E. Sammet,et al.  Some Approaches to, and Illustrations of, Programming Language History , 1991, Annals of the History of Computing.

[20]  Richard L. Wexelblat,et al.  The consequences of one's first programming language , 1980, SIGSMALL '80.

[21]  Allen B. Tucker,et al.  Computing Curricula 1991 , 1991, CACM.

[22]  Richard E. Mayer,et al.  Learning to program and learning to think: what's the connection? , 1986, CACM.

[23]  Marcia C. Linn,et al.  The case for case studies of programming problems , 1992, CACM.

[24]  Andrew M. Lister,et al.  Computer science: a modern introduction: 2nd edition , 1988 .

[25]  Udi Manber Using induction to design algorithms , 1988, CACM.

[26]  Peter J. Denning,et al.  Computing as a discipline , 1989, Computer.

[27]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[28]  Kaila Katz The present state of historical content in computer science texts: a concern , 1995, SGCS.

[29]  Walter J. Savitch Pascal: an introduction to the art and science of programming (3rd ed.) , 1991 .

[30]  Anthony Hyman,et al.  Charles Babbage: Pioneer of the Modern Computer , 1982 .

[31]  Alan W. Biermann,et al.  Great ideas in computer science , 1990 .

[32]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[33]  Martin R. Woodward,et al.  A Uniform Graphical View of the Program Construction Process: GRIPSE , 1993, Int. J. Man Mach. Stud..

[34]  Nancy Pennington,et al.  The effects of paradigm on cognitive activities in design , 1994, Int. J. Hum. Comput. Stud..

[35]  Frederick P. Brooks,et al.  The computer scientist as toolsmith II , 1996, CACM.

[36]  Edsger W. Dijkstra,et al.  On a cultural gap , 1986 .

[37]  Susan M. Merritt,et al.  ACM model high school computer science curriculum , 1993, CACM.

[38]  Ann E. Fleury Student Beliefs about Pascal Programming , 1993 .

[39]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[40]  Jean B. Rogers Computer science for secondary schools: Course content , 1984, ACM '84.

[41]  Carl F. Berger,et al.  The Design of Software Tools for Meaningful Learning by Experience: Flexibility and Feedback , 1993 .

[42]  R. Wayne Headrick Structured programming complexity revisited (a response to the paper by M. Er) , 1993 .

[43]  Catriel Beeri,et al.  A High School Program in Computer Science , 1995, Computer.