faculty.gif (20410 bytes)
choices.gif (4488 bytes)

David Gries

William L. Lewis Professor Engineering
Cornell Weiss Presidential Fellow

Dr. rer. nat., Munich Inst. of Tech., 1966

My research is aimed at gaining a better understanding of the programming process, with respect to both sequential and concurrent (or parallel) programs. The work requires investigation of theories of program correctness and their application, as well as investigation of other concepts in the semantics of programming languages. A procedural programming language, Polya, is being defined and implemented. We are attempting to make the language in which algorithms are usually presented the programming language, but without loss of efficiency. This has entailed work in the theory of polymorphic types and type inference as well as the development of new constructs for defining 

gries.tif (274182 bytes)
types and for describing the implementation of variables.  The hope is that this work will advance the state of the art of reusability of program parts and will raise the level at which programs are written.

Education is a second area of strong interest for me, particularly the first few courses in computer science. Under the thesis that logic is the glue that binds together reasoning, in all domains. Along with colleague F.B. Schneider, I have been researching on and writing about logic as a "tool", instead of just another object of study. We are working on a new version of our 1993 text "A Logical Approach to Discrete Math", which will focus only on logic.

University Activities

  • Cornell University Faculty Senate

  • General Committee of the Graduate School

  • Weiss Fellowship Committee

Professional Activities

  • Managing Editor: Information Processing Letters

  • Main Editor: Acta Informatica

  • Editor: Springer-Verlag Texts and Monographs in Computer Science

  • Director: Marktoberdorf NATO Summer School

  • Co-chair: Program Committee for PROCOMET '98.

  • Program Committees: ENCRES 1997, Fourth Int. Conf. Mathematics of Program Construction

  • Chair: Education Track, FM99

  • IFIP Working Group 2.3 (Programming Methodology)

  • NSF Review panel


  • The once or future programmer: A modern educational dilemma. Computer Science Univ. Texas at Austin, 23 Oct. 1997.

  • Making logic a useful tool. Computer Science, Univ. Texas at Austin, 24 Oct. 1997.

  • The once and future programmer: Our educational dilemma. Banquet Speech, Third Annual Northeastern Conf., Consortium for computing in small colleges. Fairfield, CT 24 April 1998.

  • Teaching logic as a tool (tutorial). Third Annual Northeastern Conference, Consortium for computing in small colleges. Fairfield, CT, 25 April 1998.


  • Programming Concepts and Methods, PROCOMET '98 (ed.). Chapman and Hall, London (1998) (with W.-P. De Roever).

  • Adding the everywhere operator to propositional logic. J. Logic and Computation, 8 (Feb. 1998), 119-129 (with F.B. Schneider).

  • Documents mean more than just paper! Math. Comput. Modeling 26, 1 (1997), 45-53 (with T.V. Raman).

  • Eliminating the chaff_again. Mathematical Methods in Program Development. M. Broy and B. Schieder (eds.) NATO ASI Series, Series F: Computer and Systems Sciences 158, Springer-Verlag (1997), 1-7.

  • Foundations for calculational logic. ibid, 83-126.

  • Formal justification of underspecification for S5. IPL 64, 3 (Nov. 1997): 115-121 (with E. Aaron).

  • Foreword for T.V. Raman's book Auditory User Interfaces (AUI) —Toward the Speaking Computer.

  • KMP String matching revisited. IPL 64 (1997): 217-223 (with E.M. Reingold and K.J. Urban).