Descripción
Este libro de texto trata sobre la resolución sistemática de problemas y el razonamiento sistemático utilizando el diseño basado en tipos. Hay dos técnicas de resolución de problemas que se enfatizan a lo largo del libro: divide y vencerás y refinamiento iterativo. Dividir y conquistar es el proceso mediante el cual un problema grande se divide en dos o más problemas más pequeños que son más fáciles de resolver y luego las soluciones para las piezas más pequeñas se combinan para crear una respuesta al problema. El refinamiento iterativo es el proceso mediante el cual una solución a un problema se mejora gradualmente, como los borradores de un ensayo. Dominar estas técnicas es esencial para convertirse en un buen solucionador de problemas y programador.
El libro está dividido en cinco partes. La Parte I se centra en los conceptos básicos. Comienza con cómo escribir expresiones y posteriormente lleva a la toma de decisiones y las funciones como base para la resolución de problemas. La Parte II introduce datos compuestos de tamaño finito, mientras que la Parte III cubre datos compuestos de tamaño arbitrario como, por ejemplo, listas, intervalos, números naturales y árboles binarios. También introduce la recursión estructural, una potente estrategia de procesamiento de datos que utiliza la estrategia de "divide y vencerás" para procesar datos cuyo tamaño no es fijo. A continuación, la Parte IV profundiza en la abstracción y muestra cómo eliminar repeticiones en las soluciones a los problemas. También introduce la programación genérica, que es una abstracción sobre el tipo de datos procesados. Esto lleva a la comprensión de que las funciones son datos y, quizás más sorprendente, que los datos son funciones, lo que a su vez conduce naturalmente a la programación orientada a objetos. La Parte V introduce la programación distribuida, es decir, el uso de múltiples ordenadores para resolver un problema.
Este libro promete que, al finalizarlo, los lectores habrán diseñado e implementado un videojuego multijugador que podrán jugar con sus amigos a través de Internet. Para lograr esto, sin embargo, hay mucho que aprender sobre la resolución de problemas y la programación. El juego se desarrolla utilizando el refinamiento iterativo. El lector aprende paso a paso sobre programación y cómo aplicar nuevos conocimientos para desarrollar versiones cada vez mejores del videojuego. De esta manera, los lectores practican tendencias modernas que probablemente serán comunes a lo largo de una carrera profesional y más allá.
Autor: Marco T. Morazán
Editorial: Springer
Publicado: 15/01/2023
Páginas: 688
Tipo de encuadernación: Tapa blanda
Peso: 2.15lbs
Tamaño: 9.21h x 6.14w x 1.42d
ISBN13: 9783030850937
ISBN10: 3030850935
Categorías BISAC:
- Informática | Desarrollo e Ingeniería de Software | General
- Informática | Programación | Juegos
Sobre el autor
Marco T. Morazán se unió a la Universidad de Seton Hall en 1999, donde enseña en todos los niveles del currículo de Ciencias de la Computación, incluyendo sus cursos insignia sobre Resolución de Problemas y Programación. Es un firme defensor de la programación por diseño, en la que los tipos guían el desarrollo de programas, y autor de múltiples artículos revisados por pares sobre educación en ciencias de la computación e implementación de lenguajes de programación. Animated Problem Solving es el resultado de más de diez años aprendiendo de sus estudiantes cómo enseñarles programación basada en tipos.

