Usted está aquí: Inicio web asignaturas

Fichas de asignaturas 2006-07


  CÓDIGO NOMBRE
Asignatura 1710022 PROGRAMACIÓN ORIENTADA A OBJETOS
Titulación 1710 INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS
Curso 2  
Duración (A: Anual, 1Q/2Q) 2Q  
Créditos ECTS 4,5  

Créditos Teóricos 3 Créditos Prácticos 3 Tipo Obligatoria

 

Profesorado
Gerardo Aburruzaga García
José Fidel Argudo Argudo (Coordinador)
Inmaculada Medina Bulo
José Santamaría López
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 ejemplos explicados en clase
siguiento el paradigma de la programación orientada a objetos.
Programa
Teoría: Programación orientada a objetos. (30h)

1. Evolución histórica y principios fundamentales. (3h)
1.1. Evolución histórica.
1.2. Principios básicos.

2. Paradigma de la programación orientada a objetos. (8h)
2.1. Principios generales.
2.2. Objetos.
2.3. Clases.
2.4. Relaciones entre clases.

3. Relaciones entre clases. (8h)
3.1. Descripción general.
3.2. Asociaciones.
3.3. Generalizaciones y especializaciones.
3.4. Interfaces e implementaciones.

4. Polimorfismo. (4h)
4.1. Descripción general.
4.2. Sobrecarga.
4.3. Polimorfismo en tiempo de ejecución.
4.4. Polimorfismo paramétrico.

5. Comparación entre distintos lenguajes con orientación a objetos. (7h)
5.1. Lenguaje de programación Java.
5.2. Diferencias fundamentales entre C++ y Java.
5.3. Ejemplos comparativos entre C++ y Java.

Prácticas: Programación orientada a objetos. (30h)

1. Introducción a C++. (4h)
1.1. Entorno de desarrollo.
1.2. Tipos de datos comunes.
1.3. Estructuras de control.
1.4. Excepciones.

2. Implementación de clases y operaciones con objetos. (6h)
2.1. Estructura de una clase.
2.2. Miembros de datos y de función.
2.3. Objetos: construcción y destrucción.

3. Biblioteca estándar de plantillas (STL). (6h)
3.1. Contenedores e iteradores.
3.2. Secuencias.
3.3. Contenedores asociativos.
3.4. Objetos función.
3.5. Algoritmos.

4. Biblioteca estándar de E/S (IOStreams). (2h)
4.1. Flujos de salida.
4.2. Flujos de entrada.
4.3. Flujos de fichero.
4.4. Flujos de cadena.

5. Implementación de relaciones. (6h)
5.1. Asociaciones.
5.2. Generalizaciones y especializaciones.
5.3. Interfaces e implementaciones.

6. Polimorfismo. (2h)
6.1. Sobrecarga.
6.2. Polimorfismo en tiempo de ejecución.
6.3. Polimorfismo paramétrico.

7. Programación en Java. (4h)
7.1. Entorno de desarrollo.
7.2. Ejemplos comparativos entre C++ y Java.
Metodología
Las clases teóricas constarán fundamentalmente de las explicaciones del
profesor y, ocasionalmente, de resúmenes escritos o ampliaciones de temas
específicos. Los contenidos teóricos se completarán con problemas que serán
propuestos convenientemente a los alumnos. Los más importantes se resolverán
en clase.

Las clases prácticas complementan los contenidos de la parte teórica.  Se
proporcionarán enunciados de las prácticas y ejercicios que se desarrollarán
en el laboratorio a lo largo del curso.
Criterios y Sistemas de Evaluación
La evaluación de la asignatura se realizará de acuerdo con las convocatorias
de exámenes finales que establecen los Estatutos de la Universidad de Cádiz. A
este efecto, la asignatura se divide en dos partes, correspondientes a la
teoría y la práctica. La superación de la asignatura requiere la de ambas por
separado. La parte práctica sólo será calificada si se supera la teórica. En
caso de superarse únicamente la parte teórica, se mantendrá su calificación
durante las restantes convocatorias del curso académico.

La parte teórica constará de un examen escrito calificable en una escala de
0 a 10. La parte práctica consistirá en la entrega de una memoria de
prácticas calificable como APTO o NO APTO. A este efecto, el alumno debe
desarrollar una memoria de prácticas durante el curso, resolviendo en cada
práctica los ejercicios indicados y consultando con el profesor los problemas
que puedan surgirle en su realización.

La calificación final se calculará de acuerdo con la siguiente fórmula:

Si CP = APTO,  CF = CT
Si CP = NO APTO, CF =  min{4, CT}

donde CF, CT y CP son, respectivamente, la calificación final, la teórica y la
práctica.

El profesor valorará no sólo la corrección y eficiencia de las soluciones
presentadas, sino también la claridad y elegancia de su desarrollo.
Recursos Bibliográficos
Bibliografía básica

Budd, Timothy.
Understanding Object-Oriented Programming with Java.
Addison-Wesley. 1998.

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.

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

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.

Aburruzaga García, Gerardo; Medina Bulo,
Inmaculada y Palomo Lozano, Francisco.
Fundamentos de C++.
Servicio de Publicaciones. Universidad de Cádiz. 2001.

Arnold, Ken; Gosling, James y Holmes, David.
El lenguaje de programación Java.
Addison-Wesley. 2001. 3ª edición.

Eckel, Bruce.
Piensa en Java.
Prentice-Hall. 2002. 2ª edición.

Kelley, Al y Pohl, Ira.
C by Dissection: The Essentials of C Programming.
Benjamin/Cummings. 1992. 2ª edición.

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

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

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

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

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

Tondo, Clovis L. y Leung, Bruce.
C++ Primer Answer Book.
Addison-Wesley. 1999.

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