On teaching theoretical foundations of Computer Science

Theoretical foundations of Computer Science (Automata Theory, Complexity, Formal Languages . . .) are taught almost everywhere within Computer Science curricula. However little effort is usually done to present this material in an integrated and motivated way, that is in such a way that its application and use in the solution of practical problems appears to any student.A proposal is developed in order to overcome this inadequacy and to emphasize the basic aspects of theoretical Computer Science.

[1]  J. D. Ichbiah,et al.  Preliminary Ada reference manual , 1979, SIGP.

[2]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[3]  Paul Young,et al.  An introduction to the general theory of algorithms , 1978 .

[4]  James B. Morris Formal Languages and their Relation to Automata , 1970 .

[5]  Mary Shaw,et al.  Curriculum '78—is computer science really that unmathematical? , 1980, CACM.

[6]  Peter Wegner,et al.  The Vienna Definition Language , 1972, CSUR.

[7]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[8]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[9]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[10]  Sheila A. Greibach,et al.  Theory of Program Structures: Schemes, Semantics, Verification , 1976, Lecture Notes in Computer Science.

[11]  Dana S. Scott,et al.  Outline of a Mathematical Theory of Computation , 1970 .

[12]  Michael A Arbib,et al.  Theories of abstract automata (Prentice-Hall series in automatic computation) , 1969 .

[13]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[14]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[15]  David M. Perlman,et al.  An introduction to programming and problem solving with PASCAL , 1978 .

[16]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[17]  John E. Savage,et al.  The Complexity of Computing , 1976 .

[18]  Michael A. Arbib,et al.  The Design of Well-Structured and Correct Programs , 1978, Texts and Monographs in Computer Science.

[19]  Michael A. Arbib,et al.  Theories of abstract automata , 1969, Prentice-Hall series in automatic computation.