Otros Recursos
Perfilado de sección
-

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.
-
. 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-035. Especificación algebraica lista inserción cabeza.
- OR-F-036. Especificació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
-
OR-F-043. Bolsas.
-
OR-F-044. Conjuntos.
-
OR-F-045. Secuencias.
-
OR-F-046. Secuencias sin repeticiones.
-
OR-F-047. Vector.
-
OR-F-048. Matriz.
-
OR-F-049. Pila (Stack).
-
OR-F-050. Cola (Queue).
-
OR-F-051. Secuencia ordenada.
-
OR-F-052. Secuencias sin repeticiones ordenada.
-
OR-F-053. Colas con prioridad.
- OR-F-054. Tabla (mapa, diccionario, aplicación).
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
Lecturas (muy) avanzadas
-
OR-F-062. Binary Space Partition (BSP) (Wikipedia).
-