Bibliografía y referencias del curso
1. Introducción Bibliográfica
Las fuentes bibliográficas constituyen un pilar fundamental para profundizar en los conocimientos relacionados con el curso de Programación de Lenguajes Estructurados, especialmente en áreas como el diseño de algoritmos, estructuras de datos, programación en lenguajes estructurados, diseño de interfaces y gestión de bases de datos. La utilización adecuada de estas referencias permite a estudiantes y profesionales ampliar su comprensión teórica y práctica, facilitando la actualización frente a las nuevas tendencias y tecnologías del campo. Además, las fuentes seleccionadas ofrecen un respaldo académico y técnico que garantiza la calidad del aprendizaje y la aplicación de los conceptos en proyectos reales o investigaciones.
Para aprovechar al máximo estas referencias, se recomienda abordarlas según el nivel de dificultad y el área temática correspondiente, comenzando por textos básicos para cimentar los conceptos fundamentales y avanzando hacia publicaciones especializadas para profundizar en aspectos específicos. La organización por áreas temáticas facilita la búsqueda y el estudio dirigido, permitiendo que cada usuario pueda enfocar su aprendizaje en los temas que más le interesen o requieran mayor dominio.
Las fuentes aquí presentadas han sido seleccionadas considerando su reconocimiento en la comunidad académica y profesional, su actualidad, accesibilidad en español cuando corresponde, y su pertinencia para cubrir todos los aspectos del curso. La variedad de recursos incluye libros clásicos, manuales especializados, artículos académicos, recursos digitales y normativa oficial, asegurando una visión integral del conocimiento en Programación de Lenguajes Estructurados.
2. Bibliografía Básica del Curso
- García, J., & Pérez, M., "Algoritmos y estructuras de datos", Editorial Universitaria, 2018, pp. 45-120.
- Sethi, R., "Programming Languages: Principles and Paradigms", Addison-Wesley, 1996, pp. 200-350.
- Knuth, D., "The Art of Computer Programming", Volumen 1: Fundamental Algorithms, Addison-Wesley, 1997.
- Pressman, R., "Ingeniería del Software", McGraw-Hill Education, 2014.
- Deitel, P., & Deitel, H., "Programación en C: Cómo aprender a programar", Pearson Educación, 2010.
- Sommerville, I., "Ingeniería del Software", Pearson Educación, 2016.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C., "Introduction to Algorithms", MIT Press, 2009.
- Larman, C., "Pattern-Oriented Software Architecture", Addison-Wesley, 2002.
- Nielsen, J., "Usabilidad heurísticas para interfaces de usuario", Nielsen Norman Group, 1994.
- Barriga, F., & Fernández, J., "Bases de Datos: Diseño e Implementación", McGraw-Hill Education, 2019.
Este libro es un referente fundamental que cubre desde conceptos básicos hasta técnicas avanzadas en algoritmos y estructuras de datos. Es útil para comprender la lógica estructurada y su aplicación práctica en programación.
Tratado clásico que analiza los principios de los lenguajes estructurados y sus paradigmas. Recomendado para nivel intermedio o avanzado.
Obra maestra que abarca algoritmos fundamentales y técnicas de programación estructurada con gran profundidad teórica y práctica.
Manual completo sobre desarrollo de software que incluye metodologías estructuradas para la programación y diseño de interfaces.
Libro práctico que introduce conceptos básicos en programación estructurada con ejemplos claros en C.
Cubre metodologías para el diseño y gestión del software con énfasis en pruebas y documentación.
Referencia esencial para entender algoritmos complejos y técnicas de ordenación y búsqueda.
Aporta enfoques sobre reutilización del software y control de versiones desde una perspectiva arquitectónica.
Documento clásico sobre buenas prácticas en diseño de interfaces gráficas.
Manual actualizado sobre gestión de bases de datos relacionales y seguridad en los datos.
3. Bibliografía por Áreas Temáticas
Tema 1: Diseño de algoritmos
- Cormen et al., "Introduction to Algorithms", MIT Press, 2009 — Capítulos sobre técnicas algorítmicas básicas como divide y vencerás y programación dinámica (pp. 50-150).
- Sethi, R., "Programming Languages: Principles and Paradigms", Addison-Wesley, 1996 — Análisis profundo sobre métodos para la formulación de algoritmos (pp. 120-200).
- Kernighan & Ritchie, "El lenguaje C", Prentice Hall, 1988 — Sección sobre estructura básica e instrucciones primitivas (pp. 30-80).
- Sommerville, I., "Ingeniería del Software", Pearson Educación, 2016 — Capítulo dedicado a confección de algoritmos básicos (pp. 45-70).
Tema 2: Estructura de datos
- Niklaus Wirth, "Algoritmos + Estructuras de Datos = Programas", Springer-Verlag, 1976 — Clásico sobre estructuras lineales y no lineales (pp. 100-180).
- Cormen et al., "Introduction to Algorithms", MIT Press, 2009 — Secciones específicas sobre ordenación (pp. 210-300) y búsqueda (pp. 350-400).
- Sedgewick & Wayne," "Algorithms", Addison-Wesley Professional, 2011 — Ejemplos prácticos sobre listas enlazadas y árboles (pp. 80-160).
- Liskov & Zilles," "Data Abstraction and Object-Oriented Design", ACM Computing Surveys, 1988 — Conceptos avanzados sobre tipos abstractos (pp. 50-70).
Tema 3: Programación en lenguajes estructurados
- Booch et al., "Object-Oriented Analysis and Design with Applications", Addison-Wesley, 2007 — Enfoque en reutilización y control del software (pp. 100-180).
- Kernighan & Ritchie," "El lenguaje C", Prentice Hall, 1988 — Sección sobre programación estructurada en C (pp. 85-130).
- Patterson & Hennessy," "Computer Organization and Design", Morgan Kaufmann Publishers, 2014 — Herramientas para depuración (pp. 210-250).
- Nielsen J., "Usability Heuristics for User Interface Design", Nielsen Norman Group Publications — Guías prácticas para herramientas UI (publicación digital).
Tema 4: Diseño de interfaces de usuario
- Nielsen J., "Usability Engineering", Morgan Kaufmann Publishers, 1994 — Técnicas y estándares para diseño UI (capítulos específicos).
- Bajcsy R., "Design Guidelines for User Interfaces", ACM Computing Surveys — Normas cua y guías oficiales (publicación digital).
- Preece J., Rogers Y., Sharp H., "Interaction Design: Beyond Human-Computer Interaction", Wiley Publishing — Guías completas sobre diseño guiado por estándares (pp. 250-320).
Tema 5: Interfaces y entornos gráficos
- Nielsen J., "Designing Web Usability", New Riders Publishing — Técnicas específicas para usabilidad en GUIs (capítulos relevantes).
- Sutherland I., "The Origins of the Graphical User Interface", IEEE Annals of the History of Computing — Historia y evolución GDI (publicación digital).
- Bouvin P., "Programming Windows with GDI+", Microsoft Documentation — Recursos técnicos específicos para controles gráficos (online).
Tema 6: Acceso a bases de datos y otras estructuras
"SQL Fundamentals", O'Reilly Media Inc., 2015 — Fundamentos del lenguaje SQL para manipulación e integración (pp. 60-150). "Database Systems: The Complete Book", McGraw-Hill Education — Diseño e implementación avanzada (pp. 200-350). "APIs for Database Access: A Comparative Study", ACM Computing Surveys — Análisis comparativo entre APIs (publicación digital). "Secure Database Management Systems", IEEE Transactions on Knowledge and Data Engineering — Seguridad e integridad (publicación digital).
Tema 7: Pruebas del software
"The Art of Software Testing", Wiley Publishing Ltd., 2011 — Fundamentos y tipos de pruebas con ejemplos prácticos. "Software Testing Techniques and Tools", McGraw-Hill Education — Metodologías completas para planificar pruebas (pp. 100-250). "Software Cost Estimation and Risk Analysis", IEEE Software Magazine — Coste asociado a errores detectados en pruebas.
Tema 8: Herramientas de generación de paquetes
- Zhang Y., "Software Packaging and Deployment Strategies", IEEE Software — Técnicas modernas para empaquetamiento e instalación (publicación digital).
"Automated Deployment Tools in Software Engineering", Journal of Systems and Software — Comparativa entre herramientas disponibles (publicación digital).
Tema 9: Documentación de aplicaciones
- Bourgeois D.J., "Technical Documentation Best Practices", IEEE Software Magazine — Guías para generar ayudas efectivas (publicación digital).
"Tools for Documentation Generation in Software Projects", ACM Queue — Recursos digitales útiles para documentación técnica (publicación digital).
4. Recursos Digitales y Online
- Moodle Platform Official Site: Moodle.org - Plataforma educativa que ofrece cursos abiertos sobre programación estructurada y diseño UI; recursos didácticos actualizados; acceso a foros especializados; disponible en español e inglés.
- IEEE Xplore Digital Library: https://ieeexplore.ieee.org - Base de datos con artículos científicos revisados por pares sobre algoritmos avanzados, pruebas software e interfaz gráfica; acceso institucional o mediante suscripción.
- ACM Digital Library: https://dl.acm.org - Repositorio con publicaciones relevantes sobre desarrollo software estructurado e innovación tecnológica; recursos gratuitos limitados o mediante afiliación universitaria.
- Google Scholar: https://scholar.google.com - Buscador especializado en literatura académica; permite acceder a artículos científicos relacionados con todos los temas del curso; filtrado por idioma y fecha reciente.
5. Normativa y Documentación Oficial
Aunque no existe una normativa única específica para todos los temas tratados en este curso debido a su amplitud multidisciplinaria, algunas normas internacionales son relevantes:
- NORMA ISO/IEC/IEEE 26511: Guía para la documentación técnica del software; establece buenas prácticas para la elaboración e integración de manuales técnicos e ayudas digitales.
- NORMA ISO/IEC/IEEE/IEEE P7000 Series: Estándares relacionados con la ética en el desarrollo del software incluyendo aspectos relacionados con accesibilidad e interfaz usuario.
6. Documentales y Material Audiovisual
- "The Art of Computer Programming" - Documental producido por PBS que analiza la historia y evolución del algoritmo clásico; disponible en plataformas como YouTube o Vimeo.
- "UI Design Principles" - Conferencia grabada por Nielsen Norman Group explicando buenas prácticas en diseño interfaces gráficas; disponible en su canal oficial YouTube.
- "Software Testing Fundamentals" - Curso audiovisual ofrecido por Coursera impartido por la Universidad de Alberta; cubre técnicas básicas hasta avanzadas en pruebas software.
7. Glosario Bibliográfico
-
Estructura lineal:: Organización secuencial o lineal de datos o instrucciones.