
Explorations in Computing
John S. Conery
- Editorial
- CRC Press
- Año
- 2011
- Páginas
- ~390
- Nivel
- Intermedio
De qué trata
Texto universitario introductorio creado por John S. Conery para acercar los fundamentos de las ciencias de la computación a estudiantes sin experiencia previa en programación, utilizando Ruby (entorno interactivo sobre Ruby 1.9) como vehículo pedagógico. Su planteamiento se aleja de la enseñanza árida de sintaxis para sumergir al lector en el pensamiento computacional mediante un enfoque de aprendizaje activo, estructurado a través de proyectos de laboratorio guiados paso a paso.
El contenido se articula alrededor de la consola interactiva IRB y la gema educativa RubyLabs, desarrollada específicamente para el curso. A través de módulos temáticos como BitLab, SortLab, RandomLab, ElizaLab y CorewarLab, el libro aborda la implementación de la criba de Eratóstenes para números primos, estrategias de búsqueda lineal y binaria, algoritmos de ordenamiento como Quicksort y Merge Sort, tablas hash y colisiones, codificación binaria y códigos de detección de errores. También profundiza en conceptos de arquitectura de computadores con el ciclo de instrucción sobre máquinas virtuales simplificadas, simulación de modelos físicos y heurísticas evolutivas para resolver el problema del viajero (TSP).
En cada capítulo el lector experimenta con proyectos prácticos de laboratorio, entre los que destacan un emulador de combate en memoria de instrucciones Corewar, un bot conversacional basado en reglas al estilo de ELIZA ('Ask Dr. Ruby'), una simulación del problema de los N-cuerpos para órbitas celestes y un algoritmo genético de optimización. La obra destaca por convertir ideas teóricas abstractas en experimentos tangibles y visuales gracias a las herramientas interactivas diseñadas por el autor. No cubre desarrollo de aplicaciones web ni el ecosistema comercial de Ruby on Rails, pues su objetivo exclusivo es cimentar las bases algorítmicas e intelectuales de la computación.
- Ruby
- RubyLabs
- IRB
- Algoritmos
- Estructuras de datos
- Criba de Eratóstenes
- Búsqueda y ordenamiento
- Tablas hash
- Arquitectura de computadores
- Simulaciones numéricas
- Algoritmos genéticos
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Simulador de combate de instrucciones Corewar
Máquina virtual interactiva en Ruby donde dos programas compiten por sobrescribir la memoria del sistema, ilustrando el ciclo de búsqueda y ejecución y la arquitectura interna de un procesador.
Bot conversacional 'Ask Dr. Ruby'
Programa de procesamiento de lenguaje natural rudimentario inspirado en ELIZA que analiza las respuestas del usuario mediante patrones de texto e interacciones guiadas en consola.
Simulación orbital de N-cuerpos ('The Music of the Spheres')
Modelo numérico gravitacional que calcula y visualiza las trayectorias de planetas en el sistema solar aplicando cálculos iterativos en Ruby.
Optimizador genético del problema del viajero (TSP)
Aplicación de algoritmos genéticos y heurísticas que evalúa combinaciones de rutas para aproximar soluciones óptimas a problemas NP-completos.

