Teaching and practicing computer science at the university level

Universities offering Computing Science curricula should do so at the university level. Taking pragmatic shortcuts causes stagnation in professional practice. The essential element is the pervasive presence throughout the curriculum of mathematical modelling, which is the role of Formal Methods in its original sense. Mathematical fundamentals and concepts are crucial, software tools are auxiliary and even misleading without the former. Recommendations are given for curriculum structure, specific key courses and attitudes to instil in students and educators. Comparison with other approaches is made. A conclusion is that CS curricula should break outside the limitations caused by conservative policy makers but also self-imposed ones.

[1]  Jeannette M. Wing Invited Talk: Weaving Formal Methods into the Undergraduate Computer Science Curriculum , 2000, AMAST.

[2]  Raymond T. Boute,et al.  Concrete Generic Functionals , 2002, Generic Programming.

[3]  C Timothy What Knowledge Is Important to a Software , 2009 .

[4]  Jeannette M. Wing Weaving formal methods into the undergraduate computer science curriculum , 2000 .

[5]  Rex L. Page Software is discrete mathematics , 2003, ICFP '03.

[6]  Edward A. Lee,et al.  Structure and interpretation of signals and systems , 2002 .

[7]  Raymond T. Boute,et al.  Functional declarative language design and predicate calculus: a practical approach , 2005, TOPL.

[8]  David Lorge Parnas,et al.  Education for computing professionals , 1990, Computer.

[9]  Ganesh Gopalakrishnan Computation Engineering: : Formal Specification and Verification Methods , 2007 .

[10]  David Lorge Parnas,et al.  Predicate Logic for Software Engineering , 1993, IEEE Trans. Software Eng..

[11]  Raymond T. Boute,et al.  Concrete generic functionals - Principles, design and applications , 2003 .

[12]  James B. Dabney,et al.  Mastering Simulink 4 , 2001 .

[13]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[14]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[15]  Pravin Varaiya,et al.  Structure and Interpretation of Signals and Systems—Edward , 2003 .

[16]  Edward A. Lee,et al.  INTRODUCING SIGNALS AND SYSTEMS - THE BERKELEY APPROACH , 2000 .

[17]  G. Thomas,et al.  Thomas' Calculus Early Transcendentals (11th Edition) (Thomas Series) , 2005 .

[18]  Gerald J. Sussman,et al.  Structure and interpretation of classical mechanics , 2001 .

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

[20]  Henri Habrias,et al.  Linking Paradigms, Semi-formal and Formal Notations , 2004, TFM.

[21]  Kim B. Bruce,et al.  Our curriculum has become math-phobic! , 2001, SIGCSE '01.