C in education and software engineering

After an introduction to programming via C, there are wide-ranging consequences. Section 5 is a catalogue of such consequences. It is undoubtedly lopsided in that my concrete experience is largely ne gative. Some brief sorties are made into ‘might ha ve beens’ but the y are generally not substantiated by my o wn experience. The y are however supported by appropriate citations from the literature. I hope that the negative content will be of value to the CS teaching, practicing and research community by helping to prevent the repetition of mistakes.

[1]  Ira Pohl,et al.  The nature of computation : an introduction to computer science , 1981 .

[2]  Ake Wikstrom,et al.  Functional programming using standard ML , 1987 .

[3]  William A. Wulf,et al.  BLISS: a language for systems programming , 1971, CACM.

[4]  Kenneth E. Iverson,et al.  Notation as a tool of thought , 1980, APLQ.

[5]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[6]  Elliot Soloway,et al.  Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers , 1985, Hum. Comput. Interact..

[7]  Simon P. Davies,et al.  The Nature and Development of Programming Plans , 1990, Int. J. Man Mach. Stud..

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

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

[10]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[11]  Peter J. Denning,et al.  Computing as a discipline: preliminary report of the ACM task force on the core of computer science , 1988, SIGCSE '88.

[12]  Geraint Jones Programming in occam , 1986, Prentice Hall International Series in Computer Science.

[13]  Charles Antony Richard Hoare,et al.  Hints on programming language design. , 1973 .

[14]  David J. Gilmore,et al.  Programming Plans and Programming Expertise , 1988 .

[15]  Andrew D. McGettrick Algol 68: A First and Second Course , 1978 .