Universidad Pública de Navarra



Año Académico: 2025/2026 | Otros años:  2024/2025  |  2023/2024  |  2022/2023  |  2021/2022 
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra
Código: 240401 Asignatura: PROGRAMACIÓN AVANZADA
Créditos: 6 Tipo: Obligatoria Curso: 2 Periodo: 2º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
CORDOBA IZAGUIRRE, ALBERTO   [Tutorías ] MARZO PEREZ, ASIER RUPERTO   [Tutorías ]
PEREZ GOYA, UNAI (Resp)   [Tutorías ] MARTIN LAMMERDING, DAVID   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

Módulo: Común a la Rama de Informática

Materia: Métodos

Subir

Descripción/Contenidos

La primera parte de la asignatura consiste en asimilar los conceptos asociados a la programación orientada a objetos (clase, objetos, métodos) desde un punto de vista de la realidad cotidiana que nos rodea y plasmarlo en un lenguaje orientado a objetos. Cómo se relacionan entre si los objetos (composición, uso y asociación) y el concepto de herencia y polimorfismo aplicada a los objetos de una clase.

 

Una vez vistos los conceptos básicos comunes a todos los lenguajes de programación, se trata en más detalle aspectos relativos al lenguaje de programación Java. En concreto, el manejo de la librería estándar de desarrollo (API) y el manejo de errores (excepciones).

 

El tercer bloque corresponde al desarrollo de aplicaciones más específicas de un lenguaje de programación orientado a objetos como es el desarrollo de aplicaciones gráficas. A partir de estas se procederá al desarrollo de aplicaciones distribuidas en el formato de la arquitectura cliente/servidor. En primer lugar, se procederá a realizar accesos a un sistema de ficheros para después realizar aplicaciones con sockets y finalizar con la programación de aplicaciones que acceden a bases de datos (JDBC).

 

Subir

Competencias genéricas

  • CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio
  • G1: Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
  • G3: Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así¿ como de la información que gestionan.
  • G5: Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
  • G6: Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
  • G8: Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así¿ como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • G10: Conocimientos para la realización de mediciones, cálculos, valoraciones, tasaciones, peritaciones, estudios, informes, planificación de tareas y otros trabajos análogos de informática.
  • T1: Capacidad de análisis y síntesis.
  • T3: Comunicación oral y escrita.
  • T4: Resolución de problemas.
  • T8: Aprendizaje autónomo.

Subir

Competencias específicas

  • FC1: Capacidad  para  diseñar,  desarrollar,  seleccionar  y  evaluar  aplicaciones  y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
  • FC8: Capacidad  para  analizar,  diseñar,  construir  y  mantener  aplicaciones  de  forma robusta,  segura  y  eficiente,  eligiendo  el  paradigma  y  los  lenguajes  de programación más adecuados.
  • FC10: Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios.
  • FC11: Conocimiento y aplicación de las características, funcionalidades y estructura de los  Sistemas  Distribuidos,  las  Redes  de  Computadores  e  Internet  y  diseñar  e implementar aplicaciones basadas en ellas.
  • FC13: Conocimiento    y    aplicación    de    las    herramientas    necesarias    para    el almacenamiento,  procesamiento  y  acceso  a  los  Sistemas  de  información, incluidos los basados en web.
  • FC14: Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
  • FC17: Capacidad para diseñar y evaluar interfaces persona computador que garanticen la accesibilidad y usabilidad a los sistemas, servicios y aplicaciones informáticas.

Subir

Resultados aprendizaje

  • R1: Comprender la terminología usada en la programación orientación a objetos: clase, objeto, atributos de clase y de objeto, métodos de clase y de objeto, herencia, interfaz, clase abstracta, clase interna, etc.
  • R2: Manejar con fluidez el lenguaje de programación Java.
  • R3: Resolver problemas mediante el diseño y la implementación de soluciones en Java.
  • R4: Realizar interfaces gráficos
  • R5: Comunicar aplicaciones con sistemas gestores de bases de datos a través de la JDBC API.
  • R6: Desarrollar pequeños programas en entornos web.

Subir

Metodología

Metodología - Actividad Horas presenciales Horas no presenciales
A1: Clases magistrales 22,5  
A2: Preparación de presentaciones de trabajos, proyectos, etc.   7,5
A3: Aprendizaje basado en problemas y/o casos en grupos reducidos 7,5  
A4: Sesiones prácticas en grupos reducidos 19  
A5: Tutorías en grupos reducidos 3  
A6: Actividades de evaluación 8  
A7: Estudio autónomo   22,5
A8: Elaboración de trabajos y/o proyectos y escritura de memorias   22,5
A9: Programación/experimentación u otros trabajos en ordenador/laboratorio   22,5
A10: Resolución de problemas, ejercicios y otras actividades de aplicación   15
Total 60 90


 

Subir

Evaluación

La asignatura se puede superar por evaluación continua o con examen final.

1 Evaluación continua

Para superar la asignatura por evaluación continua, el alumno deberá:
  • Obtener al menos 4 en el examen final teórico-práctico.

  • Alcanzar una calificación final ponderada igual o superior a 5.

Si no se alcanza un 4 en el examen final, la nota de la convocatoria ordinaria será la del examen.

Resultados de
aprendizaje
Actividad de
evaluación
Peso (%) Nota mínima
requerida
R1-R6 Examen final teórico-práctico 50% 4
R1-R6 Tareas entregables 30% No
R1-R3 Examen Parcial teórico-práctico 20% No
 
2 Evaluación final

Todo alumno que no supere la asignatura mediante evaluación continua o desee subir nota podrá presentarse al examen final, cuya nota constituirá el 100 % de la calificación final de la asignatura.

Si un alumno ya aprobado desea presentarse en la convocatoria de recuperación para mejorar nota, perderá la calificación obtenida en la convocatoria ordinaria.

Subir

Temario

Es conveniente tener aprobada la asignatura INGENIERÍA DEL SOFTWARE y realizar esta asginatura junto con REDES DE COMPUTADORES.

A) Teoría

  • Bloque I - Introducción.
  • Bloque II - Lenguaje Java: Sintaxis; Tipos; Variables; Arrays; Operadores; Control de flujo.
  • Bloque III - Orientación a objetos: Objetos; Clases; Herencia; Polimorfismo; Acceso; Interfaces; Manejo de excepciones.
  • Bloque IV - Librería Horizontal: Manejo de strings; Manejo de eventos; Manejo de colecciones.
  • Bloque V - Librerías Verticales: Interfaces gráficos; Operaciones E/S; Manejo de sockets; Programación JDBC.

B) Práctica

  • Practica 0 - Entorno
  • Practica 1 - Programación Estructurada
  • Práctica 2 - Programación Orientada a Objetos
  • Práctica 3 - Herencia
  • Práctica 4 - Excepciones
  • Práctica 5 - Hilos
  • Práctica 6 - Librerías horizontales
  • Práctica 7 - Eventos e Interfaces Gráficos
  • Practica 8 - Manejo de la librería de Entrada/Salida.
  • Práctica 9 - Manejo de la librería de red.
  • Práctica 10 - Manejo de la librería JDBC.

Subir

Bibliografía

Acceda a la bibliografía que el profesorado de la asignatura ha solicitado a la Biblioteca.


  A) Libros.
  • Sarcar, V. (2019). Interactive Object-Oriented Programming in Java: Learn and Test Your Programming Skills. Apress.
  • McLaughlin, B., Pollice, G., & West, D. (2007). Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D. " O'Reilly Media, Inc.".
  • Freeman, E., & Robson, E. (2020). Head first design patterns. O'Reilly Media.
  • C.S. Horstmann, G. Cornell. Core Java Volume I--Fundamentals, 9th Edition, 2012. Prentice Hall.
  • Horton. Ivor Horton's Beginning Java, Java 7 Edition, 2011. Wrox Press
  • W. Savitch, K. Mock. Absolute Java. Fifth Edition. Addison Wesley, 2012.
B) Online
  • http://docs.oracle.com/javase/8/docs/api/
  • http://docs.oracle.com/javase/tutorial/

Subir

Idiomas

Esta asignatura se imparte en español y habrá referencias bibliográficas en inglés.

Subir

Lugar de impartición

Campus de Arrosadia

Subir