Usted está aquí: Inicio web asignaturas

PROGRAMACIÓN ORIENTADA A OBJETOS

  Código Nombre    
Asignatura 1710022 PROGRAMACIÓN ORIENTADA A OBJETOS Créditos Teóricos 3
Descriptor   OBJECT ORIENTED PROGRAMMING Créditos Prácticos 3
Titulación 1710 INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Tipo Obligatoria
Departamento C137 INGENIERÍA INFORMÁTICA    
Curso 2      
Créditos ECTS 4,5      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 36.7% 27.0%

 

ASIGNATURA OFERTADA SIN DOCENCIA

 

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

Profesores

Gerardo Aburruzaga García
José Fidel Argudo Argudo (Coordinador)
Juan Boubeta Puig
Inmaculada Medina Bulo
Guadalupe Ortiz Bellot
Alberto Salguero Hidalgo

Situación

Prerrequisitos

Haber cursado con aprovechamiento las siguientes asignaturas:

- Introducción a la Programación
- Metodología de la Programación
- Estructuras de Datos I y II
- Análisis y Diseño de Algoritmos I

Contexto dentro de la titulación

Esta asignatura complementa la formación del estudiante en el campo de la
programación de ordenadores, dedicándose al estudio del paradigma de la
programación orientada a objetos y de los principios en que se basa:
Abstracción, encapsulamiento, herencia y polimorfismo.

Recomendaciones

Haber aprobado las asignaturas señaladas en los prerrequisitos.

Competencias

Competencias transversales/genéricas

- Análisis y síntesis
- Razonamiento abstracto
- Pensamiento crítico
- Resolución de problemas
- Planificación y organización
- Comunicación y trabajo en equipo
- Expresión oral y escrita
- Preparación y presentación de documentación técnica

Competencias específicas

  • Cognitivas(Saber):

    - Conocer los principios fundamentales en los que se sustenta el
    paradigma de la programación orientada a objetos.
    - Conocer los aspectos generales sobre los lenguajes orientados a
    objetos y su evolución histórica.
    - Conocer los pasos para la realización de un programa orientado a
    objetos y sus principales elementos (objetos, mensajes, clases,...)
    - Conocer los tipos de relaciones que se pueden establecer entre los
    elementos de un sistema orientado a objetos.
    - Conocer los tipos de polimorfismo que se pueden presentar en un
    sistema orientado a objetos.
    - Conocer el lenguaje C++ como un lenguaje orientado a objetos.
    - Conocer los elementos fundamentales de la biblioteca estándar de
    C++ (E/S, STL,...).
    
  • Procedimentales/Instrumentales(Saber hacer):

    - Identificar los objetos que aparecen en un sistema, sus
    características y comportamientos. Clasificarlos en clases e
    identificar las relaciones existentes entre ellas.
    - Implementar clases, objetos y sus relaciones con el lenguaje
    orientado a objetos C++.
    - Diseñar un sistema orientado a objetos de mediana complejidad.
    - Implementar un sistema orientado a objetos de mediana complejidad
    con el lenguaje de programación C++.
    
  • Actitudinales:

    - Apreciar las ventajas del empleo de diversas herramientas de
    software libre.
    - Valorar la importancia de consultar con soltura bibliografía y
    otros materiales.
    - Estar dispuesto a buscar y contrastar información de diversas
    fuentes de manera independiente.
    - Ser consciente de la necesidad de abordar nuevos problemas y
    evaluar posibles soluciones con espíritu crítico.
    - Apreciar las ventajas de trabajar cooperativamente en pequeños
    grupos, comunicando ideas con claridad y rigor.

Objetivos

Los objetivos que pretende cubrir la asignatura pueden resumirse en
los siguientes puntos:

1. Comprender el paradigma de la programación orientada a objetos.
2. Aprender a programar en el laboratorio un modelo de clases de cierta
complejidad siguiento el paradigma de la programación orientada a objetos.

Programa

Teoría: Programación orientada a objetos.

T0. Evolución histórica y principios fundamentales.
0.1. Evolución histórica.
0.2. Principios básicos.

T1. Paradigma de la programación orientada a objetos.
1.1. Principios generales.
1.2. Objetos.
1.3. Clases.
1.4. Relaciones entre clases.

T2. Relaciones entre clases.
2.1. Descripción general.
2.2. Asociaciones.
2.3. Generalizaciones y especializaciones.
2.4. Interfaces e implementaciones.

T3. Polimorfismo.
3.1. Descripción general.
3.2. Sobrecarga.
3.3. Polimorfismo en tiempo de ejecución.
3.4. Polimorfismo paramétrico.

Prácticas: Programación orientada a objetos.

P0. Clases, objetos y excepciones.
P1. Biblioteca de E/S y localización
P2. Relaciones de asociación y contenedores de la STL.
P3. Clases de asociación y algoritmos de la STL.
P4. Herencia y polimorfismo.

Metodología

Las clases teóricas se basarán fundamentalmente en las explicaciones del
profesor sobre el temario y en la realización de ejercicios prácticos
(sobre pizarra) asociados al mismo. Así mismo, se propondrán cuestiones a
los
alumnos que deberán resolver en clase con material de apoyo.

Se incentivará la participación activa del alumnado en las clases,
provocando
el profesor un debate abierto sobre cada uno de los temas que se traten,
motivando a los alumnos para que propongan soluciones alternativas a los
problemas planteados y su posterior discusión.

Las clases prácticas complementan los contenidos de la parte teórica. Se
proporcionarán ejercicios que se desarrollarán en el laboratorio a lo largo
del
curso con el objetivo de obtener la implementación completa de un sistema
orientado a objetos.

Tanto las clases teóricas como las prácticas se servirán del campus virtual
como apoyo para la  docencia. Estarán disponibles herramientas de
comunicación
como foros  especializados, tutorías electrónicas privadas y correo
electrónico,
así como diversos contenidos en formato digital.

Distribución de horas de trabajo del alumno

Nº de Horas (indicar total): 112,5

  • Clases Teóricas: 28  
  • Clases Prácticas: 28  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas: 2  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesor: 2  
    • Sin presencia del profesor: 9,5  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 40  
    • Preparación de Trabajo Personal:  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito: 3  
    • Exámenes orales (control del Trabajo Personal):  

Técnicas Docentes

Sesiones académicas teóricas:Si   Exposición y debate:Si   Tutorías especializadas:No  
Sesiones académicas Prácticas:Si   Visitas y excursiones:No   Controles de lecturas obligatorias:Si  

Criterios y Sistemas de Evaluación

Al haber dejado de impartirse la asignatura en el curso 2011/2012, el
alumno solamente
dispone ya de las convocatorias oficiales de examen del curso 2012/2013
(hasta alcanzar el máximo de 4 convocatorias a las que tiene derecho). El
alumno es totalmente responsable de asegurarse, con anterioridad a su
presentación a examen, de que tiene derecho a hacerlo de acuerdo con la
normativa vigente (solicitud de presentarse en la convocatoria de diciembre
o a más de dos convocatorias en el mismo año). Si no es así, su examen no
tendrá ningún
tipo de efecto administrativo.

El sistema de evaluación consta de dos componentes:

1. Examen final de teoría
2. Memoria de prácticas y defensa final

El examen final de teoría será un examen escrito que se realizará de
acuerdo con
las convocatorias oficiales de exámenes finales que establecen los
Estatutos de
la Universidad de Cádiz y que el centro publica con la debida antelación.
La
calificación del examen final de teoría se realizará en una escala de 0 a
10.

Los alumnos deberán presentar una memoria final de prácticas a través del
campus
virtual en las fechas indicadas por el profesor.

La calificación final de la asignatura se obtiene de la siguiente forma:

si NPR = APTO o NFT < 5
NFA = NFT
si no
NFA = 4

donde

NPR = Nota de prácticas
NFT = Nota del examen final de teoría
NFA = Nota final de la asignatura

La calificación de las prácticas (NPR) será APTO o NO APTO. Sólo se
corregirán
las memorias de aquellos alumnos con NFT >= 5. Los alumnos podrán ser
convocados
para la defensa de sus prácticas en determinadas fechas indicadas por el
profesor. A dicha defensa deberá acudir con una copia impresa de la memoria
entregada electrónicamente. El desconocimiento de las cuestiones planteadas
implicará que NPR = NO APTO.

CRITERIOS DE EVALUACIÓN

Entre los criterios de evaluación, cabe destacar que los profesores
valorarán no
sólo la corrección y eficiencia de las soluciones presentadas, sino también
la
claridad y elegancia de su desarrollo, aspectos éstos en los que se
incidirá
durante todo el curso.

Recursos Bibliográficos

Bibliografía básica

Aburruzaga García, Gerardo; Medina Bulo, Inmaculada y Palomo Lozano,
Francisco.
Fundamentos de C++.
Servicio de Publicaciones de la Universidad de Cádiz. 2ª edición.
1ª reimpresión. 2009.

Budd, Timothy.
An Introduction to Object-Oriented Programming
Addison-Wesley. 3ª edición. 2002.

Carretero Pérez, Jesús; García Carballeira, Félix; Pérez Menor, José María;
García Sánchez, José Daniel y Sánchez García, Luis Miguel
Problemas resueltos de programación en lenguaje C++.
Paraninfo. 2004.

Horstmann, Cay S. y Budd, Timothy A.
Big C++.
Wiley. 2ª edición. 2008.

Josuttis, Nicolai M.
The C++ Standard Library: A Tutorial and Reference.
Addison-Wesley. 1999.

Muñoz Caro, Camelia; Niño Ramos, Alfonso y Vizcaíno Barceló, Aurora
Introducción a la programación con orientación a objetos.
Prentice-Hall. 2002.

Pohl, Ira.
C++ for C Programmers.
Addison-Wesley. 1999. 3ª edición.

Stroustrup, Bjarne.
The C++ Programming Language. Special Edition.
Addison-Wesley. 2000.

Stroustrup, Bjarne.
Programming: Principles and Practice Using C++
Addison-Wesley. 2008.

Bibliografía complementaria

Aburruzaga García, Gerardo; Medina Bulo, Inmaculada y Palomo Lozano,
Francisco.
Por Fin: C ISO. Un Curso de C Estándar.
Servicio de Publicaciones. Universidad de Cádiz. 1998.

Aburruzaga García, Gerardo; Medina Bulo, Inmaculada y Palomo Lozano,
Francisco.
La Biblioteca Estándar de C.
Servicio de Publicaciones. Universidad de Cádiz. 1998.

Austern, Matthew H.
Generic programming and the STL. Using and extending the
C++ standard template library.
Addison-Wesley. 1999.

Kernighan, Brian y Ritchie, Dennis.
The C Programming Language.
Prentice-Hall. 1988. 2ª edición.

Lippman, Stanley y LaJoie, Josee.
C++ Primer.
Addison-Wesley. 2005. 4ª edición.

Musser, David R. y Saini, Atul.
STL tutorial and reference guide. C++ programming with the standard
template
library.
Addison-Wesley. 2.ª edición. 2001.

Plauger, P. J.
The Standard C Library.
Prentice-Hall. 1992.

Pohl, Ira.
C++ by Dissection
Addison-Wesley. 2001.

Tondo, Clovis L. y Gimpel, Scott E.
The C Answer Book.
Prentice-Hall. 1989. 2ª edición.

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.