Misplaced Pages

David Gries: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 17:34, 13 November 2022 editWasted Time R (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers74,036 edits Awards: rework a bit and add link to new article← Previous edit Latest revision as of 07:12, 13 September 2024 edit undoJJMC89 bot III (talk | contribs)Bots, Administrators3,692,968 editsm Moving Category:1994 Fellows of the Association for Computing Machinery to Category:1994 fellows of the Association for Computing Machinery per Misplaced Pages:Categories for discussion/Speedy 
(29 intermediate revisions by 17 users not shown)
Line 2: Line 2:
{{Use mdy dates|date=October 2022}} {{Use mdy dates|date=October 2022}}
{{Infobox scientist {{Infobox scientist
| name = David Gries | name = David Gries
| native_name = | native_name =
| native_name_lang = | native_name_lang =
| image = Image of David Gries.jpg | image = Image of David Gries.jpg
| image_size = | image_size =
| image_upright = | image_upright =
| alt = | alt =
| caption = David Gries in 2022 | caption = David Gries in 2022
| birth_name = <!-- If different from "name" --> | birth_name = <!-- If different from "name" -->
| birth_date = {{Birth date and age|1939|04|26}} | birth_date = {{Birth date and age|1939|04|26}}
| birth_place = ], ], ] | birth_place = ], ], ]
| death_date = <!--{{Death date and age |20yy|mm|dd |1939|04|26}} (death date then birth date)--> | death_date = <!--{{Death date and age |20yy|mm|dd |1939|04|26}} (death date then birth date)-->
| death_place = | death_place =
| death_cause = | death_cause =
| resting_place = | resting_place =
| resting_place_coordinates = <!--{{coord|LAT|LONG|type:landmark|display=inline,title}}--> | resting_place_coordinates = <!--{{coord|LAT|LONG|type:landmark|display=inline,title}}-->
| home_town = | home_town =
| other_names = | other_names =
| pronounce = | pronounce =
| fields = ]
| citizenship = United States
| workplaces = ]<br/>]<br/>]<br/>]
| fields = ]
| patrons =
| workplaces = ]<br/>]<br/>]<br/>]
| patrons = | education =
| alma_mater = {{plainlist |
| education = ]; ] (1960)<br/>]; ] (1963)<br/>]; ] (1966)
*] (])
| thesis_title = <!--(or | thesis1_title = and | thesis2_title = )-->
*] (])
| thesis_url = <!--(or | thesis1_url = and | thesis2_url = )-->
*] (])
| thesis_year = <!--(or | thesis1_year = and | thesis2_year = )-->
}}
| thesis_title = <!--(or | thesis1_title = and | thesis2_title = )-->
| thesis_url = <!--(or | thesis1_url = and | thesis2_url = )-->
| thesis_year = <!--(or | thesis1_year = and | thesis2_year = )-->
| doctoral_advisors = ]<br/>] | doctoral_advisors = ]<br/>]
| academic_advisors = | academic_advisors =
| doctoral_students = ] (1971)<br/>] (1975)<br/>] (1989)<br/>] (1994)<ref name="mathgenealogy">{{cite web |title=David Gries |url=https://mathgenealogy.org/id.php?id=22781 |website=mathgenealogy.org |publisher=] |access-date=August 7, 2022}}</ref> | doctoral_students = ] (1971)<br/>] (1975)<br/>] (1989)<br/>] (1994)<br/>] (2007)<ref name="mathgenealogy">{{cite web |title=David Gries |url=https://mathgenealogy.org/id.php?id=22781 |website=mathgenealogy.org |publisher=] |access-date=August 7, 2022}}</ref>
| known_for = First text on ] (1971)<ref name=GriesCompilers1971>{{Cite book |last=Gries |first=D. |date=1971 |title=Compiler Construction for Digital Computers |publisher=John Wiley and Sons |location=New York |isbn=0-471-32776-X|quote=The first text on compiler writing.}}</ref><ref name="stanford-ccdc"/><br>]<br>Contributions to ], algorithms, ]

| influences =
| known_for = First text on ] (1971)<ref name=GriesCompilers1971>{{Cite book |last=Gries |first=D. |date=1971 |title=Compiler Construction for Digital Computers |publisher=John Wiley and Sons |location=New York |isbn=0-471-32776-X|quote=The first text on compiler writing.}}</ref><ref name="stanford-ccdc"/><br>]<br>Contributions to ], algorithms, ]
| influenced =

| awards = {{plainlist|
| influences =
| influenced =
| awards = {{plainlist|
*] Education Award (1986) *] Education Award (1986)
*] ] Award for Outstanding Contributions to Computer Science Education (1991) *] ] Award for Outstanding Contributions to Computer Science Education (1991)
Line 43: Line 45:
|url=https://www.computer.org/volunteering/awards/booth |url=https://www.computer.org/volunteering/awards/booth
|title=Taylor L. Booth Education Award |title=Taylor L. Booth Education Award
|publisher=] |date=April 3, 2018
|publisher=]
|accessdate={{Format date|2022|07|09}}}}</ref> |accessdate={{Format date|2022|07|09}}}}</ref>
*ACM Karl V. Karlstrom Outstanding Educator Award (1995)<ref name="KarlstromAward">{{Cite web *ACM Karl V. Karlstrom Outstanding Educator Award (1995)<ref name="KarlstromAward">{{Cite web
Line 52: Line 55:
|access-date=2022-07-20}}</ref> |access-date=2022-07-20}}</ref>
}} }}
| spouse = | spouse =
| children = | children =
| signature = <!-- Filename only --> | signature = <!-- Filename only -->
| signature_alt = | signature_alt =
| website = {{URL|www.cs.cornell.edu/gries}} | website = {{URL|https://www.cs.cornell.edu/gries/|cs.cornell.edu/gries}}
| footnotes = | footnotes =
}} }}


'''David Gries''' (born April 26, 1939 in ], ]) is an American ] at ], ] mainly known for his books ''The Science of Programming'' (1981) and ''A Logical Approach to Discrete Math'' (1993, with ]). '''David Gries''' (born April 26, 1939) is an American ] at ], mainly known for his books ''The Science of Programming'' (1981) and ''A Logical Approach to Discrete Math'' (1993, with ]).


He was Associate Dean for Undergraduate Programs in the ] from 2003–2011. His research interests include programming methodology and related areas such as ]s, related ], and ]. His son, Paul Gries, has been a co-author of an introductory textbook to computer programming using the language ] and is a professor teaching Stream in the Department of Computer Science at the ]. He was associate dean for undergraduate programs at the ] from 2003–2011. His research interests include programming methodology and related areas such as ]s, related ], and ]. His son, Paul Gries, has been a co-author of an introductory textbook to computer programming using the language ] and is a teaching stream professor in the Department of Computer Science at the ].


==Life== ==Life==
Gries earned a ] (B.S.) from ] in 1960. He spent the next two years working as a programmer-mathematician for the ], where he met his wife, Elaine. Gries earned a ] (B.S.) from ] in 1960. He spent the next two years working as a programmer-mathematician for the ], where he met his wife, Elaine.


He earned a ] (M.S.) in ] from the ] in 1963. While at Illinois, Gries worked with ] and Ruediger Wiehle to write a full ] for the language ] for the ] ]. He earned his '']'' in 1966 from the ], studying under ] and ]. He earned a ] (M.S.) in ] from the ] in 1963. While at Illinois, Gries worked with ] and Ruediger Wiehle to write a full ] for the language ] for the ] ]. He earned his '']'' in 1966 from the ], studying under ] and ].
Line 71: Line 74:
Gries is member emeritus of ],<ref>{{Cite web Gries is member emeritus of ],<ref>{{Cite web
|title=IFIP Working Group 2.3 on Programming Methodology |title=IFIP Working Group 2.3 on Programming Methodology
|url=https://ifip-tc2-wg23.paluno.uni-due.de |url=https://ifip-tc2-wg23.paluno.uni-due.de/
|access-date=July 15, 2022
|archive-date=June 30, 2022
|archive-url=https://web.archive.org/web/20220630092827/https://ifip-tc2-wg23.paluno.uni-due.de/
|url-status=dead
}}</ref> whose aim is to increase programmers' ability to compose programs, and he edited }}</ref> 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'', ''Programming Methodology: a Collection of Articles by Members of IFIP WG2.3'',
Line 81: Line 88:
|publisher=Springer Verlag |publisher=Springer Verlag
|url=https://link.springer.com/book/10.1007/978-1-4612-6315-9 |url=https://link.springer.com/book/10.1007/978-1-4612-6315-9
|location=New York|doi=10.1007/978-1-4612-6315-9
|location=New York}}</ref> which highlights the work of this group in its first ten years.
|isbn=978-1-4612-6317-3
|s2cid=29484154
}}</ref> which highlights the work of this group in its first ten years.


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. 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. Gries had a ] in 1984–1985. He spent 1999–2002 at the ] in ] and returned to Cornell in January 2003.


By the late 1970s, a survey had Cornell as the fourth-ranked computer science program in the nation, with nationally visible faculty such as ], ], ], ], and Gries.<ref name="cdsun-111578"/> Many of them, like Gries, were especially known for their work in ].<ref name="cdsun-111578">{{cite news | url=https://cdsun.library.cornell.edu/cgi-bin/imageserver.pl?oid=CDS19781115&getpdf=true | title=Computer Dept. Wins Prominence Throughout U.S. | author-first=Michael | author-last=Palazzo | newspaper=The Cornell Daily Sun | date=November 15, 1978 | pages=1, 10, 11 }}</ref> Gries was an advocate of treating ] 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.<ref name="sigcse-sep95"/> 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.<ref name="cis-final">{{cite news | url=https://www.cs.cornell.edu/information/news/newsitem12269/david-gries-receives-2022-tau-beta-pi-professor-year-award-and | title=David Gries Receives 2022 Tau Beta Pi Professor of the Year Award and Delivers Final Lecture at Cornell | first=Louis | last=DiPietro | first2= David | last2=LaRocca | publisher=Cornell Bowers CIS | date=May 25, 2022 }}</ref> Cornell's computer science program maintained its prominence, placing sixth overall and third in theory in ]s for 2022.<ref>{{cite web | url=https://www.usnews.com/best-graduate-schools/top-science-schools/computer-science-rankings?_sort=rank-asc | title=Best Computer Science Schools | work=U.S. News & World Report | date=2022 | access-date=October 29, 2022}} Also .</ref> Gries was an advocate of treating ] 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.<ref name="sigcse-sep95"/> 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.<ref name="cis-final">{{cite news | url=https://www.cs.cornell.edu/information/news/newsitem12269/david-gries-receives-2022-tau-beta-pi-professor-year-award-and | title=David Gries Receives 2022 Tau Beta Pi Professor of the Year Award and Delivers Final Lecture at Cornell | first1=Louis | last1=DiPietro | first2= David | last2=LaRocca | publisher=Cornell Bowers CIS | date=May 25, 2022 }}</ref>


He is author, co-author, or editor of seven textbooks and 75 research papers. His papers are archived at Cornell.<ref>{{cite web|url=https://catalog.library.cornell.edu/catalog/15707084|title=David Gries papers, #16-13-4524. Division of Rare and Manuscript Collections, Cornell University Library.|accessdate=12 October 2023}}</ref>
Gries 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== ==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="stanford-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> 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="stanford-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"/> 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&ndash;190 | doi=10.1145/31820.31756 }}</ref> and then provides practical stratagems 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 stratagem 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&ndash;64 | doi=10.1145/1005937.1005948 }}</ref> Writing in '']'', computer scientist ] said ''The Science of Programming'' was an "an excellent introduction to the 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&ndash;190 | doi=10.1145/31820.31756 | doi-access=free | isbn=0-89791-217-9 }}</ref> and then provides practical stratagems 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 stratagem 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&ndash;64 | doi=10.1145/1005937.1005948 | s2cid=40374643 }}</ref> Writing in '']'', computer scientist ] 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.<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&ndash;1045 | doi=10.1145/358476.358484 }}</ref> 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= ] | volume=26 | number= 12 | date=December 1983 | pages= 1040&ndash;1045 | doi=10.1145/358476.358484 | s2cid=6134319 | doi-access=free }}</ref>


''A Logical Approach to Discrete Math'' was co-authored with ] and published in 1993.<ref name="sigcse-sep95"/> A paper from a faculty member at ] advocating teaching the subjects the book covered to first-year undergraduates and called it "an ideal text covering predicate calculus for use in programming."<ref>{{cite conference | first=Richard | last=Denman | first2=David A. | last2=Naumann | first3=Walter | last3=Potter | first4=Gary | last4=Richter | year=1994 | contribution=Derivation of programs for freshmen | title= Proceedings of the twenty-fifth SIGCSE symposium on Computer science education (SIGCSE '94) | publisher= Association for Computing Machinery | pages= 116&ndash;120 | doi=10.1145/191029.191077 }}</ref> Similarly, a faculty member at ] stated that, "My experience with ''A Logical Approach to Discrete Math'' convinced me that formal methods are easily mastered at the undergraduate level."<ref name="sigcse-sep95">{{cite journal | first=J. Stanley | last=Warford | title= An experience teaching formal methods in discrete mathematics | journal = SIGCSE Bulletin | volume= 27 | number=3 | date=September 1995 | pages=60&ndash;64 | doi=10.1145/209849.209860 }}</ref> ''A Logical Approach to Discrete Math'' was co-authored with ] and published in 1993.<ref name="sigcse-sep95"/> A paper from a faculty member at ] advocating teaching the subjects the book covered to first-year undergraduates and called it "an ideal text covering predicate calculus for use in programming."<ref>{{cite conference | first1=Richard | last1=Denman | first2=David A. | last2=Naumann | first3=Walter | last3=Potter | first4=Gary | last4=Richter | year=1994 | contribution=Derivation of programs for freshmen | title= Proceedings of the twenty-fifth SIGCSE symposium on Computer science education (SIGCSE '94) | publisher= Association for Computing Machinery | pages= 116&ndash;120 | doi=10.1145/191029.191077 | doi-access=free | isbn=0-89791-646-8 }}</ref> Similarly, a faculty member at ] stated that, "My experience with ''A Logical Approach to Discrete Math'' convinced me that formal methods are easily mastered at the undergraduate level."<ref name="sigcse-sep95">{{cite journal | first=J. Stanley | last=Warford | title= An experience teaching formal methods in discrete mathematics | journal = SIGCSE Bulletin | volume= 27 | number=3 | date=September 1995 | pages=60&ndash;64 | doi=10.1145/209849.209860 | s2cid=14599744 | doi-access=free }}</ref>


==Selected works== ==Selected works==
Line 117: Line 125:
|title=Verifying properties of parallel programs: an axiomatic approach |title=Verifying properties of parallel programs: an axiomatic approach
|doi=10.1145/360051.360224 |doi=10.1145/360051.360224
|journal=] |journal=Communications of the ACM
|volume=19 |volume=19
|issue=5 |issue=5
|pages=279&ndash;285 |pages=279&ndash;285
|year=1976 |year=1976
|s2cid=9099351
|url=https://dl.acm.org/doi/10.1145/360051.360224
|doi-access=free
}} }}
*{{cite journal *{{cite journal
Line 140: Line 149:
|date=1976 |date=1976
|doi=10.1007/BF00268134 |doi=10.1007/BF00268134
|s2cid=206773583
|url=https://doi.org/10.1007/BF00268134}} |url=https://doi.org/10.1007/BF00268134}}
*Gries, D., ed. (1979) ''Programming Methodology: a Collection of Articles by Members of IFIP WG2.3''<ref name="WG23Book" /> *Gries, D., ed. (1979) ''Programming Methodology: a Collection of Articles by Members of IFIP WG2.3''<ref name="WG23Book" />
Line 151: Line 161:
|url=https://link.springer.com/book/10.1007/978-1-4612-5983-1 |url=https://link.springer.com/book/10.1007/978-1-4612-5983-1
|location=New York |location=New York
|doi=10.1007/978-1-4612-5983-1
|isbn=978-0-387-96480-5
|s2cid=37034126
|language=English, Spanish, Japanese, Chinese, Italian, Russian}} |language=English, Spanish, Japanese, Chinese, Italian, Russian}}
*{{Cite book *{{Cite book
Line 166: Line 179:
|publisher=Springer Verlag |publisher=Springer Verlag
|url=https://link.springer.com/book/10.1007/978-1-4612-4476-9 |url=https://link.springer.com/book/10.1007/978-1-4612-4476-9
|location=New York}} |location=New York|doi=10.1007/978-1-4612-4476-9
|isbn=978-1-4612-8792-6
|s2cid=24379938
}}
*{{Cite book |last1=Gries |first1=D. |last2=Schneider |first2=F. B. |date=1993 |title=A Logical Approach to Discrete Math *{{Cite book |last1=Gries |first1=D. |last2=Schneider |first2=F. B. |date=1993 |title=A Logical Approach to Discrete Math
|series=Monographs in Computer Science |series=Monographs in Computer Science
|publisher=Springer Verlag |publisher=Springer Verlag
|url=https://link.springer.com/book/10.1007/978-1-4757-3837-7 |url=https://link.springer.com/book/10.1007/978-1-4757-3837-7
|location=New York}} |location=New York|doi=10.1007/978-1-4757-3837-7 |isbn=978-1-4419-2835-1 |s2cid=206657798 }}
*{{Cite book |editor-last=Gries |editor-first=D. |editor2-last=De Roever |editor2-first=W. P. |date=1998 *{{Cite book |editor-last=Gries |editor-first=D. |editor2-last=De Roever |editor2-first=W. P. |date=1998
|journal=<!-- --> |series=IFIP Advances in Information and Communication Technology
|title=Programming Concepts and Methods, PROCOMET '98
|series=IFIP Advances in Information and Communication Technology
|publisher=Springer |publisher=Springer
|url=https://link.springer.com/book/10.1007/978-0-387-35358-6 |url=https://link.springer.com/book/10.1007/978-0-387-35358-6
|location=London|doi=10.1007/978-0-387-35358-6 |isbn=978-1-4757-6299-0 |s2cid=30793173 |title=Programming Concepts and Methods PROCOMET '98 }}
|location=London}}
*{{Cite book |last1=Gries |first1=D. |last2=Gries |first2=P. |date=2004 *{{Cite book |last1=Gries |first1=D. |last2=Gries |first2=P. |date=2004
|title=Multimedia Introduction to Programming Using Java |publisher=Springer Verlag |title=Multimedia Introduction to Programming Using Java |publisher=Springer Verlag
|quote=Came with a CD called 'Program Live' with videos. |quote=Came with a CD called 'Program Live' with videos.
|url=https://link.springer.com/book/10.1007/b138328 |url=https://link.springer.com/book/10.1007/b138328
|location=New York}} |location=New York|doi=10.1007/b138328 |isbn=0-387-22681-8 }}
*{{Cite book |last1=Gries |first1=D.|date=2022 *{{Cite book |last1=Gries |first1=D.|date=2022
|title=JavaHyperText and Data Structures |title=JavaHyperText and Data Structures
Line 190: Line 205:


==Awards== ==Awards==
*Lifetime Achievement Award for Teaching from ] – inaugural recipient<ref>{{Cite web *Lifetime Achievement Award for Teaching from ] – inaugural recipient<ref>{{Cite web


|url=https://cis.cornell.edu/inaugural-excellence-awards |url=https://cis.cornell.edu/inaugural-excellence-awards


|title=Lifetime Achievement Award for Teaching |title=Lifetime Achievement Award for Teaching
Line 199: Line 214:


|access-date=2022-07-10}}</ref> (2022) |access-date=2022-07-10}}</ref> (2022)
*Tau Beta Pi Professor of the Year<ref>{{Cite web *Tau Beta Pi Professor of the Year<ref>{{Cite web


|url=https://www.engineering.cornell.edu/alumni/ceaa-alumni-association/ceaa-awards/tau-beta-pi-professor-year-awards |url=https://www.engineering.cornell.edu/alumni/ceaa-alumni-association/ceaa-awards/tau-beta-pi-professor-year-awards


|title=Tau Beta Pi Professor of the Year |title=Tau Beta Pi Professor of the Year
Line 212: Line 227:
|url=https://sigcse.org/programs/awards/SIGCSE-top-10-all-time.html |url=https://sigcse.org/programs/awards/SIGCSE-top-10-all-time.html


|title=ACM SIGCSE Technical Symposium Top Ten Papers of All Time Award |title=ACM SIGCSE Technical Symposium Top Ten Papers of All Time Award


|publisher=] |publisher=]
Line 218: Line 233:
|accessdate={{Format date|2022|07|10}}}}</ref><ref name="WhatShouldWeTeach">{{Cite journal |accessdate={{Format date|2022|07|10}}}}</ref><ref name="WhatShouldWeTeach">{{Cite journal


|last1=Gries |last1=Gries


|first1=David |first1=David


|authorlink1=David Gries |authorlink1=David Gries


|title=What should we teach in an introductory programming course? |title=What should we teach in an introductory programming course?


|doi=10.1145/953057.810447 |doi=10.1145/953057.810447


|journal=] |journal=]


|volume=6 |volume=6


|issue=1 |issue=1


|pages=81&ndash;89 |pages=81&ndash;89


|date=February 1974 |date=February 1974


|url=https://dl.acm.org/doi/10.1145/953057.810447 |url=https://dl.acm.org/doi/10.1145/953057.810447


}}</ref> (2019)
|df=
*] Booker Prize, with Paul Gries (2016)<ref name=GriesAwardsOnCS>{{cite web

}}</ref> (2019)
*] Booker Prize, with Paul Gries (2016)<ref name=GriesAwardsOnCS>{{cite web


|url=https://www.cs.cornell.edu/information/awards-by-recipient |url=https://www.cs.cornell.edu/information/awards-by-recipient


|title=Awards |title=Awards


|website=Cornell Bowers CIS - Computer Science |website=Cornell Bowers CIS - Computer Science
Line 254: Line 267:
*Honorary Doctor of Science, ], Oxford, Ohio (1999){{refn|The Cornell CS Department Timeline<ref name="Doctorate">{{cite web *Honorary Doctor of Science, ], Oxford, Ohio (1999){{refn|The Cornell CS Department Timeline<ref name="Doctorate">{{cite web


|url=https://www.cs.cornell.edu/information/timeline |url=https://www.cs.cornell.edu/information/timeline


|title=Cornell Department of Computer Science -50 Years of Innovation |title=Cornell Department of Computer Science -50 Years of Innovation
Line 264: Line 277:
|accessdate=2022-09-02}}</ref> announces this doctorate}} |accessdate=2022-09-02}}</ref> announces this doctorate}}
*Honorary Doctor of Laws, ], Nashua, New Hampshire (1996){{refn|The Cornell CS Department Timeline<ref name="Doctorate" /> announces this doctorate}} *Honorary Doctor of Laws, ], Nashua, New Hampshire (1996){{refn|The Cornell CS Department Timeline<ref name="Doctorate" /> announces this doctorate}}
*{{Cite web *{{Cite web


|url=https://awards.acm.org/karlstrom |url=https://awards.acm.org/karlstrom


|title=ACM Karl V. Karlstrom Outstanding Educator Award}} (1995) |title=ACM Karl V. Karlstrom Outstanding Educator Award}} (1995)
*Weiss Presidential Fellow<ref>{{Cite web *Weiss Presidential Fellow<ref>{{Cite web


|url=https://theuniversityfaculty.cornell.edu/dean/awards/the-stephen-h-weiss-awards/stephen-h-weiss-fellow-award-winners-by-year/ |url=https://theuniversityfaculty.cornell.edu/dean/awards/the-stephen-h-weiss-awards/stephen-h-weiss-fellow-award-winners-by-year/


|title=Weiss Presidential Fellow (for contributions to undergraduate education) |title=Weiss Presidential Fellow (for contributions to undergraduate education)


|publisher=] |publisher=]


|access-date=2022-07-10}}</ref> –among the first ten Fellows (1995) |access-date=2022-07-10}}</ref> –among the first ten Fellows (1995)
* Advisor of T.V. Raman, whose Ph.D. thesis<ref>{{cite web * Advisor of T.V. Raman, whose Ph.D. thesis<ref>{{cite web


|url=https://www.cs.cornell.edu/info/people/raman/phd-thesis/aster-thesis.pdf |url=https://www.cs.cornell.edu/info/people/raman/phd-thesis/aster-thesis.pdf
Line 284: Line 297:
|title=Audio System for Technical Readings |title=Audio System for Technical Readings


|type=PhD thesis |type=PhD thesis


|access-date=2022-07-09}}</ref> won the annual {{cite web |access-date=2022-07-09}}</ref> won the annual {{cite web
Line 293: Line 306:
*] {{cite web *] {{cite web


|url=https://www.computer.org/volunteering/awards/booth |url=https://www.computer.org/volunteering/awards/booth


|title=Taylor L. Booth Education Award}} (1994) |title=Taylor L. Booth Education Award|date=April 3, 2018 }} (1994)


*Charter Fellow, ]<ref>{{Cite web *Charter Fellow, ]<ref>{{Cite web


|url=https://awards.acm.org/fellows |url=https://awards.acm.org/fellows


|title=ACM Fellows |title=ACM Fellows


|publisher=] |publisher=]


|date=1994 |date=1994


|access-date=2022-07-09}}</ref><ref>{{Cite web |access-date=2022-07-09}}</ref><ref>{{Cite web


|url=https://awards.acm.org/award_winners/gries_1028422 |url=https://awards.acm.org/award_winners/gries_1028422


|title=David Gries: ACM Fellow |title=David Gries: ACM Fellow


|publisher=] |publisher=]


|date=1994 |date=1994


|access-date=2022-07-09}}</ref> (1994) |access-date=2022-07-09}}</ref> (1994)
Line 322: Line 335:
|url=https://cra.org/about/awards/distinguished-service-award/ |url=https://cra.org/about/awards/distinguished-service-award/


|title=Distinguished Service Award |title=Distinguished Service Award


|publisher=] | date=January 16, 2015 |publisher=]


|accessdate={{Format date|2022|07|10}}}}</ref> (1991) |accessdate={{Format date|2022|07|10}}}}</ref> (1991)
*Fellow, ]<ref>{{Cite web *Fellow, ]<ref>{{Cite web


|url=https://www.aaas.org/fellows/historic |url=https://www.aaas.org/fellows/historic
Line 333: Line 346:
|title=Historic Fellows, AAAS |title=Historic Fellows, AAAS


|publisher=] |publisher=]


|access-date=2022-07-10}}</ref> (1990) |access-date=2022-07-10}}</ref> (1990)
*] ] (1991) *] ] (1991)
*] Education Award (1986) *] Education Award (1986)
*]<ref>{{Cite web *]<ref>{{Cite web


|url=https://www.gf.org/fellows/all-fellows/david-gries/ |url=https://www.gf.org/fellows/all-fellows/david-gries/


|title=David Gries - John Simon Guggenheim Memorial Foundation |title=David Gries - John Simon Guggenheim Memorial Foundation


|date=1983 |date=1983


|access-date=2022-07-10}}</ref> (1983) |access-date=2022-07-10}}</ref> (1983)
*ACM Programming Systems and Languages Paper Award, with ],<ref>{{cite web *ACM Programming Systems and Languages Paper Award, with ],<ref>{{cite web


|url=https://awards.acm.org/programming-systems-and-languages-paper |url=https://awards.acm.org/programming-systems-and-languages-paper


|title=ACM Programming Systems and Languages Paper Award |title=ACM Programming Systems and Languages Paper Award


|publisher=] |publisher=]
Line 359: Line 372:
|accessdate=2022-07-07}}</ref> for the "Verifying properties of parallel programs: an axiomatic approach" paper (1977) |accessdate=2022-07-07}}</ref> for the "Verifying properties of parallel programs: an axiomatic approach" paper (1977)
* 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==
Line 384: Line 394:
] ]
] ]
] ]
]
] ]
] ]
Line 392: Line 401:
] ]
] ]
]

Latest revision as of 07:12, 13 September 2024

American computer scientist

David Gries
David Gries in 2022
Born (1939-04-26) April 26, 1939 (age 85)
Flushing, Queens, New York, United States
Alma mater
Known forFirst text on Compiler construction (1971)
Interference freedom
Contributions to programming methodology, algorithms, CS education
Awards
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)
Websitecs.cornell.edu/gries

David Gries (born April 26, 1939) is an American computer scientist at Cornell University, 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 United States 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, 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. 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.

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. 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.

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

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 stratagems 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 stratagem 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 excellent introduction to the field" and said that professional programmers could benefit from studying it and using program verification techniques in their own projects.

A Logical Approach to Discrete Math was co-authored with Fred B. Schneider and published in 1993. 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." 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."

Selected works

Awards

References

  1. "Taylor L. Booth Education Award". IEEE-CS. April 3, 2018. Retrieved July 9, 2022.
  2. "ACM Karl V. Karlstrom Outstanding Educator Award". ACM. 1995. Retrieved July 20, 2022.
  3. "David Gries". mathgenealogy.org. Mathematics Genealogy Project. Retrieved August 7, 2022.
  4. 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.
  5. ^ "David Gries' Compiler book Source". Computer History Exhibits. Stanford University. Retrieved October 4, 2022.
  6. "IFIP Working Group 2.3 on Programming Methodology". Archived from the original on June 30, 2022. Retrieved July 15, 2022.
  7. ^ 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. S2CID 29484154.
  8. ^ Warford, J. Stanley (September 1995). "An experience teaching formal methods in discrete mathematics". SIGCSE Bulletin. 27 (3): 60–64. doi:10.1145/209849.209860. S2CID 14599744.
  9. 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.
  10. "David Gries papers, #16-13-4524. Division of Rare and Manuscript Collections, Cornell University Library". Retrieved October 12, 2023.
  11. ^ Grune, Dick (May 20, 2010). "Compiler Construction before 1980". dickgrune.com.
  12. "ACM Turing Award Honors Innovators Who Shaped the Foundations of Programming Language Compilers and Algorithms" (Press release). Association for Computing Machinery. March 31, 2021.
  13. "Computer Text Is Updated". The Ithaca Journal. June 30, 1975. p. 6 – via Newspapers.com.
  14. ^ "Cornell Department of Computer Science -50 Years of Innovation". Cornell Dept of Computer Science. Retrieved September 2, 2022.
  15. ^ Gerhart, Susan L. (April 1982). "Two recent books on programming". SIGSOFT Software Engineering Notes. 7 (2): 63–64. doi:10.1145/1005937.1005948. S2CID 40374643.
  16. 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. ISBN 0-89791-217-9.
  17. ^ Bentley, Jon (December 1983). "Programming pearls: Writing correct programs". Communications of the ACM. 26 (12): 1040–1045. doi:10.1145/358476.358484. S2CID 6134319.
  18. Denman, Richard; Naumann, David A.; Potter, Walter; Richter, Gary (1994). "Derivation of programs for freshmen". 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. ISBN 0-89791-646-8.
  19. "Lifetime Achievement Award for Teaching". Cornell Bowers CIS, Cornell. Retrieved July 10, 2022.
  20. "Tau Beta Pi Professor of the Year". CEAA Alumni Association, College of Engineering, Cornell. Retrieved July 10, 2022.
  21. "ACM SIGCSE Technical Symposium Top Ten Papers of All Time Award". SIGCSE. Retrieved July 10, 2022.
  22. 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.
  23. "Awards". Cornell Bowers CIS - Computer Science. Retrieved September 8, 2022.
  24. The Cornell CS Department Timeline announces this doctorate
  25. The Cornell CS Department Timeline announces this doctorate
  26. "Weiss Presidential Fellow (for contributions to undergraduate education)". Cornell. Retrieved July 10, 2022.
  27. "Audio System for Technical Readings" (PDF) (PhD thesis). Retrieved July 9, 2022.
  28. "ACM Fellows". ACM. 1994. Retrieved July 9, 2022.
  29. "David Gries: ACM Fellow". ACM. 1994. Retrieved July 9, 2022.
  30. "Distinguished Service Award". CRA. January 16, 2015. Retrieved July 10, 2022.
  31. "Historic Fellows, AAAS". AAAS. Retrieved July 10, 2022.
  32. "David Gries - John Simon Guggenheim Memorial Foundation". 1983. Retrieved July 10, 2022.
  33. "ACM Programming Systems and Languages Paper Award". ACM. 1977. Retrieved July 7, 2022.

External links

ALGOL programming
Implementations
Technical
standards
Dialects
Formalisms
Community
Organizations
Professional
associations
Business
Education
Government
People
ALGOL 58
MAD
ALGOL 60
Simula
ALGOL 68
Comparison
  • ALGOL 58 influence on ALGOL 60
  • ALGOL 68 to other languages
  • ALGOL 68 to C++
  • Categories: