Usted está aquí: Inicio web asignaturas

Fichas de asignaturas 2008-09


  CÓDIGO NOMBRE
Asignatura 1711023 PROGRAMACIÓN ORIENTADA A OBJETOS
Descriptor   OBJECT-ORIENTED PROGRAMMING
Titulación 1711 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
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

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

 

Profesorado
Gerardo Aburruzaga García
José Fidel Argudo Argudo
Juan Manuel Dodero Beardo
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. 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. Relaciones de asociación y contenedores de secuencia.
P2. Biblioteca estándar de E/S.
P3. Clases de asociación y contenedores asociativos.
P4. Objetos función y algoritmos de la STL.
P5. Relaciones de generalización.
P6. 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/a

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:  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado: 4  
    • Sin presencia del profesorado: 0  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 43,5  
    • Preparación de Trabajo Personal:  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito: 9  
    • 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:No  
Criterios y Sistemas de Evaluación
ELECCIÓN DEL SISTEMA DE EVALUACIÓN

Para la primera convocatoria se dispone de dos sistemas de evaluación
diferentes: evaluación continua y evaluación final. Para el resto de
convocatorias, dado que ya no hay docencia, se utilizará exclusivamente la
evaluación final. No se guardará ningún tipo de calificación parcial entre
convocatorias.

Durante las dos primeras semanas del cuatrimestre los alumnos que lo deseen
deberán solicitar explícitamente acogerse al sistema de evaluación continua, a
través de una consulta electrónica que se habilitará en el campus virtual. En
caso de no hacerlo, se entenderá que optan por evaluación final. No obstante,
los profesores recomiendan, siempre que sea posible, acogerse al sistema de
evaluación continua.

Transcurrido este periodo, el alumno que haya optado por el sistema de
evaluación continua no podrá cambiar al sistema de evaluación final salvo por
causas sobrevenidas, justificadas documentalmente, que le imposibiliten la
asistencia a las clases de teoría y que sean comunicadas por correo
electrónico al profesor coordinador en un plazo de quince días naturales desde
que surja tal imposibilidad. A continuación se establecen las causas
reconocidas y la justificación documental exigible:

1. Problemas de salud: documento expedido por un facultativo médico
2. Contrato de trabajo: alta en la seguridad social y documento acreditativo
donde figure el periodo y el horario
3. Contrato de becario: documento acreditativo donde figure el periodo y el
horario

CÓDIGOS DE LAS DISTINTAS CALIFICACIONES

1. NCP: nota de controles parciales
2. NCC: nota de las cuestiones de clase
3. NET: nota del examen de teoría
4. NPR: nota de prácticas
5. NFT: nota final de teoría
6. NFA: nota final de la asignatura


SISTEMA DE EVALUACIÓN FINAL

El sistema de evaluación final 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 (NET) 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:

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

SISTEMA DE EVALUACIÓN CONTINUA

El sistema de evaluación continua consta de dos componentes:

1. Evaluación continua
2. Memorias de prácticas y defensa

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

NFT = NCP * 0,9 + NCC * 0,1
si NPR = APTO o NFT < 5
NFA = NFT
si no
NFA = 4

A lo largo del curso se realizarán varias pruebas de control y entregas de
cuestiones, que tendrán lugar durante las propias clases, en fechas publicadas
con suficiente antelación.

Algunas de estas pruebas de control podrán ser coevaluadas por los alumnos. En
ese caso y con posterioridad, se dedicará una sesión de clase a la
coevaluación.  En cada sesión de coevaluación los alumnos deberán calificar,
bajo la supervisión del profesor, los ejercicios de dos compañeros elegidos al
azar correspondientes al control previo. Para ello, el profesor presentará una
solución canónica y los criterios de corrección a emplear.

La asistencia a las sesiones de control y coevaluación es obligatoria.

- Si un alumno no asiste a una sesión de control o de coevaluación, su control
se calificará con 0.

- Si tras revisar el resultado de una coevaluación los profesores detectan
negligencia o fraude, el control del alumno corrector se calificará con 0.

La evaluación continua se realizará mendiante controles parciales y entregas de
cuestiones que se propondrán a los alumnos durante las clases. La calificación
de la evaluación continua será la media ponderada de la obtenida en los
controles (NCP) y la de las cuestiones de clase (NCC), 90% de NCP y 10% de NCC.

Las cuestiones de clase (NCC) se calificarán globalmente en una escala de 0 a
10 y la calificación de los controles parciales (NCP) será la correspondiente,
en una escala de 0 a 10, a la media aritmética de las calificaciones de los
controles que la integran, siempre que se cumplan los requisitos de asistencia
y de presentación de memorias de prácticas indicados.

La presentación de memorias parciales por cada práctica a través del campus
virtual en las fechas indicadas por el profesores es obligatoria.

- Si un alumno no presenta alguna de las memorias, obtendrá un NO APTO en su
NPR.

NORMAS COMUNES PARA AMBOS SISTEMAS

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 (o memorias parciales, para el caso de evaluación continua) 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. Universidad de Cádiz. 2001.

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.

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

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.

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.

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.
Cronograma

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

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