Welcome to the Website of David Gries

  

 
Teaching OO using Java
Calculational
logic
festive occasions
ABC book
CS Faculty over the years
CS@Cornell
The Triple-I Administration
How Bush Operated

 

 

David Gries
Professor
Computer Science Department
460 Gates Hall
Cornell University
Ithaca, NY 14853

607/255-2998
gries  at  cs.cornell.edu

I retired in 2011 but (as of 2018) continue to teach, mainly the course CS2110, "OO Programming and Data Structures", which in Spring 2018 had 609 (sic) students.

I received an BS in Math from Queens College, NY in 1960, MS in Math from Illinois in 1963, and Dr. rer. nat. (pronounced ''rare nut'') from MIT ---the Munich Institute of Technology, Germany, now the Technical University Munich--- in 1966. After three years as an assistant professor of CS at Stanford, we left because Stanford didn't have any weather. I joined Cornell's CS Department and have been here ever since, except for a two-year stint at the University of Georgia.

I was chair of CS (1982-1988) and served as associate dean of engineering for undergrad programs (2003-2011). I was also Chair of the Computing Research Board in the late 1980s, spearheading its morph into the CRA (Computing Research Association) ---opening an office in Washington and beginning to actively represent the research and education interests of CS there.

My main research interests over the years have been in compiler writing, programming methodology, teaching programming, and related subjects. Bringing research advances in programming methodology to the undergrad level has been a particular pursuit of mine, and I am proud to have been among the first ten Weiss Presidential Fellows at Cornell.

I've had 20 PhD students. The PhD. Thesis of T.V. Raman won the international ACM Dissertation Award in 1994.

I've been active in editorial duties. For example, after about 40 years as editor and (later) managing co-editor of IPL (Information Processing Letters), I was given the title of Honorary Editor-in-Chief. I have been been editor of the Springer Verlag Series on Texts and Monographs in Computer Science since 1973.

Selected Books
1. ''Multimedia Introduction to Programming Using Java''. Springer Verlag, NY, 2004, 536 pages (with son Paul Gries. Came with a CD with over 250 videos.)

2. ''A Logical Approach to Discrete Math''. Springer Verlag, NY, 1993, 500 pages (with Fred Schneider).

3. ''The Science of Programming''. Springer Verlag, New York, 1981, 350 pages. (Translated into Russian and Japanese.)

4. ''Compiler Construction for Digital Computers''. John Wiley and Sons, New York, 1971, 491 pages. (Translated into Spanish, Japanese, Chinese, Italian and Russian. The first text on compilers.)

Selected Awards and Honors
1. Doctor of Science (Honorary Degree), Miami University, Oxford, Ohio (1999)

2. Doctor of Laws (Honorary Degree), Daniel Webster College, Nashua, New Hampshire (1996).

3. 1995 ACM Karl V. Karlstrom Outstanding Educator Award. (Feb. 1996).

4. 1995. Weiss Presidential Fellow (for contributions to undergrad education). Cornell.

5. 1994 Taylor L. Booth Award Education Award, IEEE Computer Society (Dec. 1995).

6. ACM-SIGCSE Award for Outstanding Contributions to Computer Science Education, 1991.

7. Computing Research Association Award for Service to the Computing Community, 1991.

8. ACM Programming Systems and Languages Paper Award 1977 (with S. Owicki).

9. Chosen twice as the Faculty member who most influenced a Merrill Scholar (Thomas Yan, 1990, and Yezy Lim, 2017).

Selected Publications
1. What have we not learned about teaching programming? Computer, 39, 10 (Oct 2006), 81-82.

2. Teaching calculation and discrimination: a more effective curriculum. Comm. ACM 34, 3 (March 1991), 44-55.

3. Completeness and incompleteness of trace-based network proof systems. Proc. Fourteenth Ann. ACM SIGACT-SIGPLAN Symp. Princ. Programming Languages, January 1987, Munich.  (with J. Widom and F.B. Schneider).

3. The Schorr-Waite graph marking algorithm. Acta Informatica 11 (1979), 223-232.

4. An axiomatic proof technique for parallel programs. Acta Informatica 6 (1976), 319-340. (with S. Owicki).