stringtranslate.com

David Gries

David Gries (nacido el 26 de abril de 1939) es un científico informático estadounidense de la Universidad de Cornell , principalmente conocido por sus libros The Science of Programming (1981) y A Logical Approach to Discrete Math (1993, con Fred B. Schneider ).

Fue decano asociado de programas de pregrado en la Facultad de Ingeniería de la Universidad de Cornell entre 2003 y 2011. Sus intereses de investigación incluyen la metodología de programación y áreas relacionadas, como lenguajes de programación , semántica relacionada y lógica . Su hijo, Paul Gries, ha sido coautor de un libro de texto introductorio a la programación informática utilizando el lenguaje Python y es profesor de la rama docente en el Departamento de Ciencias de la Computación de la Universidad de Toronto .

Vida

Gries obtuvo una Licenciatura en Ciencias (BS) en el Queens College en 1960. Pasó los dos años siguientes trabajando como programador-matemático para el Laboratorio de Armas Navales de los Estados Unidos , donde conoció a su esposa, Elaine.

Obtuvo una Maestría en Ciencias (MS) en matemáticas de la Universidad de Illinois en Urbana-Champaign en 1963. Mientras estaba en Illinois, Gries trabajó con Manfred Paul y Ruediger Wiehle para escribir un compilador completo para el lenguaje ALGOL 60 para la computadora central IBM 7090. Obtuvo su doctorado rer. nat. en 1966 de la TH München , estudiando con Friedrich L. Bauer y Josef Stoer .

Gries es miembro emérito del Grupo de Trabajo 2.3 del IFIP , [6] cuyo objetivo es aumentar la capacidad de los programadores para componer programas, y editó Metodología de programación: una colección de artículos de miembros del WG2.3 del IFIP , [7] que destaca el trabajo de este grupo en sus primeros diez años.

Gries fue profesor asistente en la Universidad de Stanford de 1966 a 1969 y luego se convirtió en profesor asociado en la Universidad de Cornell en Ithaca, Nueva York . Pasó los siguientes 30 años allí, incluido el tiempo como presidente del departamento de informática de 1982 a 1987. Gries tuvo una beca Guggenheim en 1984-1985. Pasó de 1999 a 2002 en la Universidad de Georgia en Atenas y regresó a Cornell en enero de 2003.

Gries era un defensor de tratar los métodos formales en programación como un tema central de la informática y de enseñarlos a los estudiantes universitarios, una postura que generó mucho debate dentro de la comunidad educativa en informática. [8] Alrededor de 700 estudiantes y compañeros de la facultad asistieron a su conferencia final, impartida en su clase de "Programación y estructuras de datos", en mayo de 2022. [9]

Es autor, coautor o editor de siete libros de texto y 75 artículos de investigación. Sus artículos están archivados en Cornell. [10]

A partir de 2021 , vive en Ithaca, Nueva York .

Libros de texto

El trabajo de Gries de 1971, Compiler Construction for Digital Computers, fue el primer libro de texto que se publicó sobre el diseño e implementación de compiladores de lenguajes . [5] [11] También fue uno de los primeros libros de texto que se escribieron y produjeron utilizando computadoras, en este caso tarjetas perforadas que ingresaban a un programa de formato de texto que se ejecutaba en un IBM System/360 Model 65 ; [5] la tecnología temprana utilizada finalmente resultó en que el libro tuviera una apariencia algo anticuada. [11] Compiler Construction for Digital Computers se vendió bien y tuvo más de veinte ediciones, [5] aunque con el tiempo sería eclipsado en renombre por "el Libro del Dragón", el volumen de 1977 de Alfred V. Aho y Jeffrey D. Ullman Principles of Compiler Design . [12] No obstante, el científico informático holandés Dick Grune ha escrito sobre Compiler Construction for Digital Computers que "generaciones enteras de constructores de compiladores han crecido con él y no se han arrepentido". [11]

El libro de texto Introducción a la programación: un enfoque estructurado con PL/I y PL/C fue coescrito con su compañero de universidad en ciencias de la computación, Richard W. Conway , y publicado en 1973. Utilizaba el dialecto PL/C desarrollado en Cornell y pasó por varias ediciones y adaptaciones. Hizo hincapié en la disciplina de la programación estructurada en todo momento, convirtiéndose en uno de los libros de texto más destacados en hacerlo, [13] e introdujo consideraciones sobre la corrección del programa , convirtiéndose en el primer libro de texto introductorio en hacerlo. [14]

En 1981, Gries publicó The Science of Programming , un libro de texto que cubre la verificación de programas . [15] Presenta el cálculo proposicional y lo utiliza para formalizar el tratamiento de precondiciones , poscondiciones , invariantes y entidades relacionadas, [16] y luego proporciona estratagemas prácticas para el desarrollo de programas mediante la identificación de esas entidades lógicas a partir de una especificación de problemas. [17] Una revisión en SIGSOFT Software Engineering Notes encontró que el libro era valioso en los aspectos de lógica y estratagema, pero demasiado centrado en la programación de bajo nivel sin tipos de datos abstractos discutidos aparte de la simple matriz . [15] Escribiendo en Communications of the ACM , el científico informático Jon Bentley dijo que The Science of Programming era "una excelente introducción al campo" y dijo que los programadores profesionales podrían beneficiarse de estudiarlo y usar técnicas de verificación de programas en sus propios proyectos. [17]

Un enfoque lógico para las matemáticas discretas fue escrito en coautoría con Fred B. Schneider y publicado en 1993. [8] Un miembro de la facultad de la Universidad Southwestern defendía la enseñanza de los temas que cubría el libro a los estudiantes de primer año de licenciatura y lo calificaba de "un texto ideal que cubre el cálculo de predicados para su uso en programación". [18] De manera similar, un miembro de la facultad de la Universidad Pepperdine afirmó que "mi experiencia con Un enfoque lógico para las matemáticas discretas me convenció de que los métodos formales se dominan fácilmente en el nivel de licenciatura". [8]

Obras seleccionadas

Premios

Referencias

  1. ^ "Premio de Educación Taylor L. Booth". IEEE-CS . 3 de abril de 2018 . Consultado el 9 de julio de 2022 .
  2. ^ "Premio ACM Karl V. Karlstrom al educador destacado". ACM . 1995 . Consultado el 20 de julio de 2022 .
  3. ^ "David Gries". mathgenealogy.org . Proyecto de genealogía matemática . Consultado el 7 de agosto de 2022 .
  4. ^ Gries, D. (1971). Construcción de compiladores para computadoras digitales . Nueva York: John Wiley and Sons. ISBN 0-471-32776-X. El primer texto sobre la escritura de compiladores.
  5. ^ abcde "Fuente del libro Compiler de David Gries". Exposiciones de Historia de la Computación . Universidad de Stanford . Consultado el 4 de octubre de 2022 .
  6. ^ "Grupo de trabajo 2.3 del IFIP sobre metodología de programación". Archivado desde el original el 30 de junio de 2022 . Consultado el 15 de julio de 2022 .
  7. ^ ab Gries, D., ed. (1979). Metodología de programación: una colección de artículos de miembros del IFIP WG2.3. Monografías en informática. Nueva York: Springer Verlag. doi :10.1007/978-1-4612-6315-9. ISBN 978-1-4612-6317-3.S2CID29484154  .​
  8. ^ abc Warford, J. Stanley (septiembre de 1995). "Una experiencia en la enseñanza de métodos formales en matemáticas discretas". Boletín SIGCSE . 27 (3): 60–64. doi : 10.1145/209849.209860 . S2CID  14599744.
  9. ^ DiPietro, Louis; LaRocca, David (25 de mayo de 2022). "David Gries recibe el premio al Profesor del Año Tau Beta Pi 2022 y ofrece su última conferencia en Cornell". Cornell Bowers CIS.
  10. ^ "Documentos de David Gries, n.º 16-13-4524. División de colecciones de manuscritos y rarezas, biblioteca de la Universidad de Cornell" . Consultado el 12 de octubre de 2023 .
  11. ^ abc Grune, Dick (20 de mayo de 2010). "Construcción de compiladores antes de 1980". dickgrune.com.
  12. ^ "El premio Turing de la ACM honra a los innovadores que dieron forma a las bases de los compiladores y algoritmos de lenguajes de programación" (nota de prensa). Association for Computing Machinery. 31 de marzo de 2021.
  13. ^ "El texto de la computadora se actualiza". The Ithaca Journal . 30 de junio de 1975. pág. 6 – vía Newspapers.com.
  14. ^ abc "Departamento de Ciencias de la Computación de Cornell: 50 años de innovación". Departamento de Ciencias de la Computación de Cornell . Consultado el 2 de septiembre de 2022 .
  15. ^ ab Gerhart, Susan L. (abril de 1982). "Dos libros recientes sobre programación". Notas de ingeniería de software de SIGSOFT . 7 (2): 63–64. doi :10.1145/1005937.1005948. S2CID  40374643.
  16. ^ Henderson, Peter (1987). "Introducción a la informática moderna". Actas del decimoctavo simposio técnico de SIGCSE sobre educación en informática (SIGCSE '87) . Association for Computing Machinery. págs. 183–190. doi : 10.1145/31820.31756 . ISBN . 0-89791-217-9.
  17. ^ ab Bentley, Jon (diciembre de 1983). "Perlas de programación: Cómo escribir programas correctos". Comunicaciones de la ACM . 26 (12): 1040–1045. doi : 10.1145/358476.358484 . S2CID  6134319.
  18. ^ Denman, Richard; Naumann, David A.; Potter, Walter; Richter, Gary (1994). "Derivación de programas para estudiantes de primer año". Actas del vigésimo quinto simposio SIGCSE sobre educación en ciencias de la computación (SIGCSE '94) . Association for Computing Machinery. págs. 116–120. doi : 10.1145/191029.191077 . ISBN . 0-89791-646-8.
  19. ^ "Premio a la trayectoria docente". Cornell Bowers CIS, Cornell . Consultado el 10 de julio de 2022 .
  20. ^ "Profesor del año de Tau Beta Pi". Asociación de exalumnos de la CEAA, Facultad de Ingeniería, Cornell . Consultado el 10 de julio de 2022 .
  21. ^ "Premio a los diez mejores artículos de todos los tiempos del Simposio Técnico ACM SIGCSE". SIGCSE . Consultado el 10 de julio de 2022 .
  22. ^ Gries, David (febrero de 1974). "¿Qué deberíamos enseñar en un curso introductorio de programación?". Boletín ACM SIGCSE . 6 (1): 81–89. doi :10.1145/953057.810447.
  23. ^ "Premios". Cornell Bowers CIS - Ciencias de la Computación . Consultado el 8 de septiembre de 2022 .
  24. ^ La línea de tiempo del Departamento de Ciencias de la Computación de Cornell [14] anuncia este doctorado
  25. ^ La línea de tiempo del Departamento de Ciencias de la Computación de Cornell [14] anuncia este doctorado
  26. ^ "Weiss Presidential Fellow (por contribuciones a la educación de pregrado)". Cornell . Consultado el 10 de julio de 2022 .
  27. ^ "Sistema de audio para lecturas técnicas" (PDF) (tesis doctoral) . Consultado el 9 de julio de 2022 .
  28. ^ "ACM Fellows". ACM . 1994 . Consultado el 9 de julio de 2022 .
  29. ^ "David Gries: ACM Fellow". ACM . 1994 . Consultado el 9 de julio de 2022 .
  30. ^ "Premio al Servicio Distinguido". CRA . 16 de enero de 2015 . Consultado el 10 de julio de 2022 .
  31. ^ "Historic Fellows, AAAS". AAAS . Consultado el 10 de julio de 2022 .
  32. ^ "David Gries - Fundación Memorial John Simon Guggenheim". 1983. Consultado el 10 de julio de 2022 .
  33. ^ "Premio ACM de Sistemas y Lenguajes de Programación". ACM . 1977 . Consultado el 7 de julio de 2022 .

Enlaces externos