Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2011-12


PROGRAMACIÓN ORIENTADA A OBJETOS

Asignaturas
 

Asignatura
 
Profesorado
 
Situación
 
Competencias
 
Objetivos
 
Programa
 
Actividades
 
Metodología
 
Distribucion
 
Técnicas Docentes
 
Evaluación
 
Recursos Bibliográficos
  Código Nombre    
Asignatura 1711023 PROGRAMACIÓN ORIENTADA A OBJETOS Créditos Teóricos 3
Descriptor   OBJECT ORIENTED PROGRAMMING Créditos Prácticos 3
Titulación 1711 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Tipo Obligatoria
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS    
Curso 2      
Créditos ECTS 4,5      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 25.4% 20.3%

 

ASIGNATURA OFERTADA SIN DOCENCIA

 

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

Profesorado

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

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. Polimorfismo de 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.

Criterios y Sistemas de Evaluación

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

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


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. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.