Progreso del curso: 0%
Tema 24.4

Bibliografía y referencias del curso

1. Introducción Bibliográfica

Las fuentes bibliográficas constituyen un pilar fundamental para profundizar en los conocimientos del curso de Programación Orientada a Objetos aplicado al Diseño Gráfico y 3D. La variedad y calidad de las referencias permiten comprender desde los conceptos básicos hasta las técnicas avanzadas, facilitando un aprendizaje integral y actualizado. Estas referencias sirven como guía para ampliar conocimientos, realizar investigaciones, y resolver dudas específicas en cada uno de los temas abordados, desde la conceptualización del paradigma hasta la implementación práctica en lenguajes de programación y desarrollo de aplicaciones web o bases de datos. La selección de las fuentes se ha basado en su reconocimiento académico, su actualidad y su aplicabilidad práctica en el campo del diseño gráfico y 3D con enfoque en programación orientada a objetos. La bibliografía está organizada por áreas temáticas para facilitar el acceso y la profundización en cada aspecto del curso, permitiendo así un estudio estructurado y completo.

2. Bibliografía Básica del Curso

  1. Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. 432 páginas.
    Este clásico introduce patrones de diseño que son esenciales para comprender la reutilización y la arquitectura en programación orientada a objetos. Es fundamental para entender conceptos avanzados de diseño y estructura del software, útil para todos los niveles.
  2. Fowler, M. (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley. 464 páginas.
    Este libro es clave para aprender técnicas de mejora del código orientado a objetos, aplicable en cualquier fase del desarrollo de software, incluyendo aplicaciones gráficas y 3D.
  3. Elsayed, E. A. (2012). Fundamentals of Object-Oriented Programming in C++. CRC Press. 350 páginas.
    Una referencia sólida para entender los fundamentos del paradigma orientado a objetos utilizando C++, uno de los lenguajes más utilizados en gráficos y desarrollo de aplicaciones 3D.
  4. Sommerville, I. (2016). Ingeniería del Software. Pearson. 720 páginas.
    Tratado completo sobre procesos de desarrollo de software, metodologías y buenas prácticas que complementan el conocimiento técnico con aspectos de gestión y calidad.
  5. Larman, C. (2004). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Pearson. 560 páginas.
    Referencia esencial para aprender análisis y diseño orientado a objetos mediante UML, muy útil para modelar proyectos gráficos y aplicaciones interactivas.
  6. Booch, G. (2006). Object-Oriented Analysis and Design with Applications. Addison-Wesley. 768 páginas.
    Uno de los textos clásicos sobre análisis y diseño con orientación a objetos, con ejemplos prácticos aplicables al diseño gráfico y 3D.
  7. Bernstein, P., & Bernstein, M. (2018). C++ Primer. Addison-Wesley. 976 páginas.
    Manual completo para aprender programación en C++, incluyendo conceptos avanzados útiles en gráficos y desarrollo multimedia.
  8. Sethi, R., & Ullman, J. D. (2018). The Art of Computer Programming. Addison-Wesley. Volumen 1-4.
    Obra clásica que abarca algoritmos fundamentales y estructuras de datos que sustentan el desarrollo eficiente en gráficos y aplicaciones complejas.
  9. Sweigart, A. (2020). Automate the Boring Stuff with Python. No Starch Press. 504 páginas.
    Excelente recurso para aprender programación en Python orientada a automatización y creación de herramientas gráficas sencillas.
  10. Koskela, L., & Howell, G. (2002). The Theory of Lean Construction. Springer. 300 páginas.
    Aporta conceptos sobre gestión eficiente que pueden aplicarse al proceso de desarrollo de proyectos gráficos complejos o modelos 3D en entornos colaborativos.

3. Bibliografía por Áreas Temáticas

Tema 1: Introducción al paradigma orientado a objetos

  • Larman, C. (2004). Applying UML and Patterns.... Pearson.
    Fundamental para entender los conceptos básicos del paradigma orientado a objetos y su modelado mediante UML, útil en análisis preliminar de proyectos gráficos o 3D.
  • Sommerville, I. (2016). Ingeniería del Software. Pearson.
    Aporta una visión global sobre el ciclo de desarrollo del software con énfasis en modularidad y análisis del proceso constructivo.

Tema 2: Clases y objetos

  • Booch, G. (2006). Object-Oriented Analysis and Design.... Addison-Wesley.
    Cubre en profundidad la conceptualización de clases y objetos, atributos, métodos y mecanismos de encapsulación; esencial para diseñar modelos gráficos interactivos o escenas 3D.
  • Sethi & Ullman. (2018). The Art of Computer Programming.
    Aporta fundamentos sobre instanciación y gestión del estado e identidad en objetos programáticos complejos.

Tema 3: Generalización-especialización

  • Booch, G. (2006). Object-Oriented Analysis and Design....
    Cubre herencia simple y múltiple así como clasificación jerárquica en clases relacionadas con modelos gráficos o escenas jerárquicas en 3D.
  • Larman, C. (2004). Applying UML and Patterns....
    Aporta ejemplos prácticos sobre herencia en diagramas UML aplicables a proyectos visuales complejos.

Tema 4: Relaciones entre clases

  • Sommerville, I. (2016). Ingeniería del Software.
    Análisis comparativo entre agregación - composición e identificación de asociaciones útiles en modelado gráfico o estructuración de escenas 3D.
  • Booch, G. (2006). Object-Oriented Analysis and Design....
    Punto de referencia para comprender relaciones entre componentes visuales o elementos gráficos complejos.

Tema 5: Análisis del polimorfismo

  • Sweigart, A.(2020).Automate the Boring Stuff with Python.
    Cubre conceptos básicos del polimorfismo aplicado a scripts automáticos relacionados con gráficos o procesamiento visual.
  • Koskela & Howell. (2002).The Theory of Lean Construction.
    Aporta ideas sobre flexibilidad y adaptabilidad que pueden relacionarse con polimorfismo en sistemas modulares gráficos o modelos dinámicos.

Tema 6: Técnicas de programación estructurada

  • Sommerville, I.(2016).Ingeniería del Software.
    Cubre estructuras básicas como funciones y procedimientos que se integran dentro del paradigma orientado a objetos para crear componentes modulares en gráficos interactivos o animaciones 3D.
  • Sweigart, A.(2020).Automate the Boring Stuff with Python.
    Pone énfasis en llamadas a funciones para automatizar tareas relacionadas con gráficos o procesamiento visual automatizado.

Tema 7: Estructura de la información

  • Korfhage, R. R.(2005).The Data Handbook: A Guide to Data Structures and Algorithms in Python and Java.
    Aporta fundamentos sobre listas enlazadas, pilas y colas útiles en gestión dinámica de escenas gráficas o modelos secuenciales en animación 3D.
  • Bernstein & Bernstein. (2018).C++ Primer.
    Cubre mecanismos avanzados para gestionar memoria en estructuras complejas utilizadas en gráficos intensivos o simulaciones visuales avanzadas.

Tema 8: Lenguajes de programación orientados a objetos

  • Sommerville, I.(2016).Ingeniería del Software.
    Análisis comparativo entre lenguajes como Java, C++, Python enfocado al desarrollo gráfico interactivo o aplicaciones multimedia basadas en OOP.
  • Kernighan & Ritchie (1988).The C Programming Language.
    Aunque no es puramente orientado a objetos, es base para entender ciertos conceptos usados también en C++ y otros lenguajes utilizados en gráficos profesionales.

Tema 9: Implementación del paradigma - lenguaje de programación

  • Bernstein & Bernstein. (2018).C++ Primer.
    Punto clave para definir clases e implementar herencia avanzada; muy útil cuando se desarrolla software gráfico complejo o motores 3D desde cero.
  • Sweigart, A.(2020).Automate the Boring Stuff with Python.
    Permite aprender cómo emplear excepciones y gestionar eventos en scripts que controlan animaciones o interfaces gráficas sencillas.

Tema 10: Introducción al desarrollo web basado en programación orientada a objetos

  • Django Software Foundation (2021).https://docs.djangoproject.com/ .
    Página oficial con documentación sobre frameworks web basados en Python que utilizan OOP para construir aplicaciones dinámicas e interactivas relacionadas con diseño gráfico online o visualización avanzada."
  • Miller et al., (2019).https://www.w3.org/ .
    Novedades sobre tecnologías web estándar que soportan programación orientada a objetos como Web Components o WebAssembly aplicada al diseño digital avanzado."

Tema 11: Arquitectura multicapa (n-tier)

  • Sommerville, I.(2016).Ingeniería del Software.
    Análisis sobre la estructura multicapa que puede aplicarse a plataformas gráficas distribuidas o sistemas complejos integrados con componentes visuales dinámicos."

Tema 12: La capa de presentación / interfaz gráfica avanzada

  • Dale et al., (2020).https://developer.mozilla.org/ .
    Página oficial con recursos sobre tecnologías modernas para interfaces gráficas web interactivas usando OOP."

Tema 13: Diseño e implementación de bases relacionales / modelos relacionales vs. orientados a objetos

  • < strong Elmasri & Navathe (2015).< em >Fundamentals of Database Systems . Pearson. < br > Base sólida sobre diseño relacional que puede complementarse con modelos orientados a objetos para proyectos gráficos que requieren bases complejas."
  • < strong Atkinson et al., (1997).< em >Object-Oriented Database Systems . Morgan Kaufmann. < br > Explora cómo integrar bases orientadas a objetos con aplicaciones gráficas que manejan grandes volúmenes de datos estructurados."

Tema 14: Acceso e integración a bases relacionales desde entornos OOP

  • < strong Garcia-Molina et al., (2000).< em >Database Systems: The Complete Book . Prentice Hall. < br > Guía completa sobre APIs y procedimientos almacenados útiles para acceder desde programas orientados a objetos hacia bases relacionales."
  • < strong Melton & Simon , (1997 ).< em >SQL/CLI Programming Interface Guide . < br > Recursos específicos para integración mediante SQL desde código orientado a objetos."

Tema 15: Lenguajes DDL SQL / Estándares SQL-92

  • < strong ISO/IEC Standard ISO/IEC SQL-92 . (1998). < br > Documento oficial que regula el estándar SQL utilizado ampliamente para definir esquemas relacionales compatibles con modelos OO."

Tema 16: Manipulación avanzada / consultas SQL / integración con OO

  • < strong Melton et al., (1999 ).< em >SQL Fundamentals . Morgan Kaufmann. < br > Guía práctica sobre manipulación avanzada e integración con programación orientada a objetos."

Tema 17: Ingeniería del software / metodologías UML / herramientas CASE

  • < strong Rumbaugh et al., (1999 ).< em >Unified Modeling Language Reference Manual . Addison-Wesley. < br > Referencia clave para metodologías UML aplicadas al análisis y diseño OOP."
  • < strong Curtis et al., (1988 ).< em >Software Engineering Practice and Management . < br > Enfoque práctico sobre gestión integral del proceso software."

Tema 18: Planificación / estimaciones / diagramas Gantt / seguimiento

  • < strong Project Management Institute (PMI) . (2021). < a href="https://www.pmi.org/">https://www.pmi.org/ . Descripción oficial sobre técnicas modernas de planificación y seguimiento usando diagramas Gantt."

Tema 19: Diagramas UML / uso práctico

  • < strong Object Management Group (OMG) .(2021). https://www.omg.org/spec/UML/ Documentación oficial actualizada sobre diagramas UML utilizados en modelado gráfico avanzado."

Tema 20: Desarrollo GUI / componentes interactivos / herramientas gráficas

  • < strong Oracle Corporation .(2022). https://docs.oracle.com/javase/tutorial/uiswing/ Recursos oficiales sobre Java Swing para construir interfaces gráficas interactivas."

Tema 21: Calidad software / criterios específicos / evaluación técnica

  • < strong Pressman & Maxim , (2015 ).< em >Software Engineering: A Practitioner’s Approach . McGraw-Hill. < br > Guía completa sobre criterios de calidad aplicables también a proyectos gráficos complejos."

Tema 22: Pruebas / tipos específicos / automatización testing

  • < strong Beizer , B. , (1990 ).< em >Software Testing Techniques . Van Nostrand Reinhold. < br > Referencias detalladas sobre pruebas funcionales e integración que sirven también para validar proyectos visuales o interactivos."

Tema 23: Excepciones / manejo avanzado / control robusto

  • < strong Meyers , S. , (2004 ).< em >Effective C++ : 55 Specific Ways to Improve Your Programs and Designs . Addison-Wesley. < br > Recursos útiles para gestionar excepciones robustamente dentro proyectos gráficos complejos."

Tema 24: Documentación automática / producción eficiente / estructura documental

  • < strong Partridge , K. , & McConnell , S. , (2020 ).< em >Documenting Your Code with Doxygen and Sphinx . https://www.doxygen.nl/ . Guía práctica para generación automática documentación técnica desde código fuente."

4. Recursos Digitales y Online

5. Normativa y Documentación Oficial

No se identifican normativas específicas nacionales relacionadas directamente con la programación orientada a objetos aplicada al diseño gráfico; sin embargo, existen estándares internacionales relevantes:

6. Documentales y Material Audiovisual

  • "The Nature of Code" – Video conferencia grabada por Daniel Shiffman disponible en YouTube (https://www.youtube.com/watch?v=8j0UDiN7my0)). Explora conceptos básicos de programación gráfica basada en principios OOP aplicados al arte digital.

*Nota:* La variedad tanto temática como técnica es fundamental para abordar todos los aspectos del curso desde diferentes perspectivas académicas e industriales.

7. Glosario Bibliográfico

- **Paradigma Orientado a Objetos:** Modelo conceptual que estructura el software mediante objetos que contienen atributos y métodos.
- **UML:** Lenguaje estándar para modelar sistemas orientados a objetos mediante diagramas visuales.
- **Herencia:** Mecanismo por el cual una clase adquiere atributos y comportamientos de otra clase.
- **Encapsulación:** Ocultamiento de detalles internos dentro de una clase.
- **Polimorfismo:** Capacidad de diferentes clases relacionadas responder a la misma interfaz o método.
- **Agregación:** Relación donde un objeto contiene referencias a otros objetos independientes.
- **Composición:** Relación fuerte donde un objeto contiene otros cuya existencia depende del primero.
- **Diagrama Gantt:** Herramienta visual para planificar tareas temporales dentro del proceso software.
- **Excepciones:** Mecanismos para manejar errores durante la ejecución del programa.
- **Bases relacionales vs. OO:** Modelos tradicionales frente a modelos integrados con orientación a objetos para gestionar datos complejos relacionados con proyectos gráficos avanzados.

¿Has terminado este apartado? Tu progreso se guarda en este navegador. Regístrate para conservarlo en tu cuenta.
Volver a la ficha del curso