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.