• General

    Estructuras de Datos (2012)

    • Otros Recursos

      otros_recursos

       

       

      Tema 1. Programación imperativa

      Ejemplos

      • OR-F-001. Módulo complejo (interfaz).

      • OR-F-002. Módulo complejo (implementación).

      • OR-F-003. Proyecto Java herencia múltiple.

      • OR-F-004. Reutilización por composición.

      Referencias

      • OR-F-005. «On the criteria to be used in decomposing systems into modules». (Parnas, 1972).

      • OR-F-006. Entrada Interesante sobre herencia en un Blog.

      • OR-F-007. Desastre Ariane 5 (vídeo).

      • OR-F-008. «Design by contract: the lessons of Ariane». (Jezequel & Meyer, 2002).

      Lecturas (muy) avanzadas

      • OR-F-009. «Doubts about the positive impact of static type systems on programming tasks in single developer projects - An empirical study». (Hanenberg).

      • OR-F-010. «An experiment about static and dynamic type systems». (Hanenberg).

      • OR-F-011. Disertación de Barbara Liskov sobre el «Poder de la abstracción».

      • OR-F-012. «Matters of (Meta-) modelling». (Khüne, 2006).

      • OR-F-013. «Can programming be liberated from the two-level style?: multi-level programming with DeepJava». (Khüne & Schreiber, 2007).

      • OR-F-014. «Object-oriented programming with flavors». (Moon, 1986).

      • OR-F-015. «A monotonic superclass linearization for Dylan». (Barrett et al).

      • OR-F-016. «Morphing: safely shaping a class in the image of others». (Huang et al).

      • OR-F-017. «No silver bullet: essence and accidents of software engineering». (Brooks, 1987).

      Herramientas

      • OR-F-018. «Contract4J: diseño por contrato para Java».

      • OR-F-019. ESC/Java2: verificación automática de programas (Wikipedia).

         

      Tema 2. Fundamentos de complejidad algorítimica

      Bibliografía y recursos

      • OR-F-020. «Fundamentos de algoritmia». (Brassard & Bratley).

      • OR-F-021. Gráficas con tasas de crecimiento.

      • OR-F-022. Lista de problemas NP completos (Wikipedia).

         

      Tema 3. Técnicas de implementación

      Ejemplos

      • OR-F-023. Clase lista enlazada (pseudocódigo).

      • OR-F-024. Ejemplo lista enlazada (Java).

      • OR-F-025. Ejemplo lista enlazada (C#).

      • OR-F-026. Tabla Hash cerrada (orientada a objetos).

      Recursos

      • OR-F-027. Implementación libre colecciones Java.

      • OR-F-028. Apuntes sobre Tablas Hash (Universidad de Granada).

      • OR-F-029. Animación sobre árboles binarios de búsqueda.

      • OR-F-030. Otra animación sobre árboles de búsqueda.

      • OR-F-031. Animación sobre árboles AVL.

      • OR-F-032. Animación sobre Árboles Rojinegros.

      • OR-F-033. Clase magistral sobre árboles balanceados del MIT (Inglés).

         

      Tema 4.  Concepto y especificación de Tipos Abstractos de Datos

      Ejemplos

      • OR-F-034. Especificación algebraica tipo Día-Semana.

      • OR-F-035Especificación algebraica lista inserción cabeza.

      • OR-F-036Especificación algebraica conjunto.

      Bibliografía y recursos

      • OR-F-037. Algebraic implementation of abstract data types». (H. Ehrig, H.J. Kreowski, B. Mahr & P. Padawitz).

      Lecturas (muy) avanzadas

      • OR-F-038. «The algebraic specification of abstract data types». (Guttag & Horning, 1976).

      • OR-F-039. «Limits of the "algebraic" specification of abstract data types». (Majster, 1977).

      • OR-F-040. «Formalizing design patterns: a case study for the iterator pattern». (Alfoudari & Steggles, 2002).

      • OR-F-041. «Abstract data types and software validation». (Guttag et al, 1978).

      • OR-F-042. «Formal specification and analysis of domain specific models using maude». (Rivera et al, 2011).

         

      Tema 5. Tipos Abstractos de Datos Lineales

      Especificaciones Algebraicas TADs Lineales

      TADs Lineales en lenguajes de programación actuales

      Recursos

      • OR-F-058. «LZW data compression». (Nelson, 1989).

      • OR-F-059. Proyecto Java cálculo expresiones polaca inversa.

         

      Tema 6. Tipos Abstractos de Datos Jerárquicos

      Recursos

      • OR-F-060. Implementación y ejemplos árboles.

      • OR-F-061. Akinator (árboles de decisión).

      Lecturas (muy) avanzadas

      • OR-F-062. Binary Space Partition (BSP) (Wikipedia).