
Classic Computer Science Problems in Swift
David Kopec
- Editorial
- Manning
- Año
- 2018
- Páginas
- ~224
- Nivel
- Básico
De qué trata
Obra didáctica de David Kopec diseñada para enseñar los fundamentos clásicos de las ciencias de la computación y la resolución algorítmica de problemas a través de Swift moderno (orientado a Swift 4.1). Está pensada para programadores que ya dominan la sintaxis básica del lenguaje y desean profundizar en el pensamiento algorítmico, el diseño de estructuras de datos y la preparación de pruebas técnicas de entrevistas laborales, prescindiendo del formalismo matemático pesado de los manuales académicos tradicionales.
El libro expone de forma metódica una rica variedad de algoritmos y patrones: técnicas de recursión, memoización y compresión binaria; algoritmos de búsqueda lineal, binaria, en anchura (BFS), en profundidad (DFS) y A*; resolución de problemas de satisfacción de restricciones (CSP) como el coloreado de mapas y las ocho reinas; algoritmos sobre grafos para calcular caminos más cortos y árboles de expansión mínima (Jarnik/Prim); optimización basada en algoritmos genéticos; agrupamiento de datos con K-Means; y el diseño paso a paso de una red neuronal artificial básica para tareas de clasificación.
Cada capítulo plantea problemas emblemáticos (como la búsqueda de patrones en ADN, resolución de laberintos, misioneros y caníbales, el problema de la mochila y el viajero) que se resuelven en Swift puro mediante Xcode Playgrounds, complementados con ejercicios prácticos al final de cada tema para consolidar el aprendizaje. No enseña desarrollo de interfaces con UIKit ni APIs del sistema operativo móvil, centrándose exclusivamente en la lógica, el rendimiento y la expresividad del sistema de tipos y genéricos de Swift. Resulta muy recomendable para fortalecer la base computacional de cualquier desarrollador de iOS o backend en Swift.
- Swift 4
- Algoritmos
- Estructuras de datos
- Búsqueda A*
- Grafos
- Satisfacción de restricciones
- Algoritmos genéticos
- K-Means
- Redes neuronales
- Programación dinámica
- Entrevistas técnicas
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

