Programación Orientada a Objetos

DATOS GENERALES

Código ICCR253
Pensum 2015
Horas semanales 4
Tipo Obligatoria
Asignaturas pre-requisitos ICCR554
Asignaturas co-requisitos Ninguna
Campo de formación
Práxis profesional
Unidad de organización curricular
Profesional

RESULTADOS DE APRENDIZAJE

De conocimientos:

  • Aplicar correctamente los fundamentos de programación OO.
  • Emplear los tipos de datos, tipos de objetos y estructuras de datos adecuados al problema que requiere resolver
  • Usar colecciones con sus interfaces e iteradores correspondientes para solución de problemas que requieren agrupar elementos de una sola unidad.
  • Manipular GUI para captura de datos y presentación de resultados

De destrezas:

  • Construye un producto de software que integra los conocimiento adquiridos para dar solución a problemas de complejidad media.
  • Repara (dar mantenimiento correctivo) programas en los que se presentan errores.
  • Recomendar (dar mantenimiento evolutico) programas incluyendo soluciones a nuevos requisitos.
  • Realiza adecuadamente control de errores y depuración de programas.

De valores y actitudes:

  • Propone soluciones de programación OO en las cuidan que sean confiables (reales, completos, seguros, correctos...), siempre cuidando el respeto a principios, valores y base legal.

ACTIVIDADES DEL COMPONENTE DE DOCENCIA

  • Exposición oral (clase magistral)
  • Ejercicios dentro de clase
  • Lecturas dentro de clase

ACTIVIDADES DEL COMPONENTE PRÁCTICO Y DE EXPERIMENTACIÓN

  1. Se crea la primera aplicación, en la cual se analiza a la clase, se analizan los atributos y el tipo de datos, se analiza Encapsulamiento y abastacción, Se analiza los constructores y la sobrecarga. Se analiza la sobreposición de métodos, la descripción de métodos
  2. Se realizan Ejercicios en el que se identifiquen las buenas especificaciones de un programa. Se realiza una buena descripción de una clase y la instanciación de objetos. Se identifica el objeto actual y diferenciar de los objetos. Se aprovecha para usar las estructuras básicas del lenguaje tales como condiciones e instrucciones de asignación y aritméticas.
  3. Se realizan Ejercicios en los que se se manejan GUI, llamadas a métodos, control de errores, revisar efectos no considerados en las llamadas.
  4. Se realizan ejercicios en los que se manejan Vectores en la descripción de una clase, se analiza todo tipo de uso de vectores en la clase. De Igual manera se ejecutan programas que manejen Matrices en una clase, Se realizan ejercicios que mezclan los diferentes tipos de arreglos en una clase. Es necesario además realizar ejecicios que manejes Strings y caracteres.
  5. Crear aplicaciones que permitan diferenciar bien entre Composición vs Agregación.Visualizar la utilidad de éste tipo de aplicaciones.
  6. Las aplicaciones apuntan a la buena aplicación de herencia, buena descripción de clases y subclases, cuando definir datos private y cuándo definir atributos protected. Esto se lo hace mediante ejercicios donde los estudiantes deben analizar una buena descripción.
  7. Ejercicios que permitan una buena descripción de clases abstractas,o bservar y aplicar para qué es útil el polimorfismo, cómo hacer programas polimórficos que sean capaces de aprovechar esta posibilidad para manejar conjuntos de datos en forma automática independientemente del tipo de objeto que se maneje.
  8. Aprovechando todo lo estudiado hasta el momento se desarrollan ejercicios que potencian el uso de datos mediante collections. Es importante que los ejercicios usen todas las opciones que proveen las bibliotecas del Java.
  9. Desarrollar ejercicios que permitan usar clases autoreferenciadas, se realiza un ejercicio completo de aplicación. Pero Java también dispone de sus propias bibliotecas que facilitan el uso de listas encadenadas, se realizan ejercicios que permiten explotarlas.
  10. Se crean archivos de manejo rápido tal que se pueda prepara a los estudiantes para concursos de programación. Por separado se aprende a menjar la clase File, y el acceso secuencial y randómico.

BIBLIOGRAFÍA

Básica
Sommerville, I. "Software engineering". 9th ed. Addison Wesley. ISBAN-13: 987-0-13-703515-1. 2010
Pressman, R. "Ingeniería de software". 7ma ed. Addison Wesley. ISBAN-13: 987-0-13-703515-1. 2010
Complementaria
Sommerville, I. "Software engineering". 9th ed. Addison Wesley. ISBAN-13: 987-0-13-703515-1. 2010
Pressman, R. "Ingeniería de software". 7ma ed. Addison Wesley. ISBAN-13: 987-0-13-703515-1. 2010
Pressman, R. "Ingeniería de software". 7ma ed. Addison Wesley. ISBAN-13: 987-0-13-703515-1. 2010

FORMAS DE EVALUAR

  • Pruebas parciales
  • Trabajos y tarteas fuera del aula
  • Participación en clase
  • Exámen final
  • Otras

REQUISITOS

De experiencia y conocimientos del profesor

  • Formación en ingeniería de sistemas.
  • Conocimiento de algoritmos, POO y lenguaje JAVA.
  • Capacitación o experiencia en docencia superior.

De infraestructura y recursos

  • Laboratorio con software Java últimas versiones
  • Omondo o cualquier modelador que corra en el workspace de Java

Back to top