Guía Docente 2018-19
PROGRAMACIÓN ORIENTADA A OBJETOS II

DATOS BÁSICOS DE LA GUÍA DOCENTE:

Materia: PROGRAMACIÓN ORIENTADA A OBJETOS II
Identificador: 33424
Titulación: DOBLE GRADO EN INGENIERÍA INFORMÁTICA Y BIOINFORMÁTICA
Módulo: PROGRAMACION Y DESARROLLO
Tipo: OBLIGATORIA
Curso: 2 Periodo lectivo: Segundo Cuatrimestre
Créditos: 6 Horas totales: 150
Actividades Presenciales: 60 Trabajo Autónomo: 90
Idioma Principal: Castellano Idioma Secundario: Inglés
Profesor: ECHEVERRIA OCHOA, JORGE (T) Correo electrónico: jecheverria@usj.es

PRESENTACIÓN:

Esta asignatura es un curso diseñado para entender el papel que juega Java en las aplicaciones modernas y describe los beneficios y la metodología de programación orientada a objetos (POO). Los estudiantes habrán adquirido una visión esencial de la biblioteca de clases Java, y su utilización. Los estudiantes serán capaces de desarrollar programas sencillos de aplicaciones distribuidas que demanda el mercado hoy en día.

COMPETENCIAS PROFESIONALES A DESARROLLAR EN LA MATERIA:

Competencias Generales de la titulación G02 Capacidad innovadora para proponer y encontrar formas nuevas y eficaces de realizar cualquier tarea y/ o función dentro de su entorno profesional con una elevada motivación por la calidad
G05 Capacidad para adaptarse a diferentes entornos con una actitud positiva y optimista y orientar su conducta a la consecución de metas
G06 Capacidad para analizar y resolver los problemas o imprevistos complejos que puedan surgir durante la actividad profesional dentro de cualquier tipo de organización socio-económica
G08 Habilidad para comunicarse eficazmente sobre distintos temas en una variedad de contextos profesionales y con los diferentes medios disponibles
G09 Capacidad para tomar decisiones de manera imparcial y desde un punto de vista racional
G10 Capacidad crítica y analítica en la evaluación de información, datos y líneas de actuación
G13 Capacidad para utilizar estrategias de aprendizaje individuales orientadas a la mejora continúa en el ejercicio profesional y para emprender estudios posteriores de forma autónoma
G14 Capacidad de abstracción para manejar diferentes modelos complejos de conocimiento y aplicarlos al planteamiento y resolución de problemas
Competencias Específicas de la titulación E03 Capacidad para reconocer los principios teóricos y aplicar satisfactoriamente los métodos prácticos apropiados para el análisis y la resolución de problemas de ingeniería
E04 Capacidad para mantener una actitud abierta a la innovación y la creatividad en el marco de la profesión de ingeniería
E08 Capacidad para comunicarse productivamente con clientes, usuarios y colegas, tanto de modo oral como por escrito, con el fin de transmitir ideas, resolver conflictos y alcanzar consensos
E09 Capacidad para mantener las competencias profesionales mediante el aprendizaje autónomo y la mejora continua
E11 Capacidad para mantenerse al día en el mundo tecnológico y empresarial en el ámbito de las tecnologías de la informática y comunicaciones
E12 Capacidad para gestionar la complejidad a través de la abstracción, el modelado, las ?best practices?, los patrones, los estándares y el uso de herramientas apropiadas
E13 Capacidad para identificar, evaluar y usar tecnologías actuales y emergentes, considerando su aplicabilidad en función de las necesidades de individuos y organizaciones
E16 Capacidad para comprender un dominio de aplicación hasta el punto de ser capaz de desarrollar aplicaciones IT adecuadas para el mismo
E17 Capacidad para identificar y analizar las necesidades de los usuarios con el objetivo de diseñar soluciones IT efectivas y usables que puedan integrarse en el entorno operativo del usuario.
E18 Capacidad para identificar y definir los requisitos que deben ser satisfechos por los sistemas IT para satisfacer las necesidades planteadas por organizaciones o individuos
E20 Capacidad para realizar el diseño detallado de los componentes del proyecto (procedimientos, interfaz de usuario, características de equipos, parámetros de los sistemas de comunicaciones, etc.).
E27 Capacidad para elaborar y mantener documentación descriptiva de la génesis, producción y operatividad de los sistemas informáticos

REQUISITOS PREVIOS:

Se deben haber cursado o tener convalidadas las asignaturas del modulo de programación anteriores, desde el punto de vista temporal, a Programación Orientada a Objetos II.

PROGRAMACIÓN DE LA MATERIA:

Contenidos de la materia:

1 - Introducción a Java
    1.1 - Máquina virtual
    1.2 - Sintaxis básica
    1.3 - Crear, compilar y ejecutar
2 - Inicialización y limpieza
    2.1 - Introducción
    2.2 - Crear objetos
    2.3 - Parámetro this
    2.4 - Inicialización
    2.5 - Estáticos
    2.6 - Limpieza
3 - Acceso
    3.1 - Público, privado, protegido
    3.2 - Paquetes
4 - POO y Java
    4.1 - Variables de instancia
    4.2 - Constructores, sobrecarga
    4.3 - Herencia
    4.4 - Clases abstractas, interfaces, polimorfismo
5 - Almacenamiento
    5.1 - Arrays
    5.2 - Comparadores
    5.3 - Iteradores
    5.4 - Collection
    5.5 - List
    5.6 - Set
    5.7 - Map
6 - Excepciones
    6.1 - Control de errores, excepcions básicas y propias
    6.2 - Captura
7 - Documentación
    7.1 - Javadocs
8 - Entrada y salida
    8.1 - Clase File
    8.2 - Lectura y escritura
    8.3 - E/S estándar
    8.4 - Comprensión
    8.5 - Archivos jar
    8.6 - Serialización
9 - Gráficos
    9.1 - SWING
    9.2 - Fundamnetos
    9.3 - Sucesos
    9.4 - Disposición
    9.5 - Componentes
    9.6 - Aspecto y estilo
10 - Threads
    10.1 - Hilos
    10.2 - Ejecutores
    10.3 - Interfaz Callable
    10.4 - Prioridad
    10.5 - Estado de los hilos
    10.6 - Sincronización
11 - Reflexión
    11.1 - RTTI
    11.2 - Objeto Class
12 - Acceso a BBDD
    12.1 - JDBC
    12.2 - Conexión con BBDD
    12.3 - acceso a tablas
    12.4 - Procedimientos almacenados

La planificación de la asignatura podrá verse modificada por motivos imprevistos (rendimiento del grupo, disponibilidad de recursos, modificaciones en el calendario académico, etc.) y por tanto no deberá considerarse como definitiva y cerrada.


METODOLOGÍAS Y ACTIVIDADES DE ENSEÑANZA Y APRENDIZAJE:

Metodologías de enseñanza-aprendizaje a desarrollar:

  1. Sesiones teóricas El profesor expondrá apoyado en recursos TIC (portátil, proyector, Internet) y la pizarra la parte teórica de la asignatura. El material utilizado en cada sesión estará siempre en la PDU con antelación para que los alumnos puedan realizar una lectura previa. Se aconseja encarecidamente a los alumnos leer con anterioridad los temas a tratar en clase. Las sesiones teóricas serán acompañadas por ejercicios para aplicar los conocimientos teóricos. Se valorará la participación, debate, preguntas e inquietudes mostradas por los alumnos relacionadas con la asignatura.
  2. Sesiones prácticas - Aprendizaje basado en resolución de ejercicios y problemas Los contenidos teóricos se apoyan en la resolución de problemas que serán propuestos por el profesor y resueltos por los alumnos. Algunos de estos problemas serán solucionados por los alumnos como parte de su trabajo autónomo en horario fuera de las clases lectivas. Otros problemas se resolverán en el tiempo dedicado a clases prácticas, la resolución será realizada por los alumnos de manera voluntaria utilizando las herramientas disponibles (portátil, proyector y pizarra). La participación de los alumnos en este proceso formará parte de la evaluación, esto incluye la resolución de problemas de manera voluntaria y la participación cuando otro compañero está desarrollando esta tarea.
  3. Aprendizaje basado en resolución de ejercicios y problemas Una parte muy importante del aprendizaje de la asignatura, y de la nota, se conseguirá con la resolución de la práctica a resolver de manera individual por los alumnos. Se proporcionará a los alumnos el enunciado de la práctica y se solicitará su entrega en un tiempo prudencial. La resolución correcta de esta práctica, junto con los problemas citados en el apartado 2, preparará al alumno para adquirir con una gran eficiencia las competencias propias de la asignatura. De manera puntual el alumno expondrá las cuestiones más relevantes de su práctica para todo el aula, formando dicha exposición parte de la nota asociada a esa práctica.
  4. Sesiones de tutoría Los estudiantes podrán preguntar al profesor aquellas dudas que no han podido ser resueltas durante las clases o que hayan surgido en su tiempo dedicado al trabajo autónomo. Se podrá solicitar bibliografía de ampliación específica de algún tema concreto y/ o cualquier otro tipo de información relacionada con la asignatura. Por otra parte, durante estas sesiones, se realizará un seguimiento de supervisión y orientación del proceso a seguir en cada una de las actividades realizadas. El horario de tutorías será consensuadoi con los alumnos.

Volumen de trabajo del alumno:

Modalidad organizativa Métodos de enseñanza Horas estimadas
Actividades Presenciales
Clase magistral 21
Resolución de prácticas, problemas, ejercicios etc. 30
Exposiciones de trabajos de los alumnos 1
Actividades de evaluación 8
Trabajo Autónomo
Asistencia a tutorías 7
Estudio individual 42
Preparación de trabajos individuales 24
Tareas de investigación y búsqueda de información 7
Lecturas obligatorias 8
Lectura libre 2
Horas totales: 150

SISTEMA DE EVALUACIÓN:

Obtención de la nota final:

Pruebas escritas: 55 %
Trabajos individuales: 40 %
Participación: 5 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.

BIBLIOGRAFÍA Y DOCUMENTACIÓN:

Bibliografía básica:

Bruce Eckel ,Piensa en Java, Editorial Prentice Hall , ISBN: 0131002872
Apuntes de la asignatura proporcionados en la Plataforma Docente Universitaria de la Universidad San Jorge

Bibliografía recomendada:

Deitel Harvey M, Deitel Paul J, Como Programar en Java, Editorial Prentice Hall, ISBN: 9702605180
Eckel, Bruce, Thinking in Java 4th Edition, PRENTICE-HALL, ISBN: 0131872486 ISBN-13: 9780131872486
Sharan, Kishori. Beginning Java 8 Fundamentals. Language Syntax, Arrays, Data Types, Objects, and Regular Expressions. Editorial Apress. ISBN 978-1-4302-6653-2
Java for Absolute Beginners: Learn to Program the Fundamentals the Java 9+ Way. Cosmina, Iuliana. Editorial Apress. ISBN 978-1-4842-3778-6

Páginas web recomendadas: