Biography:David Gries

From HandWiki
Revision as of 08:39, 7 February 2024 by Scavis2 (talk | contribs) (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: American computer scientist
David Gries
Image of David Gries.jpg
David Gries in 2022
Born (1939-04-26) April 26, 1939 (age 85)
Flushing, Queens, New York, United States
CitizenshipUnited States
EducationB.S.; Queens College (1960)
M.S.; University of Illinois at Urbana-Champaign (1963)
Dr. rer. nat.; Technical University of Munich (1966)
Known forFirst text on Compiler construction (1971)[1][2]
Interference freedom
Contributions to programming methodology, algorithms, CS education
Awards
  • AFIPS Education Award (1986)
  • ACM SIGCSE Award for Outstanding Contributions to Computer Science Education (1991)
  • IEEE Computer Society Taylor L. Booth Education Award (1994)[3]
  • ACM Karl V. Karlstrom Outstanding Educator Award (1995)[4]
Scientific career
FieldsComputer science
InstitutionsU.S. Naval Weapons Laboratory
Stanford University
University of Georgia
Cornell University
Doctoral advisorsFriedrich L. Bauer
Josef Stoer
Doctoral studentsSusan Graham (1971)
Susan Owicki (1975)
Jennifer Widom (1989)
T. V. Raman (1994)
Michael E. Caspersen (2007)[5]
Websitewww.cs.cornell.edu/gries

David Gries (born April 26, 1939 in Flushing, Queens, New York) is an American computer scientist at Cornell University, United States mainly known for his books The Science of Programming (1981) and A Logical Approach to Discrete Math (1993, with Fred B. Schneider).

He was Associate Dean for Undergraduate Programs at the Cornell University College of Engineering from 2003–2011. His research interests include programming methodology and related areas such as programming languages, related semantics, and logic. His son, Paul Gries, has been a co-author of an introductory textbook to computer programming using the language Python and is a teaching stream professor in the Department of Computer Science at the University of Toronto.

Life

Gries earned a Bachelor of Science (B.S.) from Queens College in 1960. He spent the next two years working as a programmer-mathematician for the U.S. Naval Weapons Laboratory, where he met his wife, Elaine.

He earned a Master of Science (M.S.) in mathematics from the University of Illinois at Urbana-Champaign in 1963. While at Illinois, Gries worked with Manfred Paul and Ruediger Wiehle to write a full compiler for the language ALGOL 60 for the IBM 7090 mainframe computer. He earned his Dr. rer. nat. in 1966 from the TH München, studying under Friedrich L. Bauer and Josef Stoer.

Gries is member emeritus of IFIP Working Group 2.3,[6] whose aim is to increase programmers' ability to compose programs, and he edited Programming Methodology: a Collection of Articles by Members of IFIP WG2.3, [7] which highlights the work of this group in its first ten years.

Gries was an assistant professor at Stanford University from 1966–1969 and then became an associate professor at Cornell University in Ithaca, New York. He spent the next 30 years there, including time as chair of the computer science department from 1982–1987.

By the late 1970s, a survey had Cornell as the fourth-ranked computer science program in the nation, with nationally visible faculty such as Juris Hartmanis, Gerard Salton, Robert L. Constable, Richard W. Conway, and Gries.[8] Many of them, like Gries, were especially known for their work in theory-related areas.[8] Gries was an advocate of treating formal methods in programming as a core computer science topic and teaching it to undergraduates, a stance that found large amounts of debate within the computer science education community.[9] In any case, Gries' reputation as a teacher was such that around 700 students and fellow faculty members were in attendance for his final lecture, given to his "Programming and Data Structures" class, in May 2022.[10] Cornell's computer science program maintained its prominence, placing sixth overall and third in theory in U.S. News & World Report Best Colleges Rankings for 2022.[11]

Gries had a Guggenheim Fellowship in 1984–1985. He spent 1999–2002 at the University of Georgia in Athens and returned to Cornell in January 2003.

He is author, co-author, or editor of seven textbooks and 75 research papers. His papers are archived at Cornell.[12]

(As of 2021), he lives in Ithaca, New York.

Textbooks

Gries' 1971 work Compiler Construction for Digital Computers was the first textbook to be published on designing and implementing language compilers.[2][13] It was also one of the first textbooks to be written and produced using computers, in this case punched cards input to a text-formatting program that ran on an IBM System/360 Model 65;[2] the early technology used eventually resulted in the book having a somewhat dated appearance.[13] Compiler Construction for Digital Computers sold well and went through more than twenty printings,[2] although over time it would be eclipsed in renown by "the Dragon Book", Alfred V. Aho and Jeffrey D. Ullman's 1977 volume Principles of Compiler Design.[14] Nonetheless, Dutch computer scientist Dick Grune has written of Compiler Construction for Digital Computers that "entire generations of compiler constructors have grown up with it and they have not regretted it."[13]

The textbook An Introduction to Programming: A Structured Approach Using PL/I and PL/C was co-written with his computer scientist college Richard W. Conway and published in 1973. It used the PL/C dialect developed at Cornell and went through several editions and adaptations. It stressed the discipline of structured programming throughout, becoming one of the most prominent textbooks to do so,[15] and introduced considerations of program correctness, becoming the first introductory textbook to do so.[16]

In 1981, Gries published The Science of Programming, a textbook that covers program verification.[17] It presents propositional calculus and uses it to formalize the treatment of preconditions, postconditions, invariants, and related entities,[18] and then provides practical stratagems for program development via identifying those logical entities from a problem specification.[19] A review in SIGSOFT Software Engineering Notes found the book to be valuable in the logic and stratagem aspects, but too focused on low-level programming with no abstract data types discussed other than the simple array.[17] Writing in Communications of the ACM, computer scientist Jon Bentley said The Science of Programming was "an excellent introduction to the field" and said that professional programmers could benefit from studying it and using program verification techniques in their own projects.[19]

A Logical Approach to Discrete Math was co-authored with Fred B. Schneider and published in 1993.[9] A paper from a faculty member at Southwestern University advocating teaching the subjects the book covered to first-year undergraduates and called it "an ideal text covering predicate calculus for use in programming."[20] Similarly, a faculty member at Pepperdine University stated that, "My experience with A Logical Approach to Discrete Math convinced me that formal methods are easily mastered at the undergraduate level."[9]

Selected works

Awards

  • Charter Fellow, ACM[30][31] (1994)
  • CRA Distinguished Service Award [32] (1991)
  • Fellow, AAAS[33] (1990)
  • ACM SIGCSE Award for Outstanding Contribution to CS Education (1991)
  • AFIPS Education Award (1986)
  • Guggenheim Fellowship[34] (1983)
  • ACM Programming Systems and Languages Paper Award, with Susan Owicki,[35] for the "Verifying properties of parallel programs: an axiomatic approach" paper (1977)
  • Superior Accomplishment Award, U.S. Naval Weapons Lab, Dahlgren, Va. (1961)

References

  1. Gries, D. (1971). Compiler Construction for Digital Computers. New York: John Wiley and Sons. ISBN 0-471-32776-X. "The first text on compiler writing." 
  2. 2.0 2.1 2.2 2.3 2.4 "David Gries' Compiler book Source". Computer History Exhibits. Stanford University. http://infolab.stanford.edu/pub/voy/museum/pictures/display/floor5.htm. 
  3. "Taylor L. Booth Education Award". IEEE-CS. April 3, 2018. https://www.computer.org/volunteering/awards/booth. Retrieved July 9, 2022. 
  4. "ACM Karl V. Karlstrom Outstanding Educator Award". ACM. 1995. https://awards.acm.org/karlstrom. 
  5. "David Gries". Mathematics Genealogy Project. https://mathgenealogy.org/id.php?id=22781. 
  6. "IFIP Working Group 2.3 on Programming Methodology". https://ifip-tc2-wg23.paluno.uni-due.de/. 
  7. 7.0 7.1 Gries, D., ed (1979). Programming Methodology: a Collection of Articles by Members of IFIP WG2.3. Monographs in Computer Science. New York: Springer Verlag. doi:10.1007/978-1-4612-6315-9. ISBN 978-1-4612-6317-3. https://link.springer.com/book/10.1007/978-1-4612-6315-9. 
  8. 8.0 8.1 "Computer Dept. Wins Prominence Throughout U.S.". The Cornell Daily Sun: pp. 1, 10, 11. November 15, 1978. https://cdsun.library.cornell.edu/cgi-bin/imageserver.pl?oid=CDS19781115&getpdf=true. 
  9. 9.0 9.1 9.2 Warford, J. Stanley (September 1995). "An experience teaching formal methods in discrete mathematics". SIGCSE Bulletin 27 (3): 60–64. doi:10.1145/209849.209860. 
  10. DiPietro, Louis; LaRocca, David (May 25, 2022). "David Gries Receives 2022 Tau Beta Pi Professor of the Year Award and Delivers Final Lecture at Cornell". Cornell Bowers CIS. https://www.cs.cornell.edu/information/news/newsitem12269/david-gries-receives-2022-tau-beta-pi-professor-year-award-and. 
  11. "Best Computer Science Schools". U.S. News & World Report. 2022. https://www.usnews.com/best-graduate-schools/top-science-schools/computer-science-rankings?_sort=rank-asc.  Also "Best Theoretical Computer Science Programs".
  12. "David Gries papers, #16-13-4524. Division of Rare and Manuscript Collections, Cornell University Library.". https://catalog.library.cornell.edu/catalog/15707084. Retrieved 12 October 2023. 
  13. 13.0 13.1 13.2 "Compiler Construction before 1980". dickgrune.com. May 20, 2010. https://dickgrune.com/CS/Summaries/CompilerConstruction-1979.html. 
  14. "ACM Turing Award Honors Innovators Who Shaped the Foundations of Programming Language Compilers and Algorithms" (Press release). Association for Computing Machinery. March 31, 2021.
  15. "Computer Text Is Updated". The Ithaca Journal: p. 6. June 30, 1975. https://www.newspapers.com/clip/110544982/the-ithaca-journal/. 
  16. 16.0 16.1 16.2 "Cornell Department of Computer Science -50 Years of Innovation". Cornell Dept of Computer Science. https://www.cs.cornell.edu/information/timeline. Retrieved 2022-09-02. 
  17. 17.0 17.1 "Two recent books on programming". SIGSOFT Software Engineering Notes 7 (2): 63–64. April 1982. doi:10.1145/1005937.1005948. 
  18. "Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (SIGCSE '87)". Association for Computing Machinery. 1987. pp. 183–190. doi:10.1145/31820.31756. 
  19. 19.0 19.1 "Programming pearls: Writing correct programs". Communications of the ACM 26 (12): 1040–1045. December 1983. doi:10.1145/358476.358484. 
  20. Denman, Richard; Naumann, David A.; Potter, Walter; Richter, Gary (1994). "Proceedings of the twenty-fifth SIGCSE symposium on Computer science education (SIGCSE '94)". Association for Computing Machinery. pp. 116–120. doi:10.1145/191029.191077. 
  21. "Lifetime Achievement Award for Teaching". Cornell Bowers CIS, Cornell. https://cis.cornell.edu/inaugural-excellence-awards. 
  22. "Tau Beta Pi Professor of the Year". CEAA Alumni Association, College of Engineering, Cornell. https://www.engineering.cornell.edu/alumni/ceaa-alumni-association/ceaa-awards/tau-beta-pi-professor-year-awards. 
  23. "ACM SIGCSE Technical Symposium Top Ten Papers of All Time Award". SIGCSE. https://sigcse.org/programs/awards/SIGCSE-top-10-all-time.html. Retrieved July 10, 2022. 
  24. Gries, David (February 1974). "What should we teach in an introductory programming course?". ACM SIGCSE Bulletin 6 (1): 81–89. doi:10.1145/953057.810447. https://dl.acm.org/doi/10.1145/953057.810447. 
  25. "Awards". https://www.cs.cornell.edu/information/awards-by-recipient. 
  26. The Cornell CS Department Timeline[16] announces this doctorate
  27. The Cornell CS Department Timeline[16] announces this doctorate
  28. "Weiss Presidential Fellow (for contributions to undergraduate education)". Cornell. https://theuniversityfaculty.cornell.edu/dean/awards/the-stephen-h-weiss-awards/stephen-h-weiss-fellow-award-winners-by-year/. 
  29. "Audio System for Technical Readings". https://www.cs.cornell.edu/info/people/raman/phd-thesis/aster-thesis.pdf. 
  30. "ACM Fellows". ACM. 1994. https://awards.acm.org/fellows. 
  31. "David Gries: ACM Fellow". ACM. 1994. https://awards.acm.org/award_winners/gries_1028422. 
  32. "Distinguished Service Award". CRA. January 16, 2015. https://cra.org/about/awards/distinguished-service-award/. Retrieved July 10, 2022. 
  33. "Historic Fellows, AAAS". AAAS. https://www.aaas.org/fellows/historic. 
  34. "David Gries - John Simon Guggenheim Memorial Foundation". 1983. https://www.gf.org/fellows/all-fellows/david-gries/. 
  35. "ACM Programming Systems and Languages Paper Award". ACM. 1977. https://awards.acm.org/programming-systems-and-languages-paper. Retrieved 2022-07-07. 

External links