Universidad Pública de Navarra



Año Académico: 2023/2024
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra (Programa Internacional)
Código: 250401 Asignatura: PROGRAMACIÓN AVANZADA
Créditos: 6 Tipo: Obligatoria Curso: 2 Periodo: 2º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
ERICE ERRECART, CARLOS   [Tutorías ] MARZO PEREZ, ASIER RUPERTO   [Tutorías ]
PEREZ GOYA, UNAI (Resp)   [Tutorías ] MARTIN LAMMERDING, DAVID   [Tutorías ]
MONJE PEINADO, ROBERTO   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

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

Materia: Métodos

Subir

Competencias genéricas

La asignatura pretende la adquisición de las siguientes competencias:

 

A) Básicas

 

  • 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

B) Genéricas:

 

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

C) Transversales:

 

  • 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

Las competencias específicas que un alumno debería adquirir en esta asignatura son:

 

  • 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

Relación actividades formativas-competencias/resultados de aprendizaje

Competencia Actividad formativa
CB2 A6, A8-A10
G1 A1-A5, A7-A10
G3 A1-A5, A7-A10
G5 A1-A5, A7-A10
G6 A1-A5, A7-A10
G8 A1-5, A7-10
G10 A1-5, A7-10
T1 A1, A7, A8
T3 A2, A3, A6, A8
T4 A2-6, A8-10
T8 A7-10
FC1 A2-6, A8-10
FC8 A2-6, A8-10
FC10 A2-6, A8-10
FC11 A2-6, A8-10
FC13 A2-6, A8-10
FC14 A2-6, A8-10
FC17 A2-6, A8-10

Subir

Idiomas

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

Subir

Evaluación

 

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

 

Subir

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

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

Lugar de impartición

En el aulario del Campus de Pamplona de la Universidad Pública de Navarra de Pamplona

Subir