Competencias do título |
Código
|
Competencias da titulación
|
A1 |
Aprender de maneira autónoma novos coñecementos e técnicas avanzadas axeitadas para a investigación, o deseño e o desenvolvemento de sistemas e servizos informáticos. |
A3 |
Concibir e planificar o desenvolvemento de aplicacións informáticas complexas ou con requisitos especiais. |
A6 |
Avaliar, definir, seleccionar e auditar plataformas hardware e software para a execución e desenvolvemento de aplicacións e servizos informáticos. |
A7 |
Saber especificar, deseñar e implementar un sistema de información, empregando bases de datos. |
B1 |
Aprender a aprender. |
B2 |
Resolver problemas de forma efectiva. |
B3 |
Aplicar un pensamento crítico, lóxico e creativo. |
B4 |
Aprendizaxe autónoma. |
B5 |
Traballar de forma colaborativa. |
B6 |
Comportarse con ética e responsabilidade social como cidadán e como profesional. |
B7 |
Comunicarse de maneira efectiva en calquera contorno de traballo. |
B9 |
Capacidade para tomar decisións. |
B10 |
Capacidade de xestión da informática (captación e análises da información). |
B12 |
Capacidade para a análise e a síntese. |
B15 |
Motivación pola calidade. |
C3 |
Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida. |
C4 |
Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común. |
C6 |
Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse. |
Resultados de aprendizaxe |
Competencias de materia (Resultados de aprendizaxe) |
Competencias da titulación |
Conocer las diferencias entre el paradigma de programación imperativa tradicional y el paradigma de la orientación a objetos. |
A1
|
B1
|
C3
|
Comprender los conceptos básicos en los que se basa la orientación a objetos: clases, objetos, mensajes, etc. |
A1
|
B1 B2 B4
|
C3
|
Analizar, comprender y relacionar las propiedades básicas propias de la orientación a objetos: herencia, polimorfismo, ligadura dinámica, etc. |
A1
|
B1 B2 B3 B4
|
C3
|
Conocer los aspectos básicos del diseño UML, sobre todo lo que involucra el diseño estático (diagrama de clases) y dinámico (diagrama de secuencia) de un programa orientado a objetos. |
A1 A3
|
B1 B2 B3 B4
|
C3
|
Conocer, comprender e identificar los principios y patrones de diseño básicos para lograr un programa orientado a objetos flexible y reusable. |
A1 A3
|
B1 B2 B3 B4
|
C3
|
Construir clases básicas que representen objetos del dominio y que encapsulen el estado y el comportamiento de dichos objetos. |
A1
|
B2 B3 B4 B9 B10 B12
|
C3
|
Desarrollar y organizar clases sacando provecho de las propiedades propias de la orientación a objetos para desarrollar código flexible y reusable. |
A1 A3
|
B2 B3 B4 B9 B10 B12
|
C3
|
Diseñar un programa orientado a objetos utilizando el estándar UML y desarrollar posteriormente el código resultante de dicho diseño. |
A1 A3 A7
|
B2 B3 B4 B5 B9 B10 B12
|
C3
|
Diseñar un programa utilizando principios y patrones de diseño garantizando así que las propiedades propias de la orientación a objetos se utilizan adecuadamente. |
A1 A3
|
B2 B3 B4 B5 B9 B10 B12
|
C3
|
Usar la programación orientada a objetos para resolver problemas reales. |
A1
|
B2 B3 B4 B9 B10 B12
|
C3 C6
|
Manejar con solvencia un entorno integrado de desarrollo (IDE) en la programación |
A1 A6
|
B2 B3 B4
|
C3
|
Asumir la responsabilidad del trabajo y las acciones propias. |
|
B5 B6
|
C4
|
Valorar y respetar el trabajo propio y el ajeno. |
|
B5 B6
|
C4
|
Colaborar con los compañeros para llevar a cabo una práctica en grupo. |
|
B5 B7
|
C4
|
Valorar la importancia del análisis y el diseño en el desarrollo de programas orientados a objetos. |
|
B10 B15
|
C3 C6
|
Preferir las buenas prácticas de programación orientada a objetos sobre los antipatrones (malas prácticas) propias de los principiantes o de los malos programadores. |
|
B15
|
C6
|
Contidos |
Temas |
Subtemas |
Introducción |
Paradigmas de la programación
Programación orientada a objetos
El lenguaje Java |
Elementos básicos de la orientación a objetos |
Clases
Objetos |
Propiedades básicas de la orientación a objetos |
Abstracción
Encapsulamiento
Modularidad
Jerarquía
Polimorfismo
Tipificación
Ligadura dinámica
|
Modelado visual de objetos: UML |
Introducción
Elementos básicos del UML
Diseño estático: diagrama de clases
Diseño dinámico: diagrama de secuencia
|
Patrones de diseño |
Introducción
Patrones creacionales: inmutable, singleton
Patrones de comportamiento: estrategia, estado, iterador, observador, método plantilla
Patrones estructurales: composición, adaptador
|
Principios de diseño |
Principio abierto-cerrado
Principio de sustitución de Liskov
Diseño por contrato y principio de subcontratación
Principio de inversión de la dependencia
Principios de diseño y herencia
|
Herramientas |
NetBeans
JUnit |
Planificación |
Metodoloxías / probas |
Horas presenciais |
Horas non presenciais / traballo autónomo |
Horas totais |
Sesión maxistral |
25 |
25 |
50 |
Solución de problemas |
2 |
2 |
4 |
Prácticas de laboratorio |
2 |
12 |
14 |
Traballos tutelados |
4 |
20 |
24 |
Proba de resposta múltiple |
2 |
0 |
2 |
Foro virtual |
0 |
2 |
2 |
|
Atención personalizada |
1 |
0 |
1 |
|
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado |
Metodoloxías |
Metodoloxías |
Descrición |
Sesión maxistral |
En las clases presenciales de teoría, el profesor realizará una breve descripción de los contenidos temáticos y de los objetivos básicos perseguidos, con el fin de dotar al alumno de una visión global de la materia. Además se tratará de establecer interrelaciones con otros conceptos previamente adquiridos, de forma que se pueda establecer una línea temporal, y expondrá la bibliografía recomendada. Seguidamente pasará a desarrollar los contenidos teóricos utilizando como método la clase magistral. |
Solución de problemas |
Dentro de las clases presenciales también se incluirán clases o ejercicios de resolución de problemas que serán resueltos “in situ” con la colaboración activa de los alumnos. Estas clases o ejercicios se plantean como una forma de afianzar los conceptos teóricos explicados por el profesor y tratan de fomentar la participación de los alumnos, el diálogo abierto y la valoración de soluciones. |
Prácticas de laboratorio |
Las clases de prácticas consistirán principalmente en el desarrollo de una práctica final de la asignatura en la que se intentará ejercitar todos los contenidos expuestos en las clases teóricas. El enunciado de la práctica detallará el problema y las especificaciones que el alumno deberá respetar estrictamente. Posteriormente, la labor del profesor consistirá en la resolución de errores, solución de dudas, corrección de malos hábitos, etc. durante las horas de tutoría.
El desarrollo de la práctica comenzará con el diseño estático y dinámico del programa en base al estándar UML y terminará con su implementación en el lenguaje Java mediante el entorno de desarrollo NetBeans.
Publicación del enunciado: Se indicará durante el curso.
Fecha límite de entrega: Se indicará durante el curso.
Dada la carga de trabajo, se recomienda trabajar en grupo. Los grupos serían de 4 personas como máximo. Cualquier problema con los grupos deberá ser comunicado inmediatamente a los profesores. |
Traballos tutelados |
Se planteará la realización de un boletín de ejercicios (repartido en varios boletines pequeños) que los alumnos deberán resolver en parejas dentro o fuera del horario de prácticas. Los alumnos también podrán consultar dudas con los profesores de prácticas durante las horas de tutorías. Los ejercicios se implementarán en el lenguaje Java mediante el entorno de desarrollo NetBeans.
Publicación del enunciado: Varias fechas, se indicarán durante el curso.
Fecha límite de entrega: Varias fechas, se indicarán durante el curso.
Dada la carga de trabajo, se recomienda trabajar en grupo. Los grupos serían de 2 personas como máximo. Cualquier problema con los grupos deberá ser comunicado inmediatamente a los profesores. |
Proba de resposta múltiple |
Examen teórico de preguntas de respuesta múltiple sobre la materia impartida a lo largo del curso |
Foro virtual |
El Campus Virtual de la UDC permite tener foros en los que los alumnos y los profesores debatiran distintos aspectos relacionados con la asignatura |
Atención personalizada |
Metodoloxías
|
Foro virtual |
Prácticas de laboratorio |
Traballos tutelados |
|
Descrición |
Resolución de dudas y cuestiones que puedan surgir durante el desarrollo de las prácticas en particular y de la asignatura en general |
|
Avaliación |
Metodoloxías
|
Descrición
|
Cualificación
|
Prácticas de laboratorio |
PRÁCTICA DE DISEÑO:
Porcentaje de la nota global: 20%.
Requisito para superar la asignatura: Sacar al menos un 4 de 10.
Criterios de evaluación: La nota tendrá en cuenta no sólo el código desarrollado sino también la calidad de la memoria entregada, la calidad del análisis y diseño realizado, la calidad de los modelos UML desarrollados, etc. Más detalles en las instrucciones de la propia práctica.
Plagios: Copiar en algo supone un 0 en todo. Para todas las personas del grupo que plagie y para para todas las personas del grupo que se deje plagiar.
Convocatorias extraordinarias (septiembre, diciembre):
- Se guarda la nota si es mayor o igual que 4 de 10.
- Se permite intentar subir nota, y ello significa renunciar a la nota antigua.
|
20 |
Traballos tutelados |
BOLETÍN DE EJERCICIOS:
Porcentaje de la nota global: 20%.
Requisito para superar la asignatura: no.
Criterios de evaluación: En la convocatoria ordinaria la evaluación de los ejercicios será siguiendo los criterios estadísticos ECTS (quién haga más ejercicios correctos más nota tendrá). Más detalles en las instrucciones de los propios boletines.
Plagios: Copiar en algo supone un 0 en todo. Para todas las personas del grupo que plagie y para para todas las personas del grupo que se deje plagiar.
Convocatorias extraordinarias (septiembre, diciembre):
- Se guarda la nota si es mayor o igual que 5 de 10.
- Se permite intentar subir nota, y ello significa renunciar a la nota antigua.
- Los enunciados originales sólo son vigentes durante la convocatoria ordinaria. En las convocatorias extraordinarias se sustituirán por otros nuevos.
|
20 |
Proba de resposta múltiple |
PRUEBAS TEÓRICAS:
Porcentaje de la nota global: 60%.
Repartida entre examen final (50%) y controles de evaluación continua (10%) en convocatoria ordinaria.
Requisito para superar la asignatura: Sacar al menos un 4 de 10 en el examen final.
Criterios de evaluación: En un examen tipo test las respuestas incorrectas restan puntos para compensar el efecto del azar. Por ejemplo, si hay cuatro alternativas posibles, tres errores anulan un acierto. Más detalles en el propio enunciado.
Plagios: Copiar en algo supone un 0 en todo. Para quien plagie y para quien se deje plagiar.
Convocatorias extraordinarias (septiembre, diciembre):
- Se guarda la nota si es mayor o igual que 5 de 10.
- Se permite intentar subir nota, y ello significa renunciar a la nota antigua.
- La evaluación continua sólo es vigente durante la convocatoria ordinaria. En las convocatorias extraordinarias habrá sólo un examen final, que supondrá el 60% de la nota global. |
60 |
|
Observacións avaliación |
DERECHO A EVALUACIÓN: El alumno tendrá derecho a realizar todas las actividades evaluables en las fechas indicadas. El alumno que, por un motivo debidamente justificado, aún no se encontrase oficialmente matriculado, tendría los mismos derechos a realizar las actividades evaluables que los demás alumnos. El alumno no tendría privilegios para realizar nada fuera de plazo. Se rechazaría cualquier circunstancia que diese lugar a agravios comparativos. PUBLICACIÓN DE NOTAS: Las calificaciones definitivas del examen final se publicarán después de la revisión, antes del cierre de actas. Las calificaciones definitivas de las actividades evaluables previas al examen final se publicarán al menos siete días antes de la fecha del examen. CALIFICACIÓN EN ACTAS: - Aprobado o superior: Nota final mayor o igual que 5 y haber cumplido todos los requisitos para superar la asignatura. - Suspenso: Nota final menor que 5 o nota final mayor o igual que 5 y no haber cumplido todos los requisito para superar la asignatura. En el segundo caso, la calificación en actas será 4,5. - No Presentado: Equivale a no presentado al examen final. ALUMNOS REPETIDORES: Los alumnos repetidores pueden tomar una de las siguientes decisiones (no es necesario comunicársela al profesor): 1) Decidir desde el principio presentarse a la convocatoria de diciembre y no participar en la evaluación continua del nuevo curso para evitar trabajo innecesario. 2) Decidir desde el principio presentarse a la convocatoria de diciembre y, como repaso o como precaución, participar en la evaluación continua del nuevo curso. El repetidor tendría los mismos derechos que los alumnos de primera matrícula excepto el de trabajar en grupo. 3) Decidir desde el principio no presentarse a la convocatoria de diciembre y participar en la evaluación continua del nuevo curso igual que los alumnos de primera matrícula. Este sería el único caso en el que se les permitiese a los repetidores trabajar en grupo. Se recuerda a los alumnos que tienen la obligación moral de ser honestos con sus compañeros. Si el repetidor aprueba en la convocatoria de diciembre, no se le computará ninguna nota de evaluación continua del nuevo curso. Si el repetidor suspende o no se presenta en la convocatoria de diciembre, se abrirá a continuación un breve plazo de entrega para que tenga la posibilidad de entregar los boletines del nuevo curso fuera de plazo. A cada cosa entregada fuera de plazo se le descontarán 2 puntos sobre 10 de la nota. IMPLANTACIÓN DEL GRADO PARA EL PRÓXIMO CURSO: El curso siguiente, la asignatura de Programación Orientada a Objetos pasará a encontrarse en extinción. Una vez empezado el proceso de extinción, no habrá ningún tipo de docencia ni evaluación continua de la asignatura de Programación Orientada a Objetos. Sólo habrá pruebas finales que corresponderán a los contenidos teóricos y prácticos descritos. Se informará de todo en el Moodle.
|
Fontes de información |
Bibliografía básica
|
|
-
Eckel, B.. Piensa en Java. Prentice-Hall, Madrid. 4ª Edición. 2007. Signatura FIC: D32 (Jav) ECK.
-
Sierra, K., Bates, B. Head First Java, O’Reilly, Sebastopol, CA, 2nd Edition, 2005.
-
Cohoon, J., Davidson, J., Programación en Java 5.0, McGraw-Hill, Madrid, 2006.
-
Booch, G., Rumbaugh, J. y Jacobson. El lenguaje unificado de modelado, 2ª Ed.. Addison-Wesley, Madrid. 2006. Signatura FIC: D22 BOO.
-
Gamma, E. et al. Design patterns: elements of reusable object oriented software. Reading, MA. Addison-Wesley. 1995. FIC: D211 DES - D123 PAT (español). |
Bibliografía complementaria
|
|
McLaughlin,
B., Flanagan, D., Java 1.5 Tiger: A Developer’s Notebook,
O’Reilly, Sebastopol, CA, 2004.
Martin,
R.C. UML para programadores Java, Pearson, Madrid, 2004.
Rumbaugh,
J., Jacobson, I., Booch, G., El lenguaje unificado de modelado:
Manual de referencia, Addison-Wesley Iberoamericana, Madrid, 2000.
Budd,
T.. An introduction to object-oriented programming. Pearson.
3Edición. 2002. Signatura FIC: D15 BUD.
Knoernschild,
K.. Java desing: objects, UML and process. Addison-Wesley,
Boston, MA. 2002. Signatura FIC: D32 (Jav) KNO.
Recursos web El
principal recurso web de la asignatura es la página de la misma
existente en la facultad virtual de la UDC.
En dicha página se encontrará toda la información necesaria para
el desarrollo de la asignatura (transparencias, boletines de
ejercicios, prácticas, tests, preguntas frecuentes, links en
Internet, etc.). El acceso a dicha página está limitado a los
alumnos matriculados en la asignatura.
Para
información general sobre Java se recomienda acudir a la página web
oficial del lenguaje (http://java.sun.com)
en donde podremos acceder a noticias, documentación, descarga del
herramientas, etc.
Para
estar al día sobre las novedades del lenguaje se recomienda acceder
a páginas de noticias como por ejemplo JavaHispano
(http://javahispano.org). Otros materiales de apoyo La
biblioteca de la Facultad dispone de varias revistas científicas que
están a disposición del alumno, y que revisten interés para la
profundización en algún aspecto particular del temario, o para
disponer de actualizaciones (estados del arte) de alguna de las
técnicas y metodologías expuestas en clase. Algunas de las más
utilizadas en la asignatura de POO son: Communications
of the ACM
Journal
of Object Oriented Programming (ya no se publica pero hay números
antiguos)
IEEE
Transactions on Knowledge and Data Engineering
Data
and Knowledge Enginnering
ACM
transactions on programming languages and systems
Lecture
Notes in Computer Science (aquellos volúmenes que hacen referencia
a congresos sobre objetos como ECOOP – European Conference on
Object Oriented Programming).
|
Recomendacións |
Materias que se recomenda ter cursado previamente |
Análise de Sistemas Informáticos/614111402 | Deseño de Sistemas de Información/614111403 | Integración de Sistemas/614111503 | Proxecto fin de Carreira/614111505 | Análise e Deseño Orientado a Obxectos/614111602 |
|
Materias que se recomenda cursar simultaneamente |
Metodoloxía da Programación/614111205 |
|
Materias que continúan o temario |
Estrutura de Datos e da Información/614111102 | Programación/614111109 |
|
Observacións |
El estudio de la asignatura no debe plantearse como una actividad de estudio memorístico de los temas presentados en clase, sino que deberá tener una orientación más práctica. Por ejemplo, se debe saber qué es la ligadura dinámica, pero también se debe saber poner un ejemplo en Java de la misma o reconocer su aparición en un código Java.
Por otro lado hay que tener en cuenta que una asignatura como la programación orientada a objetos incluye un gran número de nuevos términos o conceptos (polimorfismo, genericidad, patrones, etc.) que no sólo hay que saber aplicar en la práctica sino que también hay que conocer en qué consisten, cuáles son sus ventajas e inconvenientes, cuándo es recomendable utilizarlos. Todos estos aspectos deben ser objeto de estudio por parte del alumno, si bien se intentará evitar en el examen final preguntas que prioricen el aprendizaje memorístico.
En cuanto a los boletines de ejercicios y a la práctica final se recomienda encarecidamente al alumno que no haga uso de actividades académicas deshonestas como pueden ser la copia o préstamo de ejercicios o prácticas ya que pueden llevar al suspenso automático de la asignatura (tanto del que ha copiado como del que ha permitido que le copien).
Las recomendaciones para mejorar o recuperar un examen suspenso son las siguientes:
* Ir a la revisión de exámenes y conocer en qué se ha fallado
* Ir a tutorías y preguntar las dudas que se tengan al profesor, no ir con dudas significativas al examen. Sois alumnos por lo que la única pregunta estúpida es aquella que no se hace.
* Intentar mejorar la nota de prácticas mejorando aquellos aspectos en los que se ha tenido menor puntuación
* Realizar más ejercicios de los boletines intentando relacionar la resolución de los ejercicios con los aspectos teóricos vistos en clase. |
|