Articulo de referencia

Sobre la crueldad de enseñar informática de verdad

" Sobre la crueldad de enseñar realmente ciencias de la computación " es un artículo académico de 1988 de EW Dijkstra [ 1 ] que argumenta que la programación de computadoras deb...

" Sobre la crueldad de enseñar realmente ciencias de la computación " es un artículo académico de 1988 de EW Dijkstra [ 1 ] que argumenta que la programación de computadoras debe entenderse como una rama de las matemáticas y que la demostrabilidad formal de un programa es un criterio importante para la corrección.

A pesar del título, la mayor parte del artículo trata sobre el intento de Dijkstra de situar la informática en una perspectiva más amplia dentro de la ciencia , abordando la enseñanza como un corolario al final. En concreto, Dijkstra presentó una «propuesta para un curso introductorio de programación para estudiantes de primer año» que consistía en la lógica de Hoare como un sistema formal no interpretado .

Debate sobre la viabilidad

Desde que se acuñó el término "ingeniería de software", la verificación formal casi siempre se ha considerado demasiado costosa en recursos para ser factible. En aplicaciones complejas, la dificultad de especificar correctamente qué debe hacer el programa desde el principio también es una fuente común de errores. Generalmente se emplean otros métodos de prueba de software para intentar eliminar errores y se consideran muchos otros factores en la medición de la calidad del software .

Hasta el final de su vida, Dijkstra sostuvo que los desafíos centrales de la informática no se habían abordado a su entera satisfacción, debido a un énfasis insuficiente en la corrección de los programas (aunque esto no obviaba otros requisitos, como la mantenibilidad y la eficiencia ). [ 2 ]

Legado pedagógico

La informática tal como se enseña hoy en día no sigue todos los consejos de Dijkstra. Los planes de estudio generalmente enfatizan técnicas para gestionar la complejidad y prepararse para cambios futuros, siguiendo los primeros escritos de Dijkstra. Estas incluyen la abstracción , la programación por contrato y los patrones de diseño . Las técnicas de programación para evitar errores y los métodos convencionales de prueba de software se enseñan como requisitos básicos, y los estudiantes se familiarizan con ciertas herramientas matemáticas, pero los métodos de verificación formal no se incluyen en el plan de estudios, excepto quizás como un tema avanzado. [ 3 ] Así que, en cierto modo, se han respetado las ideas de Dijkstra; sin embargo, las ideas que más defendía no se han seguido.

Los planes de estudio de ingeniería de software de reciente creación han adoptado las recomendaciones de Dijkstra. El enfoque de estos programas es la especificación formal de los requisitos y el diseño del software para facilitar la validación formal de la corrección del sistema. En Canadá, suelen ser títulos de ingeniería acreditados con competencias básicas similares en ingeniería basada en la física. [ 4 ]

Referencias

  1. Dijkstra, Edsger W. Sobre la crueldad de enseñar realmente ciencias de la computación (EWD-1036) (PDF) . Archivo EW Dijkstra. Centro de Historia Americana, Universidad de Texas en Austin .( transcripción )
  2. Dijkstra, Edsger W. ¿El fin de la informática? (EWD-1304) (PDF) . Archivo EW Dijkstra. Centro de Historia Americana, Universidad de Texas en Austin .( transcripción )
  3. Cursos del MIT :
    • Eric Grimson, Peter Szolovits y Trevor Darrell. 6.001 Estructura e interpretación de programas informáticos . Primavera de 2005. Instituto Tecnológico de Massachusetts: MIT OpenCourseWare, https://ocw.mit.edu . Licencia: Creative Commons BY-NC-SA .
    • Robert Morris y Samuel Madden. 6.033 Ingeniería de Sistemas Informáticos . Primavera de 2009. Instituto Tecnológico de Massachusetts: MIT OpenCourseWare, https://ocw.mit.edu . Licencia: Creative Commons BY-NC-SA .
    • Ronitt Rubinfeld y Albert Meyer. 6.042J Matemáticas para Ciencias de la Computación . Otoño de 2005. Instituto Tecnológico de Massachusetts: MIT OpenCourseWare, https://ocw.mit.edu . Licencia: Creative Commons BY-NC-SA .
    • Daniel Jackson. 6.170 Software Studio. Primavera de 2013. Instituto Tecnológico de Massachusetts: MIT OpenCourseWare, https://ocw.mit.edu . Licencia: Creative Commons BY-NC-SA .
  4. " Los programas de ingeniería de software no son programas de ciencias de la computación " (PDF) . Archivado del original (PDF) el 27 de septiembre de 2013. Consultado el 30 de octubre de 2012 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=On_the_Cruelty_of_Really_Teaching_Computer_Science&oldid=1287910834 "