Resumen General
| Campo | Valor |
|---|---|
| Autor | Dr. Chris Bourke (cbourke@cse.unl.edu) |
| Institución | Depto. de Ciencias de la Computación e Ingeniería, Universidad de Nebraska–Lincoln |
| Versión | 1.3.6 (2018-08-09) |
| Licencia | Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) |
| Extensión | 647 páginas |
| Estado | Borrador — algunos capítulos finales son marcadores de posición |
Pedagogía
Tesis central: los conceptos perduran más que el código. El libro separa los conceptos de la sintaxis del lenguaje de programación para combatir la obsolescencia inherente de los textos introductorios específicos de un lenguaje.
- El núcleo (Cap. 1–14) usa pseudocódigo con elementos mínimos específicos de un lenguaje.
- Cada parte de lenguaje recapitula los mismos conceptos en sintaxis concreta.
- Diseño “plug-in”: agregar un lenguaje = agregar una parte. El mismo libro sirve para múltiples variantes de curso (estudiantes de CS → Java, estudiantes de CE → C, etc.).
Origen: iniciativa “Renaissance in Computing” de UNL + un CS1 con Honores dictado en Java y C en paralelo.
Estructura
| Parte | Capítulos | Páginas |
|---|---|---|
| Conceptos centrales (pseudocódigo) | 1–14 | 1–249 |
| I. El Lenguaje de Programación C | 15–25 | 251–380 |
| II. El Lenguaje de Programación Java | 26–36 | 381–494 |
| III. El Lenguaje de Programación PHP | 37–47 | 495–586 |
| Glosario / Acrónimos / Índice / Referencias | — | 587–647 |
Ver conceptos centrales y las partes de lenguajes: C, Java, PHP.
Columna de Ejemplos Recurrentes
Los mismos problemas reaparecen en el núcleo y en cada parte de lenguaje, de modo que los estudiantes ven un problema expresado en múltiples sintaxis:
- Conversión de temperatura / unidades
- Raíces cuadráticas
- Life & Taxes (condicionales)
- Paying the Piper (bucles)
- Generalized Rounding (funciones)
Vacíos Conocidos (borrador)
- Cap. 13 Interfaces Gráficas de Usuario y Programación Dirigida por Eventos — marcador de posición (solo el título).
- Cap. 14 Introducción a Bases de Datos y Conectividad de Bases de Datos — marcador de posición (solo el título).
- Desactualizado (2018, era de Java 8). Sin características modernas del lenguaje.
- La cobertura de recursión es superficial (solo recursión de cola + memoización).
Citas
[1] Computer Science I, Chris Bourke, v1.3.6, páginas preliminares y tabla de contenidos (pp. i–xxii).