Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 97 Horas de Titorías: 3 Clase Expositiva: 20 Clase Interactiva: 30 Total: 150
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Ciencia da Computación e Intelixencia Artificial
Centro Escola Técnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Con docencia
Matrícula: Matriculable
O obxectivo da materia é formar ao alumnado nos conceptos da Programación Orientada a Obxectos, facendo especial énfase nos seus aspectos máis prácticos. Isto supón que á finalización do curso o alumnado estará plenamente capacitado para desenvolver un programa seguindo o paradigma orientado a obxectos como alternativa á programación baseada en procedementos. Para iso introducirase ao alumnado na linguaxe de programación máis amplamente usada na actualidade: Java.
TEORÍA
Tema 1. Encapsulación: Tipos de datos, clases e obxectos.
Tema 2. Clases e tipos de datos: Tipos primitivos, referencias e aliasing.
Tema 3. Conxuntos de datos: Arrays, coleccións, listas, conxuntos e mapas.
Tema 4. Herdanza de clases: Xerarquías de clases, composición e abstracción.
Tema 5. Polimorfismo: Herdanza e simplificación de código.
Tema 6. Interfaces: Abstracción e independencia de clases.
Tema 7. Excepcións: Xestión de erros
Tema 8. Xeneralización
PRÁCTICAS
Boletín 1: Clases e obxectos.
Boletín 2: Conxuntos de datos.
Boletín 3: Herdanza e polimorfismo.
Boletín 4: Interfaces e excepcións.
BIBLIOGRAFÍA BÁSICA (por orden de prioridade)
1. ECKEL, Bruce. Piensa en Java. 4a edición, Prentice Hall, 2007. ISBN: 978-8489660342.
[Sig.: A310 2, Escola de Enxeñería]
2. DEITEL, Harvery M., DEITEL, Paul J. Cómo programar en Java. 9a edición, Pearson Educación, 2004. ISBN: 978-6073211505.
[Sig.: A310 1 1, Escola de Enxeñería (5a edición)]
BIBLIOGRAFÍA COMPLEMENTARIA
3. COHOON, James P., DAVIDSON, Jack W. Programación en Java 5.0. 1a Edición, McGraw-Hill, 2006. ISBN: 978-8448150617.
[Sig.: 3 C60 162, Fac. Física]
4. JOYANES AGUILAR, Luis, ZAHONERO MARTÍNEZ, Ignacio. Programación en Java 6: Algoritmos, Programación Orientada a Objetos e Interfaz Gráfica de Usuario. 1a Edición, MgGraw-Hill, 2011. ISBN: 978-6071506184.
[Sig.: C60 406, Fac. Física]
O alumnado adquirirá un conxunto de competencias específicas da programación orientada a obxectos, pero tamén una serie de competencias xenéricas a calquera desenvolvemento dun programa software e, finalmente, unhas competencias transversais que inciden nas habilidades persoais e no xeito no que se relaciona alumnado entre si. Tendo isto en conta, as competencias son as seguintes:
COMPETENCIAS ESPECÍFICAS
* Coñecementos básicos no uso e programación de ordenadores (FB4), concretamente na creación de programas seguindo o paradigma orientado a obxectos.
* Coñecemento e utilización de xeito eficiente dos tipos e estruturas de datos máis axeitados para a resolución dun problema (RI7). Esta competencia é intrínseca do paradigma orientado a obxectos, na medida en que a construción dos programas comeza modelando as estruturas de datos que permiten modelar o problema.
* Capacidade para analizar, construír e manter aplicacións de forma robusta e eficiente, elixindo o paradigma e as linguaxes de programación máis axeitadas (RI8). Esta é unha das principais competencias que se deberían adquirir, dado que á conclusión do curso o alumnado deberá poder decidir correctamente que paradigma de programación aplicar en función das características do problema.
COMPETENCIAS XENÉRICAS
* Capacidade para concibir e desenvolver aplicacións informática empregando métodos da enxeñaría do software (CG5). Esta competencia é inherente á materia de programación orientada a obxectos, dado que o obxectivo dela consiste en desenvolver programas usando as características específicas desde tipo de paradigma.
* Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade (CG9). Esta competencia desenvolverase na resolución dos exercicios que compoñen os boletíns, onde será preciso decidir que elementos da programación se deberán aplicar e como implementar a solución tendo en conta as características da programación orientada a obxectos.
COMPETENCIAS TRANSVERSAIS
* Capacidade de análise e síntese para a resolución de problemas (TR1). Esta competencia desenvolverase nos exercicios prácticos nos que se proban as características da programación orientada a obxectos.
* Traballo en equipo e habilidades nas relacións interpersoais (TR2). Esta competencia desenvolverase na propia dinámica das clases interactivas, nas que o alumnado discutirá as distintas solucións aos exercicios dos boletíns, de modo que será necesario explotar as habilidades de interacción entre persoas.
* Aprendizaxe autónomo e adaptación a novas situacións (TR3). Na resolución dos exercicios fóra das sesións de prácticas e no entendemento dos conceptos de programación orientada a obxectos será preciso desenvolver este tipo de competencias.
COMPETENCIAS DE MÓDULO
* Manexar diferentes niveis de abstracción para estruturar o software a desenvolver.
* Programar baixo a paradigma da programación orientada a obxectos.
* Identificar posibles estratexias de solución a problemas cos conceptos propios da orientación a obxectos, como o uso da xerarquía, o polimorfismo e a utilización de interfaces de obxectos.
* Coñecer diferentes paradigmas de programación e saber elixir o máis apropiado a cada situación.
A metodoloxía da ensinanza está dirixida a focalizar a materia sobre os aspectos prácticos da programación e sobre os conceptos que diferencian ó paradigma orientado a obxectos doutras aproximacións. O alumnado debe estar capacitado, polo tanto, para entender as vantaxes do enfoque orientado a obxectos e para desenvolver un programa con solvencia seguindo este paradigma de programación. Tendo isto en conta, distínguense tres tipos de actividades de aprendizaxe: clases maxistrais, sesións en grupos reducidos, e titorías en grupos reducidos. Así:
(1) As clases maxistrais (20 horas) están dirixidas a explicar as características da programación orientada a obxectos (herdanza, polimorfismo, etc.), facendo especial énfase nas diferencias co paradigma de programación baseada en procedementos e ilustrando con exemplos as situacións nas cales o enfoque orientado a obxectos é máis axeitado. Para explicar estas características farase uso de exemplos sobre a linguaxe de programación Java, aínda que nas clases maxistrais non se pretende detallar todos os aspectos da linguaxe: o seu uso está orientado a ilustrar os conceptos do paradigma de programación.
(2) As sesións prácticas en grupos reducidos (30 horas) están dirixidas a que o alumnado adquira destreza na implementación de programas seguindo o paradigma orientado a obxectos. Por elo é importante que nestas prácticas se realice un conxunto suficientemente extenso de exercicios de programación nos que se faga uso das características da programación orientada a obxectos desde o prisma da linguaxe Java. Para elo o alumnado deberán realizar tres boletíns compostos á súa vez dun conxunto de exercicios nos que se irá vendo o xeito de construír programas orientados a obxectos e como facer uso das características do paradigma. A asistencia a estas clases é OBRIGATORIA.
Tendo en conta esta metodoloxía de ensino, as competencias FB4, RI7, RI8, CG5 e CG9, así como as indicadas no módulo de programación, teñen contidos específicos que están vencellados coa parte teórica e práctica dunha materia como Programación Orientada a Obxectos, na que se revisan os paradigmas de programación modular e estruturada ata chegar a unha forma de programación máis flexible. Estas competencias, por tanto, avalíanse de forma explícita nas probas realizadas ao longo do curso.
Por outra banda, a competencia TR1 traballarase nos exercicios prácticos, xa que neles débense analizar os problemas expostos e sintetizar na súa resolución os conceptos da Programación Orientada a Obxectos; a competencia TR2 traballarase na dinámica das clases prácticas nas que se poderán discutir diferentes solucións aos boletíns entre o alumnado; e a competencia TR3 traballarase nos exercicios prácticos, xa que neles é onde se deberá adaptar a un novo paradigma de computación, que estende os conceptos da programación modular e estruturada.
A avaliación da materia terá lugar de dous xeitos diferentes, aínda que complementarios, que pretenden avaliar a competencia na realización práctica de programas e o dominio do paradigma orientado a obxectos. Por outra parte, distinguirase entre a avaliación da oportunidade ordinaria e a de recuperación:
OPORTUNIDADE ORDINARIA
(1) Exame no que se demostrará o dominio dos aspectos teóricos da programación orientada a obxectos como alternativa á programación baseada en procedementos, e daquelas características de Java que inciden sobre este tipo de programación. Neste exame deberase respostar a un conxunto de cuestións sobre as características da programación orientada a obxectos e da linguaxe Java, que constitúen o temario de teoría da materia. Esta parte representará o 70% da nota final da materia.
(2) Realización dun conxunto de boletíns nos que se demostrará de xeito práctico o dominio da linguaxe de programación Java e dos conceptos da programación orientada a obxectos. Todos os boletíns realizaranse de xeito individual. Esta parte constituirá o 30% da nota final da materia.
Se se entregou o primeiro boletín considerarase como presentado na materia. Por último, a copia parcial ou total dunha clase ou dun método dalgunha das entregas dos boletíns significará o suspenso de toda a materia.
OPORTUNIDADE DE RECUPERACIÓN
Os criterios de avaliación das partes de teoría e práctica na oportunidade de recuperación serán exactamente os mesmos que para a oportunidade ordinaria. Xa que logo, ademais de superar o exame de teoría e os boletíns, para poder superar a materia será necesario que se tivese asistido ás sesións prácticas interactivas (cos criterios de asistencia indicados máis abaixo).
CONTROL DE ASISTENCIA
Tal e como se comentou anteriormente, a asistencia ás sesións prácticas interactivas é obrigatoria debido a que nelas se abordan conceptos clave da materia, e o control desta asistencia realizarase a través de follas de firmas que se deberán cubrir á finalización de cada unha das sesións. Ademais, se se asiste a menos do 80% das sesións prácticas interactivas considerarase que non se superou a materia.
No caso de realización fraudulenta de exercicios ou probas, será de aplicación o recollido na Normativa de avaliación do rendemento académico dos estudantes e de revisión de cualificacións.
En aplicación da Normativa da ETSE sobre plaxio (aprobada pola Xunta da ETSE o 19/12/2019), a copia total ou parcial dalgún exercicio de prácticas ou teoría suporá o suspenso nas dúas oportunidades do curso, coa cualificación de 0,0 en ambos casos.
Tal e como se indicou anteriormente, a asistencia ás sesións de prácticas é obrigatoria, e ademais esa participación debería ser activa para así aproveitar de forma adecuada o tempo. Ademais disto, necesitarase un tempo adicional para traballar nos seguintes aspectos:
(1) Estudo autónomo dos conceptos da programación orientada a obxectos (25 horas). O tempo dedicado a este estudo non só inclúe o necesario para preparar o exame teórico, senón tamén o tempo que se precisa para entender os conceptos teóricos de forma que os poida aplicar correctamente á construción dos programas.
(2) Escritura de exercicios e traballos (10 horas). O tempo dedicado a esta escritura está relacionado co traballo que se deberá entregar á conclusión de cada un dos boletíns de exercicios, no cal se deberán explicar como se realizou o programa seguindo o enfoque orientado a obxectos.
(3) Completar os exercicios dos boletíns (50 horas). Este tempo é necesario para que se completen os exercicios dos boletíns que non se acaben nas sesións de prácticas. Neste tempo poderase interiorizar a forma de resolver o problema exposto no exercicio, na medida en que nas sesións prácticas faise máis énfases en entender o problema e a forma xeral na que se resolverá, mentres que os detalles necesarios para completar os exercicios deberanse realizar no tempo adicional de traballo práctico.
Para poder aproveitar a materia e adquirir con certa fluidez os conceptos da programación orientada a obxectos é moi aconsellable aproveitar as clases de teoría, as sesións de prácticas e as titorías en grupos reducidos, na medida en que, tal e como se presentou no programa e na metodoloxía docente, estas actividades están directamente relacionadas. Por outra parte, tamén é moi recomendable que o alumnado explore o material de soporte (páxinas web sobre tecnoloxía, tutoriais online dos contornos de desenvolvemento, descrición de casos de éxito, etc.) no que se inclúen explicacións adicionais ás das clases presenciais e que axudan a entender e afianzar os conceptos da programación orientada a obxectos e as dubidas de programación relacionadas con Java.
O idioma preferente de impartición das clases expositivas é o galego. As clases interactivas impártense en galego ou castelán.
Maria Purificacion Cariñena Amigo
- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Teléfono
- 881813563
- Correo electrónico
- puri.carinena [at] usc.es
- Categoría
- Profesor/a: Profesor Contratado/a Doutor
Manuel Lama Penin
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Teléfono
- 881816427
- Correo electrónico
- manuel.lama [at] usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidade
Nicolas Vila Blanco
- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Correo electrónico
- nicolas.vila [at] usc.es
- Categoría
- Profesor/a: Profesor Axudante Doutor LOU
Luns | |||
---|---|---|---|
11:30-14:00 | Grupo /CLIL_03 | Castelán | Aula de Informática I5 |
Martes | |||
11:30-14:00 | Grupo /CLIL_04 | Castelán | Aula de Informática I5 |
15:00-17:00 | Grupo /CLE_01 | Galego | Aula A2 |
Mércores | |||
12:00-14:30 | Grupo /CLIL_02 | Galego | Aula de Informática I7 |
Xoves | |||
09:00-11:30 | Grupo /CLIL_01 | Galego | Aula de Informática I5 |
08.01.2025 10:00-14:00 | Grupo /CLIL_04 | Aula A1 |
08.01.2025 10:00-14:00 | Grupo /CLE_01 | Aula A1 |
08.01.2025 10:00-14:00 | Grupo /CLIL_01 | Aula A1 |
08.01.2025 10:00-14:00 | Grupo /CLIL_02 | Aula A1 |
08.01.2025 10:00-14:00 | Grupo /CLIL_03 | Aula A1 |
08.01.2025 10:00-14:00 | Grupo /CLE_01 | Aula A2 |
08.01.2025 10:00-14:00 | Grupo /CLIL_01 | Aula A2 |
08.01.2025 10:00-14:00 | Grupo /CLIL_02 | Aula A2 |
08.01.2025 10:00-14:00 | Grupo /CLIL_03 | Aula A2 |
08.01.2025 10:00-14:00 | Grupo /CLIL_04 | Aula A2 |
02.07.2025 16:00-20:00 | Grupo /CLE_01 | Aula A2 |
02.07.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A2 |
02.07.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A2 |
02.07.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A2 |
02.07.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A2 |