Nombre: PROGRAMACIÓN PARA INGENIERÍA TELEMÁTICA
Código: 505103004
Carácter: Obligatoria
ECTS: 6
Unidad Temporal: Cuatrimestral
Despliegue Temporal: Curso 3º - Primer cuatrimestre
Menciones/Especialidades:
Lengua en la que se imparte: Castellano
Carácter: Presencial
Nombre y apellidos: ROSIQUE CONTRERAS, MARÍA FRANCISCA
Área de conocimiento: Lenguajes y Sistemas Informáticos
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968326589
Correo electrónico: paqui.rosique@upct.es
Horario de atención y ubicación durante las tutorias:
martes - 10:00 / 12:00
ANTIGONES, planta 2, Despacho Despacho profesora
miércoles - 17:00 / 19:00
ANTIGONES, planta 2, Despacho Despacho profesora
Titulaciones:
Doctor en Tecnologías de la Información y Comunicaciones en la Universidad Politécnica de Cartagena (ESPAÑA) - 2012
Máster en Tecnologías de la Información y Comunicaciones en la Universidad Politécnica de Cartagena (ESPAÑA) - 2008
Ingeniero en Telecomunicación en la Universidad Politécnica de Cartagena (ESPAÑA) - 2007
Ingeniero Técnico en Telecomunicación, especialidad en Telemática en la Universidad Politécnica de Cartagena (ESPAÑA) - 2004
Categoría profesional: Profesora Titular de Universidad
Nº de quinquenios: 3
Nº de sexenios: 0
Curriculum Vitae: Perfil Completo
Responsable de los grupos: G2
Nombre y apellidos: PASTOR FRANCO, JUAN ÁNGEL
Área de conocimiento: Lenguajes y Sistemas Informáticos
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 4150 - 968326507
Correo electrónico: juanangel.pastor@upct.es
Horario de atención y ubicación durante las tutorias:
Titulaciones:
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 4
Nº de sexenios: 3 de investigación
Curriculum Vitae: Perfil Completo
[CG3 ]. Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
[T1 ]. Capacidad de construir, explotar y gestionar las redes, servicios, procesos y aplicaciones de telecomunicaciones, entendidas éstas como sistemas de captación, transporte, representación, procesado, almacenamiento, gestión y presentación de información multimedia, desde el punto de vista de los servicios telemáticos
[T4 ]. Capacidad de describir, programar, validar y optimizar protocolos e interfaces de comunicación en los diferentes niveles de una arquitectura de redes
[T7 ]. Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas
[TR2 ]. Trabajar en equipo
[TR5 ]. Aplicar a la práctica los conocimientos adquiridos
Al finalizar el plan formativo, el estudiante debe ser capaz de:
Describir los elementos principales del modelo entidad-relación y del modelo relacional y relacionarlos entre sí. Describir los elementos principales del lenguaje SQL. Realizar consultas SQL, principalmente SELECT, de mediana complejidad.
Enumerar y describir los principios generales de la programación orientada a objetos.
Describir e identificar algunos patrones de diseño comúnmente usados en el diseño de aplicaciones interactivas y distribuidas (estrategia, observador, delegación, composición, modelo-vista-controlador, etc.).
Describir e identificar políticas de concurrencia comúnmente en el diseño de aplicaciones interactivas y distribuidas (ejecutivo cíclico, hilo por petición, pilas de hilos, etc.).
Diseñar, implementar y validar a partir de una especificación una aplicación interactiva con una interfaz gráfica de pequeña complejidad en la que (1) se creen tipos de datos (2) se utilice la relación de composición para crear objetos compuestos (3) se haga uso del polimorfismo y (4) se definan manejadores de eventos asociados a los elementos de la interfaz de usuario.
Diseñar, implementar y validar a partir de una especificación, una pequeña aplicación distribuida en la que (1) se utilicen diferentes políticas de concurrencia para aceptar y procesar las peticiones de servicio, (2) se utilicen comunicaciones asíncronas entre clientes y servidores, (3) se proporcionen mecanismos para añadir manejadores de servicios y (4) se acceda a bases de datos.
Aspectos avanzados de la programación orientada a objetos. Procesos e hilos. Comunicación entre procesos. Gestión de memoria. Acceso a bases de datos desde lenguajes de programación.
Unidad didáctica I.- Aspectos avanzados de la programación orientada a objetos
1.1. Repaso de conceptos fundamentales de la POO.
1.2. Tipos abstractos de datos, clases e interfaces, herencia y composición
1.3. Excepciones y E/S en Java.
1.4. Contenedores e iteradores. Programación genérica.
1.5. Colecciones y streams.
Unidad didáctica II.- Introducción a la programación concurrente y distribuida.
2.1. Programación concurrente. Procesos e hilos. Sincronización y comunicación. Eventos y concurrencia.
2.2. Políticas de concurrencia (I). Servidores iterativos y concurrentes.
2.3. Políticas de concurrencia (II). Pilas de hilos y objeto activo.
2.4. Librerías para programar concurrencia en Java.
Unidad didáctica III. - Introducción a las bases de datos
3.1.- Introducción a las BBDD.
3.2.- Modelos ER y relacional.
3.3.- Introducción al lenguaje SQL.
3.4.- Acceso a BBDD desde aplicaciones Java.
Unidad didáctica I: Programación orientada a objetos
Sesión 1 y 2: Orientación a Objetos avanzada. Sesión 3: Excepciones. Sesiones 4, 5 y 6: Uso de librerias. Genéricos, colecciones y streams. Sesión 7: I/O
Unidad didáctica II: Programación concurrente y distribuida
Sesión 8: Programación concurrente. Hilos y exclusión mutua. Servidores iterativos y concurrentes. Sesiones 9: Servidor de acceso a BBDD con distintas políticas de concurrencia.
Unidad didáctica III: Bases de datos
Sesión 10: Instalación de gestor y cliente de BBDD. Sesión 11: Implementación de una BBDD a partir de un modelo E-R. Consultas SQL. Sesión 12: Consultas SQL. Conexión de la BBDD con un programa Java.
La Universidad Politécnica de Cartagena considera como uno de sus principios básicos y objetivos fundamentales la promoción de la mejora continua de las condiciones de trabajo y estudio de toda la Comunidad Universitaria. Este compromiso con la prevención y las responsabilidades que se derivan atañe a todos los niveles que integran la Universidad: órganos de gobierno, equipo de dirección, personal docente e investigador, personal de administración y servicios y estudiantes. El Servicio de Prevención de Riesgos Laborales de la UPCT ha elaborado un "Manual de acogida al estudiante en materia de prevención de riesgos" que puedes encontrar en el Aula Virtual, y en el que encontraras instrucciones y recomendaciones acerca de cómo actuar de forma correcta, desde el punto de vista de la prevención (seguridad, ergonomía, etc.), cuando desarrolles cualquier tipo de actividad en la Universidad. También encontrarás recomendaciones sobre cómo proceder en caso de emergencia o que se produzca algún incidente. En especial, cuando realices prácticas docentes en laboratorios, talleres o trabajo de campo, debes seguir todas las instrucciones del profesorado, que es la persona responsable de tu seguridad y salud durante su realización. Consúltale todas las dudas que te surjan y no pongas en riesgo tu seguridad ni la de tus compañeros.
Block I. - Introduction to databases.
1.1 -. Introduction to Data Bases.
1.2 -. E-R and relational models.
1.3 -. Introduction to the SQL language.
1.4 -. Other types of data bases.
1.4 -. Access to DB from Java applications.
Block II -. Advanced aspects of object-oriented programming (OOP).
2.1. Review of OOP fundamental concepts. Abstract data types, classes and interfaces, inheritance and composition.
2.2. Exceptions and IO in Java. Decorator pattern.
2.3. Graphic User Interfaces (I). Hierarchical organization. Composite and strategy patterns..
2.4. Graphic User Interface (II). Event-driven programming. Observer pattern. MVC Pattern.
2.5. Containers and iterators. Generic programming.
Block III -. Introduction to concurrent and distributed programming.
3.1. Concurrent programming. Processes and threads. Synchronization and communication. Events and attendance.
3.2. Concurrency policies (I). Iterative and concurrent servers.
3.3. Concurrency Policies (II). Thread pools and active object.
3.4. Concurrency libraries for programming in Java
Cada unidad didáctica tiene una práctica entregable y un parcial.
(1) Los alumnos que no entreguen las prácticas o tengan en ellas una calificación inferior a 5.0 deberán realizar ejercicios adicionales en el examen final.
(2) Los alumnos con más de tres ausencias a prácticas también deberán realizar ejercicios adicionales en el examen final.
(3) La nota de la práctica evaluable sólo será tenida en cuenta si la nota del parcial correspondiente es superior a 5. Si la nota del parcial es menor que 5 al alumno se le aplicará la nota obtenida en
el parcial que pasará a tener el mismo peso que el conjunto entregable-parcial.
(4) Si la nota del examen final es superior a la media ponderada de las notas acumuladas (incluido el final), la nota final de la asignatura será la del examen final.
Aquellos alumnos repetidores que hubieran aprobado las prácticas en el itinerario en español y se matriculen en el itinerario en inglés deberán volver a realizar las prácticas para que se les
reconozca el itinerario en inglés.
Estudio personal o en grupo de alumnos
Trabajo autónomo del alumnado para interiorizar los contenidos teóricos y prácticos de la asignatura, reforzar aprendizajes y preparar exámenes.
60
0
Preparación de trabajos y ejercicios (incluye tiempo para consulta bibliográfica y documentación)
Desarrollo de ejercicios propuestos, prácticas individuales o en grupo, y elaboración de trabajos bajo supervisión docente a través de tutorías.
60
0
Clase de teoría
Sesiones donde se exponen los contenidos teóricos del temario, con ejemplos prácticos y participación del alumnado.
24
100
Clase orientada a la resolución de problemas y caso de estudio
Resolución guiada de ejercicios y problemas relacionados con el temario, para reforzar la comprensión de los conceptos clave de programación.
6
100
Clase práctica en laboratorio
Sesiones en aula informática dedicadas a la implementación de programas, aplicando la teoría a casos prácticos y desarrollos dirigidos.
24
100
Realización de pruebas de evaluación (tiempo de duración de los exámenes y otras pruebas de evaluación en el aula)
Pruebas escritas y prácticas que permiten evaluar el nivel de adquisición de conocimientos, habilidades y competencias del alumnado.
6
100
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
2 parciales: Parcial 1 40% (Orientación a Objetos), Parcial 2 (30%) Concurrencia + Bases datos
70 %
Tablas de observación para evaluar el desempeño de actividades (incluidas las prácticas de laboratorio) sobre las que no se requiera documentación escrita
Tablas de observación para evaluar el desempeño de actividades (incluidas las prácticas de laboratorio) sobre las que no se requiera documentación escrita
0 %
Entregables de ejercicios y/o prácticas
Entregables de ejercicios y/o prácticas de laboratorio y posterior entrevista personal
30 %
Exámenes escritos y/u orales (evaluación de contenidos teóricos y/o aplicados de la asignatura)
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
2 parciales: Parcial 1 40% (Orientación a Objetos), Parcial 2 (30%) Concurrencia + Bases datos
70 %
Exámenes escritos y/u orales (evaluación de prácticas de laboratorio)
Entrevista personal oral sobre los entregables de ejercicios prácticos.
0 %
Entregables de ejercicios y/o prácticas
Entregables de ejercicios y/o prácticas de laboratorio y posterior entrevista personal
30 %
Clase de teoría
Resolución de problemas tipo y casos prácticos
Prácticas
Según el artículo 8.3 de la normativa de evaluación vigente, el alumno que se presente a una actividad del sistema de evaluación final habiendo superado las calificaciones mínimas de la actividad correspondiente del sistema de evaluación continua, no tiene que renunciar a la calificación obtenida en dicha actividad del sistema de evaluación continua en la convocatoria en que se presente a la misma.
Autor: Deitel, H.M.
Título: Java how to program
Editorial: Prentice Hall
Fecha Publicación: 2002
ISBN: 0130341517
Unidad Didáctica 1:
Matilde Celma, ¿Bases de datos relacionales¿, Pearson Education, 2006 (disponible en biblioteca).
- Capítulos 1, 2, 3 y 4. Se indicará a los alumnos las secciones que deben estudiarse.
- Apuntes de la asignatura disponibles en aula virtual.
Unidad Didáctica 2:
Java How To Program, 8ª edición (disponible en biblioteca).
- Capítulos 7 a 10 (orientación a objetos), 11 (excepciones), 17 (E/S), 14 (Guis, layouts y
eventos), 20 a 22 (programación genérica y estructuras de datos). Se indicará a los alumnos
las secciones que deben estudiarse.
- Apuntes de la asignatura disponibles en aula virtual.
Unidad Didáctica 3:
- Tutorial sobre programación concurrente de Oracle:
http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html. Se indicará a los
alumnos las secciones que deben estudiarse.
Apuntes de la asignatura disponibles en aula virtual.