Planificación de Programación Orientada a Objetos (2021)

     IMPRIMIR PLANIFICACIÓN

    Información básica

    Carrera
    Ingeniería en Informática
    Departamento
    Informática
    Sitio Web
    No especificada
    Plan de Estudios
    Plan 2006
    Carácter Período
    Cuatrimestral 2° Cuatrimestre
    Docente Responsable
    Horacio Cesar Loyarte

    Equipo docente

    Nombre y Apellido
    Castillo, Cesar Elias
    Godoy, Roberto Javier
    Loyarte, Horacio Cesar
    Novara, Pablo José
    Prodolliet, Jorge Adrian
    Vallejos, Manuel Alfredo

    Carga horaria

    Carga horaria total 90 hs
    Teoría 32 hs
    Resolución de ejercicios 30 hs
    Proyecto y diseño 0 hs
    Evaluaciones 12 hs
    Formación experimental 0 hs
    Resolución de problemas de ingeniería 10 hs
    Otras actividades 6 hs

    Contenidos mínimos

    Introducción a la Programación Orientada a Objetos. Estructuras de datos básicas. Funciones, operadores y punteros. Reusabilidad. Elementos de Programación Genérica. Construcción de programas, depuración y documentación. Diseño de interfases con herramientas para desarrollo rápido de aplicaciones

    Objetivos

    Objetivos Generales

    Que el alumno logre:

    Conocer elementos  básicos de la Ingeniería de Software.
    Conocer y aplicar los fundamentos de la programación orientada a objetos.
    Implementar en computadoras: diseñar editar, compilar, probar, depurar y documentar programas.
    Desarrollar aplicaciones de software orientadas a objetos empleando una herramienta de programación para el diseño de entornos gráficos y orientada a eventos.

     Objetivos  Específicos

    Que el alumno logre:

    • Aplicar los conceptos desarrollado en Fundamentos de Programación
      Resolver problemas aplicando el paradigma de la Programación Orientada a Objetos.
      Conocer, dominar y aplicar el lenguaje de programación ANSI/ISO C++.|
      Conocer y aplicar el concepto de programación genérica usando C++.
      Aplicar el concepto de reusabilidad empleando bibliotecas estándar  y  propias.
      Diseñar interfaces gráficas de usuario empleando una herramienta de programación visual.
      Crear aplicaciones con interfaces gráficas utilizando el modelo de objetos.
      Crear un proyecto de software completo empleando los conceptos estudiados.

       

    Conocimientos específicos previos para cursar la asignatura

    Fundamentos de Programación.

    Introducción al lenguaje C/C++

    Metodología de enseñanza

    a) Desarrollo de las clases

    La asignatura se desarrollará aplicando el modelo de Aprendizaje Centrado en el Alumno (ACE). El curso será administrado desde una plataforma LMS (Moodle 3.8x) donde se ha configurado un aula virtual (http://e-fich.unl.edu.ar/moodle/entrar.php?errorcode=4 curso: POO2021) desde donde se dispondrán todos los recursos, notificaciones, consultas y evaluaciones.

    Las clases de teoría y práctica tienen instancias sincrónicas, pero son opcionales, pues se hallan grabadas y pueden reproducirse en cualquier momento. Como alternativas se dispone de guías, tutoriales y libros sugeridos. Se sugiere el cursado sincrónico de las clases prácticas para poder realizar consultas.

    Se dispondrán de consultas sincrónicas antes de cada evaluación parcial (2 parciales y sus recuperatorio), y el en foro del aula virtual las consultas asincrónicas son permanentes.nidos. 

     

    b) Material didáctico

    a. Guías con resúmenes de los conceptos teóricos.

    b. Guías de trabajos prácticos con problemas y cuestionarios.

    c. Material electrónico dispuesto en el aula virtual: guías, manuales, sitios de interés, preguntas frecuentes, software.

    d. Videos de las clases de teoría.

    e. Videos de las clases prácticas.

    h.  Entornos de programación C++: Zinjai o el de preferencia del estudiante.

    Programa Analítico

    Unidad 1

    Teoría:  Punteros. Operador referencia y desreferencia. Aritmética de punteros en C++. Arreglos y punteros. Funciones y punteros.

    Práctica: Ejercicios con punteros en C++. Programas de aplicación.

    Unidad 2

    Teoría:  Introducción a la Ingeniería de Software. Evolución del software.Características del software. La crisis del software. Generación de programas. Componentes del software. Ciclo de vida del software.  Introducción a la Programación Orientada a Objetos. El desarrollo OO. La necesidad del diseño OO. Metas y logros de  la OO.  Consideraciones sobre Lenguajes OO. El costo del desarrollo OO. Ciclo completo del desarrollo OO. Conceptos de la POO: clases, instancias, mensajes, herencia, encapsulamiento,  polimorfismo.  El modelo de Objetos en C++. Clases. Encapsulamiento.

    Práctica: Ejercicios sencillos usando el modelo de objetos, resueltos con el planteo de una única clase. Sintaxis de C++ para POO.  

    Unidad 3

    Teoria: Relaciones entre clases. Propósito de funciones amigas. Atributos y funciones static.  Composición. Clases contenedoras. Herencia. Derivación de clases. Especialización y generalización. Miembros protegidos. Diferencias entre composición y herencia. Herencia múltiple. Funciones virtuales y polimorfismo. Aplicaciones de relaciones entre clases: Listas enlazadas como objetos.

    Práctica: Ejercicios de programación aplicando relaciones entre clases, polimorfismo.

    Unidad 4

    Teoría:   Sobrecarga de operadores. Operadores miembro y operadores de funciones amigas. Restricciones de la sobrecarga de operadores en C++. Operaciones con objetos.

    Práctica: Ejercicios de programación aplicando sobrecarga de operadores.

    Unidad 5

    Teoría: Objetos string.  La clase string.  Descripción y aplicaciones de los métodos de la clase string. Conversiones. Flujos de entrada y salida en C++. Archivos de texto. Procesamiento de un archivo de textos. 

    Práctica: Diseño de programas que acceden a archivos ede texto n C++. Manipulación de objetos string.

    Unidad 6

    Teoría: Flujos de entrada y salida en C++. Archivos de acceso aleatorio o binarios.  Procesamiento de archivos binarios.

    Práctica: Diseño de programas que acceden a archivos binarios en C++.

    Unidad 7

    Teoría:  Elementos de programación genérica.  Templates. Plantillas de función. Plantillas de clase. Ventajas.  Herencia y Templates. Excepciones: try, throw, catch.

    Práctica:  Aplicaciones de plantillas de función y de clase. Manejo de excepciones.

    Unidad 8

    Teoría: La Librería de plantillas estándar (STL). Elementos: contenedores, iteradores y algorimtmos. Clases vector, list, deque, map.  Funciones miembro de cada contenedor.

    Práctica:  Programas C++ con aplicaciones de la STL..

     

    Unidad 9

    Teoría:  Diseño de interfaces gráficas (GUI)Utilización de una herramienta de tipo RAD para C++. Herramientas para Windows y para Software libre. Componentes visuales. Programación basada en objetos y programación orientada a objetos..  Mensajes y eventos.  Creación de bibliotecas de clases reutilizables.  Desarrollo de aplicaciones. 

     Práctica:  Proyectos C++ en entornos  gráficos C++. Diseño de interfaces visuales para aplicaciones creadas  anteriormente.  

    Desarrollo de un proyecto C++ con interfaz gráfica  propuesto por la cátedra o por los alumnos (con visa favorable de la cátedra). Se puede efectuar en grupos de hasta 3 y los alumnos deben entregar: a) Proyecto OO funcionando libre de errores.  b) Documentación, la cual  debe incluir: b-1) descripción del sistema real,  b-2) diseño del modelo usando OO, b-3) programa fuente, b-4) manual del usuario, b-5) instaladores.

    Bibliografía

    Bibliografía básica

    Hernández Orallo-Hernánez Orallo, Juan Lizandra.
    C++ Estandar. 2002
    Paraninfo-Thomson Learning.

     

    Bibliografía complementaria

    Deitel y Deitel
    C++ Cómo programar. 5ta Ed. 2007.
    Pearson Educación- Prentice Hall.

    Stroustrup Bjarne
    El Lenguaje de Programación C++. 3ra Ed. 2001.
    Addison Wesley.

    Baragutusamy E.
    Programación Orientada a Objetos con C++. 4ta Ed. 2008
    Mc Graw Hill

    Hubbard J.
    Programming with C++.
    Schaum Outlines. Mc Graw Hill.

    Cronograma de actividades

    Unidad 1: Punteros Semana 1 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte
    Descripción:
    Observaciones:
    Unidad 1: Punteros Semana 1 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Jorge Adrian Prodolliet, Horacio Cesar Loyarte
    Descripción:
    Observaciones:
    Unidad 2: Introd. Ing Software - Introd POO Semana 2 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:
    Unidad 2: Introd. Ing Software - Introd POO Semana 2 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Unidad 3: Relaciones entre Clases Semana 3 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:
    Unidad 3: Relaciones entre Clases Semana 3 Tipo: O Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Unidad 3: Relaciones entre Clases Semana 4 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría 

    Observaciones:
    Unidad 3: Relaciones entre Clases Semana 4 Tipo: EP Duración: 6 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Unidad 4: Sobrecarga de operadores Semana 5 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:
    Unidad 4: Sobrecarga de Operadores Semana 5 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Revisión Semana 6 Tipo: C Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:
    Ejercicios de integración Semana 6 Tipo: PI Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Unidad 5: La clase string Semana 7 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:
    1er PARCIAL (unidades 1,2,3, y 4) Semana 7 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    1er Parcial

    Observaciones:
    Unidad 7: Templates Semana 7 Tipo: T Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Clase de Práctica

    Observaciones:
    Unidad 6: Flujos de Entrada Salida Semana 8 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Teoría

    Observaciones:

    Clase de Teoría

    Unidad 6: Flujos de Entrada Salida Semana 8 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Práctica

    Observaciones:
    Unidad 6: Flujos de Entrada Salida Semana 9 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Clase de Teoría

    Observaciones:
    Unidad 6: Flujos de Entrada Salida Semana 9 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Clase de Práctica

    Observaciones:
    Unidad 7: Templates Semana 10 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Clase de Teoría

    Observaciones:
    Unidad 8: Librería Estandard de Plantilla: STL Semana 11 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Clase de Teoría

    Observaciones:
    Unidad 8: Librería Estandard de Plantillas STL Semana 11 Tipo: T Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Clase de Práctica

    Observaciones:
    Unidad 8: Librería Estandard de Plantillas STL Semana 12 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Clase de Teoría

    Observaciones:
    Unidad 8: Librería Estandard de Plantillas STL Semana 12 Tipo: EP Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Clase de Práctiica

    Observaciones:
    Revisión Semana 13 Tipo: TP Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Pablo José Novara
    Descripción:

    Revisión

    Observaciones:
    2do Parcial Semana 13 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    2do Parcial

    Observaciones:
    Unidad 9: TP FInal-GUIs Semana 14 Tipo: PI Duración: 4 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Pautas para la elaboracion del TP Final

    Observaciones:
    Recuperatorios de Parciales Semana 14 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Recuperatorios de Parciales

    Observaciones:
    Unidad 9: TP FInal-GUIs Semana 15 Tipo: PI Duración: 2 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara
    Descripción:
    Observaciones:
    Recuperatorios de Parciales Semana 15 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Horacio Cesar Loyarte, Horacio Cesar Loyarte, Horacio Cesar Loyarte, Pablo José Novara, Jorge Adrian Prodolliet, Horacio Cesar Loyarte, Manuel Alfredo Vallejos
    Descripción:

    Recuperatorios de Parciales

    Observaciones:

    Requerimientos para regularizar

    De los 2 parciales de la asignatura: Obtener mínimo 4 en cada uno de los 2 parciales. S epueden recuperar los 2 parciales.

    Quienes obtega la reularidad deben rendir un escrito en el examen final y además defender su TP final.

    Requerimientos para promover

    Promoción parcial: Promedio mínino 7 entre los 2 parciales y no menos de 6 en cada uno y aprobar un coloquio integrador. Pueden recuperar los  parciales para mejorar la nota.

     Quienes promocionen esta parte escrita, solo deben defender TP final en el examen de la materia.

     

    Examen final

    Alumnos regulares
    Parte escrita: Consiste en 4 ejercicio,  3 problemas de programación y un ejercicio que contiene preguntas conceptuales. 
    Si el examen es a distancia, los aprobados tienen una instancia oral para explicar el desarrollo de las soluciones propuestas.
     
    Parte oral: cada alumno debe defender su TP final con interfaz grafica.
     
    Alumnos regulares con promocion parcial (parte escrita): solo defienden su TP final.
    Alumnos libres
    El mismo examen de alumnos Regulares más 1 o 2 ejercicios adicionales por lol cual se le concede más tiempo que el establecido para los regulares.

    Evaluaciones

    Fecha Tipo Modalidad Descripción
    28-09-2021 Parcial Escrita Parcial 1.

    Unidades 1, 2, 3, 4 

    05-10-2021 Parcial Escrita Recup. Parcial 1.
    16-11-2021 Parcial Escrita Parcial 2.

    Unidades 5, 6,7,8

    26-11-2021 Parcial Escrita Recup. Parcial 2.
    03-12-2021 Coloquio Oral Coloquio p Promoción.