Cómo diseñar programas - How to Design Programs

Cómo diseñar programas
Cómo diseñar programas (portada) .jpg
Autor Matthias Felleisen , Robert Bruce Findler , Matthew Flatt y Shriram Krishnamurthi
País Estados Unidos
Sujeto Programación de computadoras
Género Libro de texto
Editor Prensa del MIT
Fecha de publicación
12 de febrero de 2001
Tipo de medio imprimir
Paginas 720
ISBN 0-262-06218-6
Clase LC QA76.6 .H697 2001
Sitio web htdp .org

Cómo diseñar programas ( HtDP ) es un libro de texto de Matthias Felleisen , Robert Bruce Findler , Matthew Flatt y Shriram Krishnamurthi sobre el diseño sistemático de programas de computadora . MIT Press publicó la primera edición en 2001 y la segunda edición en 2018, que está disponible gratuitamente en línea e impresa. El libro presenta el concepto de una receta de diseño , un proceso de seis pasos para crear programas a partir de una declaración de problema. Si bien el libro se usó originalmente junto con el proyecto educativo TeachScheme! (rebautizado ProgramByDesign ), ha sido adoptado en muchos colegios y universidades para enseñar principios de diseño de programas.

Según HtDP, el proceso de diseño comienza con un análisis cuidadoso del planteamiento de un problema con el objetivo de extraer una descripción rigurosa de los tipos de datos que el programa deseado consume y produce. La estructura de estas descripciones de datos determina la organización del programa.

Luego, el libro presenta cuidadosamente formas de datos de complejidad progresivamente creciente. Comienza con datos de formas atómicas y luego progresa a formas compuestas , incluidos datos que pueden ser arbitrariamente grandes. Para cada tipo de definición de datos, el libro explica cómo organizar el programa en principio, lo que permite a un programador que encuentra una nueva forma de datos seguir construyendo un programa de forma sistemática.

Al igual que la estructura e interpretación de programas informáticos (SICP), HtDP se basa en una variante del lenguaje de programación Scheme . Incluye su propio entorno de desarrollo integrado de programación (IDE), llamado DrRacket , que proporciona una serie de lenguajes de programación. El primer lenguaje solo admite funciones, datos atómicos y estructuras simples. Cada idioma agrega poder expresivo al anterior. A excepción del lenguaje de enseñanza más grande, todos los lenguajes para HtDP son lenguajes de programación funcionales .

En el artículo de 2004, The Structure and Interpretation of the Computer Science Curriculum , los autores distinguen el enfoque pedagógico de HtDP del SICP, y muestran cómo HtDP fue diseñado como un libro de texto para abordar algunos problemas que algunos estudiantes y profesores tenían con SICP.

Uso en educación postsecundaria

Muchas universidades y escuelas han utilizado HtDP en sus clases, que incluyen:

Referencias

enlaces externos