Objetos y Programacion a Media Escala (300CIS004)

Descripción del Curso

Objetos y Programación a Media Escala presenta los conceptos de diseño y programación orientada a objetos (OO). El curso se caracteriza por usar la aproximación “Objetos Primero”, la cual es la base del paradigma OO. Se introducen además nociones de ingeniería de software tales como ciclos de vida, diagramas UML, patrones de diseño y PSP (Personal Software Process).

Información Básica

Objetivos Instruccionales

Al finalizar el curso los participantes podrán:

  • Identificar las características del paradigma orientado a objetos.
  • Modelar un problema en el paradigma orientado a objetos.
  • Describir los conceptos básicos de ingeniería de software.
  • Analizar, diseñar e implementar una solución a un problema de mediana escala utilizando el paradigma OO.

Competencias que se Desarrollan

  • Habilidades específicas: Lenguaje de Programación: C++. Ambiente de Desarrollo: Eclipse. Sistema Operativo: Linux. Herramientas de Oficina: Latex.
  • Conceptos Fundamentales de Computación: Mecanismos de Abstracción, Programación Orientada a Objetos, Diseño de Software, Uso de APIs, Herramientas y Ambientes para Desarrollo de Software, Procesos de Software, Programación Orientada por Eventos.
  • Competencias Generales:
    • Análisis de problemas (desde diferentes perspectivas)
    • Diseño de Soluciones (análisis de alternativas de solución)
    • Análisis-Diseño-Creación-Verificación/pruebas
    • Depuración
    • Aproximación a un modelo a través del ensayo y el error.
    • Introducir la cultura de la normalización
    • Habilidades de comunicación: oral, escrita, escucha.
    • Experiencia significativa en el desarrollo de proyectos
    • Habilidades para trabajar en grupo, habilidades de colaboración
    • Motivación, iniciativa, flexibilidad, adaptabilidad, auto-confianza
    • Mantenerse actualizado, aprendizaje continúo, auto-aprendizaje.

Metodología

Se realizarán clases con un alto ingrediente de participación por parte de los estudiantes.
Se trabajarán dos proyectos como forma de implementación del aprendizaje activo, con entregas parciales.
Los estudiantes deberán leer el material asignado por el profesor.
Se dejarán tareas para ser entregadas por los estudiantes.

Contenido

Tema Sesión Bibliografía
Organización del curso, Introducción, Objetos y Clases 1 - 2 [1]
Definición de clases 3 - 4 [1]
Interacción entre objetos (relaciones de asociación) 5 - 6 [1]
Agrupamiento de objetos en estructuras de datos (Secuencias, listas, iteradores) 7 - 8 [1]
Modificadores de acceso, Variables y constantes (static), documentación de programas,
nuevas estructuras de datos (sets, hash maps)
9 - 10 [1]
Diseño orientado por responsabilidades, acoplamiento, cohesión 11 - 12 [2]
Herencia (ventajas, desventajas, subtipos) 13 - 15 [1]
Herencia (tipos estáticos, tipos dinámicos, estructuras de datos polimórficas) 16 - 18 [1]
Herencia (sobre escritura de métodos, modificador de acceso protected, polimorfismo) 19 - 21 [1]
Algunas técnicas de abstracción (clases abstractas) 22 - 23 [1]
Algunas técnicas de abstracción (herencia múltiple, interfaces) 24 - 25 [1]
Diseño de aplicaciones (análisis y diseño, prototipado, modelos de ciclo de vida del software) 26 - 32 [1]

Evaluación

Porcentaje Fecha
Primer parcial 20%
Segundo Parcial 20%
Tercer Parcial 20%
Tareas, Quices y Monitoría 10%
Proyecto Entrega 10%
Proyecto Final 20%

Bibliografía

  1. Alan Ezust and Paul Ezust, An Introduction to Design Patterns in C++ with Qt. 2nd Edition. Pearson-Prentice Hall. 2012
  2. Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener, Designing Object Oriented Software. Prentice Hall 1990, ISBN 0136298257
    Signatura Biblioteca Javeriana: 005.1 W798d
  3. Timothy A Budd. An Introduction to Object-Oriented Programming. Addison Wesley Longman. 2002.
  4. David J. Barnes y Michael Kölling. Programación Orientada a Objetos con Java. Una Introducción Práctica usando BlueJ. 3ra Edición. Pearson-Prentice Hall. 2007.
    En la Biblioteca Javeriana lo pueden encontrar como Objects first with Java : a practical introduction using BlueJ. - 3ed.. Signatura: 005.117B261o e1
  5. Barbara Liskov with John Guttag. Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison-Wesley. 2001.
    Signatura Biblioteca Javeriana: 005.133L769p e1
  6. Martin Abadi y Luca Cardelli. A Theory of Objects. Springer-Verlag. 1996.
    Signatura Biblioteca Javeriana: 005.131A116t e1
  7. Rumbaugh, Jacobson y Booch. El Lenguaje Unificado de Modelado. Manual de Referencia.Addison Wesley. 1999.
    Signatura Biblioteca Javeriana: 005.1R936u e1

Material de este semestre

 
materias/objetos.txt · Última modificación: 2015/10/23 09:23 por alexvalencia
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki