Revision as of 17:20, 9 October 2022 editWasted Time R (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers74,036 edits add 'An Introduction to Programming: A Structured Approach'← Previous edit | Revision as of 12:48, 19 October 2022 edit undoWasted Time R (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers74,036 edits add material on two more textbooks, resection a bitNext edit → | ||
Line 92: | Line 92: | ||
Gries was an ] at ] from 1966–1969 and then became an associate professor at ] in ]. He spent the next 30 years there, including time as ] of the computer science department from 1982–1987. He had a ] in 1984–1985. He spent 1999–2002 at the ] in ] and returned to Cornell in January 2003. | Gries was an ] at ] from 1966–1969 and then became an associate professor at ] in ]. He spent the next 30 years there, including time as ] of the computer science department from 1982–1987. He had a ] in 1984–1985. He spent 1999–2002 at the ] in ] and returned to Cornell in January 2003. | ||
He is author, co-author, or editor of seven textbooks and 75 research papers. | |||
⚫ | |||
{{As of|2021}}, he lives in ]. | {{As of|2021}}, he lives in ]. | ||
==Textbooks== | |||
Gries' 1971 work ''Compiler Construction for Digital Computers'' was the first textbook to be published on designing and implementing ]s.<ref name="stanford-ccdc"/><ref name="grune-ccdc"/> It was also one of the first textbooks to be written and produced using computers, in this case ]s input to a text-formatting program that ran on an ];<ref name="grune-ccdc"/> the early technology used eventually resulted in the book having a somewhat dated appearance.<ref name="grune-ccdc"/> ''Compiler Construction for Digital Computers'' sold well and went through more than twenty printings,<ref name="stanford-ccdc">{{cite web | url=http://infolab.stanford.edu/pub/voy/museum/pictures/display/floor5.htm | title=David Gries' Compiler book Source | work=Computer History Exhibits | publisher=Stanford University | access-date=October 4, 2022 }}</ref> although over time it would be eclipsed in renown by "the Dragon Book", ] and ]'s 1977 volume '']''.<ref>{{cite press release | url=https://www.acm.org/media-center/2021/march/turing-award-2020 | title=ACM Turing Award Honors Innovators Who Shaped the Foundations of Programming Language Compilers and Algorithms | publisher=Association for Computing Machinery | date=March 31, 2021 }}</ref> Nonetheless, Dutch computer scientist ] 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."<ref name="grune-ccdc">{{cite web | url=https://dickgrune.com/CS/Summaries/CompilerConstruction-1979.html | title=Compiler Construction before 1980 | author-first=Dick | author-last=Grune | publisher=dickgrune.com | date=May 20, 2010 }}</ref> | |||
⚫ | The textbook ''An Introduction to Programming: A Structured Approach Using PL/I and PL/C'' was co-written with his computer scientist college ] and published in 1973. It used the ] dialect developed at Cornell and went through several editions and adaptations. It stressed the discipline of ] throughout, becoming one of the most prominent textbooks to do so,<ref name="ij-2nd-ed">{{cite news | url=https://www.newspapers.com/clip/110544982/the-ithaca-journal/ | title=Computer Text Is Updated | newspaper=] | date=June 30, 1975 | page=6 | via=Newspapers.com}}</ref> and introduced considerations of ], becoming the first introductory textbook to do so.<ref name="Doctorate"/> | ||
In 1981, Gries published ''The Science of Programming'', a textbook that covers ].<ref name="sen82"/> It presents ] and uses it to formalize the treatment of ]s, ]s, ]s, and related entities,<ref name="sigcse87">{{cite conference | author-first=Peter | author-last=Henderson | year=1987 | contribution=Modern introductory computer science | title=Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (SIGCSE '87) | publisher= Association for Computing Machinery | pages= 183–190 | doi=10.1145/31820.31756 }}</ref> and then provides practical strategems for program development via identifying those logical entities from a problem specification.<ref name="cacm-bentley"/> A review in '']'' found the book to be valuable in the logic and strategem aspects, but too focused on low-level programming with no ] discussed other than the simple ].<ref name="sen82">{{cite journal | author-first=Susan L. | author-last=Gerhart | title= Two recent books on programming | journal= SIGSOFT Software Engineering Notes | volume=7 | number=2 | date=April 1982 | pages= 63–64 | doi=10.1145/1005937.1005948 }}</ref> Writing in '']'', computer scientist ] said ''The Science of Programming'' was an "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.<ref name="cacm-bentley">{{cite journal | author-first=Jon | author-last=Bentley | title= Programming pearls: Writing correct programs | journal= Communications of the ACM | volume=26 | number= 12 | date=December 1983 | pages= 1040–1045 | doi=10.1145/358476.358484 }}</ref> | |||
==Selected works== | ==Selected works== | ||
Line 382: | Line 390: | ||
* Superior Accomplishment Award, U.S. Naval Weapons Lab, Dahlgren, Va. (1961) | * Superior Accomplishment Award, U.S. Naval Weapons Lab, Dahlgren, Va. (1961) | ||
==See also== | |||
* ] | |||
==References== | ==References== |
Revision as of 12:48, 19 October 2022
American computer scientistA major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Misplaced Pages's content policies, particularly neutral point of view. Please discuss further on the talk page. (August 2022) (Learn how and when to remove this message) |
David Gries | |
---|---|
David Gries in 2022 | |
Born | (1939-04-26) April 26, 1939 (age 85) Flushing, Queens, New York, United States |
Citizenship | United States |
Education | B.S.; Queens College (1960) M.S.; University of Illinois at Urbana-Champaign (1963) Dr. rer. nat.; Technical University of Munich (1966) |
Known for | First text on Compiler construction (1971) Interference freedom Contributions to programming methodology, algorithms, CS education |
Awards |
|
Scientific career | |
Fields | Computer science |
Institutions | U.S. Naval Weapons Laboratory Stanford University University of Georgia Cornell University |
Doctoral advisors | Friedrich L. Bauer Josef Stoer |
Doctoral students | Susan Graham (1971) Susan Owicki (1975) Jennifer Widom (1989) T. V. Raman (1994) |
Website | www |
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 in 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 professor teaching Stream 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 on Programming Methodology"., 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, 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. He 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.
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. 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; the early technology used eventually resulted in the book having a somewhat dated appearance. Compiler Construction for Digital Computers sold well and went through more than twenty printings, 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. 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."
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, and introduced considerations of program correctness, becoming the first introductory textbook to do so.
In 1981, Gries published The Science of Programming, a textbook that covers program verification. It presents propositional calculus and uses it to formalize the treatment of preconditions, postconditions, invariants, and related entities, and then provides practical strategems for program development via identifying those logical entities from a problem specification. A review in SIGSOFT Software Engineering Notes found the book to be valuable in the logic and strategem aspects, but too focused on low-level programming with no abstract data types discussed other than the simple array. Writing in Communications of the ACM, computer scientist Jon Bentley said The Science of Programming was an "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.
Selected works
- Gries, D. (1971). Compiler Construction for Digital Computers (in English, Spanish, Japanese, Chinese, Italian, and Russian). New York: John Wiley and Sons. ISBN 0-471-32776-X.
The first text on compiler writing.
- Gries, D.; Conway, R. (1973). An Introduction to Programming: a structured approach, Edition 1. Cambridge: Winthrop.
- Gries, D., ed. (1979) Programming Methodology: a Collection of Articles by Members of IFIP WG2.3
- Gries, D. (1981). The Science of Programming. Monographs in Computer Science (in English, Spanish, Japanese, Chinese, Italian, and Russian). New York: Springer Verlag.
- Gries, D.; Feijen, W.H.J.; van Gasteren, A.J.M.; Misra, J., eds. (1990). Beauty is our Business. Monographs in Computer Science. New York: Springer Verlag.
- Gries, D.; Schneider, F. B. (1993). A Logical Approach to Discrete Math. Monographs in Computer Science. New York: Springer Verlag.
- Gries, D.; De Roever, W. P., eds. (1998). Programming Concepts and Methods, PROCOMET '98. IFIP Advances in Information and Communication Technology. London: Springer.
- Gries, D.; Gries, P. (2004). Multimedia Introduction to Programming Using Java. New York: Springer Verlag.
Came with a CD called 'Program Live' with videos.
- Gries, D. (2022). JavaHyperText and Data Structures. Ithaca, New York.
Free online text with over 50 videos.
{{cite book}}
: CS1 maint: location missing publisher (link)
- Gries, D.; Owicki, S. (1976) "Verifying properties of parallel programs: an axiomatic approach"
- Gries, D.; Owicki, S. (1976) "An axiomatic proof technique for parallel programs I"
Awards
- Cornell Bowers CIS Lifetime Achievement Award for Teaching (2022)
- Tau Beta Pi Professor of the Year (2022)
- Oldest paper in the ACM SIGCSE Technical Symposium Top Ten Papers of All Time (2019)
- Amity Booker Prize, with Paul Gries (2016)
- Honorary Doctor of Science, Miami University, Oxford, Ohio (1999)
- Honorary Doctor of Laws, Daniel Webster College, Nashua, New Hampshire (1996)
- Weiss Presidential Fellow –among the first ten Fellows (1995)
- Advisor of T.V. Raman, whose Ph.D. thesis won the annual "ACM Doctoral Dissertation Award". (1995)
- Charter Fellow, ACM (1994)
- CRA Distinguished Service Award (1991)
- Fellow, AAAS (1990)
- AFIPS Education Award (1986)
- Guggenheim Fellowship (1983)
- ACM Programming Systems and Languages Paper Award, with Susan Owicki, for the paper (1977)
- Superior Accomplishment Award, U.S. Naval Weapons Lab, Dahlgren, Va. (1961)
See also
References
- "Taylor L. Booth Education Award". IEEE-CS. Retrieved July 9, 2022.
- "ACM Karl V. Karlstrom Outstanding Educator Award". ACM. 1995. Retrieved July 20, 2022.
- "David Gries". mathgenealogy.org. Mathematics Genealogy Project. Retrieved August 7, 2022.
- 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.
- "IBM Punch cards on which the book was written are in the Stanford Museum". Retrieved July 11, 2022.
- ^ Gries, D., ed. (1979). Programming Methodology: a Collection of Articles by Members of IFIP WG2.3. Monographs in Computer Science. New York: Springer Verlag.
- ^ "David Gries' Compiler book Source". Computer History Exhibits. Stanford University. Retrieved October 4, 2022.
- ^ Grune, Dick (May 20, 2010). "Compiler Construction before 1980". dickgrune.com.
- "ACM Turing Award Honors Innovators Who Shaped the Foundations of Programming Language Compilers and Algorithms" (Press release). Association for Computing Machinery. March 31, 2021.
- "Computer Text Is Updated". The Ithaca Journal. June 30, 1975. p. 6 – via Newspapers.com.
- ^ "Cornell Department of Computer Science -50 Years of Innovation". Cornell Dept of Computer Science. Retrieved September 2, 2022.
- ^ Gerhart, Susan L. (April 1982). "Two recent books on programming". SIGSOFT Software Engineering Notes. 7 (2): 63–64. doi:10.1145/1005937.1005948.
- Henderson, Peter (1987). "Modern introductory computer science". Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (SIGCSE '87). Association for Computing Machinery. pp. 183–190. doi:10.1145/31820.31756.
- ^ Bentley, Jon (December 1983). "Programming pearls: Writing correct programs". Communications of the ACM. 26 (12): 1040–1045. doi:10.1145/358476.358484.
- "IBM Punch cards on which the book was written are in the Stanford Museum". Retrieved July 11, 2022.
- ^ Owicki, Susan; Gries, David (1976). "Verifying properties of parallel programs: an axiomatic approach". CACM. 19 (5): 279–285. doi:10.1145/360051.360224.
- Owicki, Susan; Gries, David (June 25, 1976). "An axiomatic proof technique for parallel programs I". Acta Informatica. 6 (4). Berlin: Springer (Germany): 319–340. doi:10.1007/BF00268134.
- "Lifetime Achievement Award for Teaching". Cornell Bowers CIS, Cornell. Retrieved July 10, 2022.
- "Tau Beta Pi Professor of the Year". CEAA Alumni Association, College of Engineering, Cornell. Retrieved July 10, 2022.
- "ACM SIGCSE Technical Symposium Top Ten Papers of All Time Award". SIGCSE. Retrieved July 10, 2022.
- 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.
- "Awards". Cornell Bowers CIS - Computer Science. Retrieved September 8, 2022.
- The Cornell CS Department Timeline announces this doctorate
- The Cornell CS Department Timeline announces this doctorate
- "Weiss Presidential Fellow (for contributions to undergraduate education)". Cornell. Retrieved July 10, 2022.
- "Audio System for Technical Readings" (PDF) (PhD thesis). Retrieved July 9, 2022.
- "ACM Fellows". ACM. 1994. Retrieved July 9, 2022.
- "David Gries: ACM Fellow". ACM. 1994. Retrieved July 9, 2022.
- "Distinguished Service Award". CRA. Retrieved July 10, 2022.
- "Historic Fellows, AAAS". AAAS. Retrieved July 10, 2022.
- "David Gries - John Simon Guggenheim Memorial Foundation". 1983. Retrieved July 10, 2022.
- "ACM Programming Systems and Languages Paper Award". ACM. 1977. Retrieved July 7, 2022.
External links
- Official website
- Cornell University Science News: Computer association names Cornell's Gries an outstanding educator
- David Gries at the Mathematics Genealogy Project
- Books by David Gries (listed on Amazon)
- 1939 births
- Living people
- Programming language researchers
- American computer scientists
- Technical University of Munich alumni
- Cornell University faculty
- University of Georgia faculty
- Fellows of the Association for Computing Machinery
- Computer science educators
- Formal methods people
- American textbook writers
- American male non-fiction writers
- Computer science writers
- 20th-century American mathematicians
- 21st-century American mathematicians