Guía docente de la asignatura
Complementos de Programación (Especialidad Telemática) (221113D)

21/06/2021
Grado
Brach
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Práctico
Tutorías
Andrés Cano Utrera
Ver email- Primer semestre
- Jueves de 17:00 a 19:00 (D25 (Etsiit))
- Segundo semestre
- Jueves de 16:30 a 18:30 (D25 (Etsiit))
- Anual
- Miércoles de 10:30 a 14:30 (D25 (Etsiit))
Prerrequisitos y/o Recomendaciones
Los estudiantes no habrán de tener materias o asignaturas aprobadas como requisito indispensable para superar esta materia. No obstante, se recomienda tener aprobados los contenidos y adquiridas las competencias de cuatrimestres precedentes, especialmente de la asignatura Fundamentos de Programación de segundo curso.
Breve descripción de contenidos (Según memoria de verificación del Máster)
- Estructuras dinámicas de datos.
- Manejo de excepciones.
- Programación multihebra.
- Concurrencia.
- Programación orientada a objetos.
Competencias
Competencias Específicas
- CE21. 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.
- CE22. Capacidad para aplicar las técnicas en que se basan las redes, servicios y aplicaciones telemáticas, tales como sistemas de gestión, señalización y conmutación, encaminamiento y enrutamiento, seguridad (protocolos criptográficos, tunelado, cortafuegos, mecanismos de cobro, de autenticación y de protección de contenidos), ingeniería de tráfico (teoría de grafos, teoría de colas y teletráfico) tarificación y fiabilidad y calidad de servicio, tanto en entornos fijos, móviles, personales, locales o a gran distancia, con diferentes anchos de banda, incluyendo telefonía y datos.
- CE24. Capacidad de describir, programar, validar y optimizar protocolos e interfaces de comunicación en los diferentes niveles de una arquitectura de redes.
- CE27. Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas.
Competencias Transversales
- CT01. Capacidad de análisis y síntesis: Encontrar, analizar, criticar (razonamiento crítico), relacionar, estructurar y sintetizar información proveniente de diversas fuentes, así como integrar ideas y conocimientos.
- CT02. Capacidad de organización y planificación así como capacidad de gestión de la Información.
- CT03. Capacidad de comunicación oral y escrita en el ámbito académico y profesional con especial énfasis, en la redacción de documentación técnica.
- CT04. Capacidad para la resolución de problemas.
- CT05. Capacidad para tomar decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles) así como capacidad de argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista.
- CT06. Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional.
- CT07. Capacidad de comunicación en lengua extranjera, particularmente en inglés.
- CT08. Capacidad de trabajo en equipo.
- CT09. Capacidad para el aprendizaje autónomo así como iniciativa y espíritu emprendedor.
- CT10. Motivación por la calidad y la mejora continua, actuando con rigor, responsabilidad y ética profesional.
- CT11. Capacidad para adaptarse a las tecnologías y a los futuros entornos actualizando las competencias profesionales.
- CT12. Capacidad para innovar y generar nuevas ideas.
- CT13. Sensibilidad hacia temas medioambientales.
- CT14. Respeto a los derechos fundamentales y de igualdad entre hombres y mujeres.
- CT15. Capacidad para proyectar los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo.
Resultados de aprendizaje (Objetivos)
-
Completar los conocimientos de programación estructurada que adquirió en la asignatura Fundamentos de Programación de segundo curso.
-
Aprender a enfrentarse al desarrollo de proyectos de mayor tamaño, donde es indispensable un diseño más complejo de la solución.
-
Comprender los principios de la programación orientada a objetos.
-
Conocer cómo controlar los posibles errores de ejecución de un programa mediante el uso de excepciones, para así poder separar la parte de código donde se producen los errores de la parte donde se gestionan.
-
Conocer las estructuras dinámicas de datos más comunes ofrecidas por los lenguajes de programación y aprender a construir nuestras propias estructuras de datos.
-
Aprender a decidir el tipo de estructura de datos más apropiada a cada problema.
-
Conocer el mecanismo de las hebras para la programación de sistemas concurrentes en la resolución de los problemas reales planteados.
-
Planificar escenarios de prueba que aseguren la fiabilidad y rendimiento de los sistemas programados, desde el punto de vista de eficiencia, tiempo de computación y uso de memoria.
-
Conocer las herramientas y plataformas disponibles para afrontar el análisis, diseño, implementación, prueba y monitorización de aplicaciones.
Programa de contenidos Teóricos y Prácticos
Teórico
TEMA 1. Introducción a la programación de orientada a objetos
Introducción a la PDO, tipos de datos simples, arrays y matrices, operadores, sentencias de control.
TEMA 2. Clases y objetos
Concepto de clase y objeto, constructores, métodos, sobrecarga, clases internas.
TEMA 3: Herencia y polimorfismo
Herencia, sobreescritura de métodos, polimorfismo, clases abstractas, interfaces, paquetes.
TEMA 4. Gestión de excepciones
Concepto de excepción. Captura de excepciones. Lanzamiento explícito de excepciones. Creación de excepciones propias.
TEMA 5. Programación multihebra y concurrencia
Creación y ejecución de tareas y hebras. Suspensión y finalización de hebras. Prioridades de hebras. Pools de hebras. Comunicación entre hebras. Sincronización y comunicación de hebras. Bloqueos. Ejemplos de aplicaciones. Estados de una hebra. Programación paralela.
TEMA 6. Estructuras dinámicas de datos
Tipos genéricos. Métodos genéricos. Listas simples, listas enlazadas, conjuntos, mapas, tablas hash. Diseño de estructuras propias, condiciones de uso, ventajas e inconvenientes. Iteradores.
Práctico
TEMARIO PRÁCTICO:
Práctica 4. Práctica sobre programación orientada a objetos.
Práctica 8. Práctica sobre concurrencia, estructuras de datos e interfaces gráficas de usuario.
SEMINARIOS/TALLERES:
Seminario 1. Introducción a herramientas simples de desarrollo.
Seminario 2. Desarrollo de programas mediante un Entorno Integrado de Desarrollo (IDE).
Seminario 3. Creación de programas con clases.
Seminario 5. Herencia y polimorfismo.
Seminario 6. Introducción a la entrada/salida.
Seminario 7. Introducción a interfaces gráficas de usuario.
Bibliografía
Bibliografía fundamental
- Introduction to Java Programming and Data Structures, Comprehensive Version, Global Edition (11th Edition), Y. Daniel Liang, Pearson, 2019.
-
Java How to Program, Eearly objects, (11th Edition), P. Deitel and H. Deitel, Pearson, 2017.
Bibliografía complementaria
-
Poornachandra Sarang. Java Programming: Learn Advanced Skill from a Java Expert. McGraw-Hill, 2012.
-
Java The Complete Reference (8th Edition), Herbert Shildt, McGraw-Hill, 2011
-
Java Concurrency in Practice. B. Goetz, T. Peierls, J. Bloch, J. Bowbeer, D. Holmes, D. Lea. Addison- Wesley, 2006.
-
Java Thread Programming (3ª edición). P. Hyde. Sams, 1999.
-
Java Threads (3ª edición). S. Oaks, H. Wong. O'Reilly Media, 2004.
-
Data Structures and the Java Collections Framework (3ª edición). W. Collins. Wiley, 2011.
-
Java I/O (2ª edición). E. Rusty Harold. O'Reilly Media, 2006.
-
Head First Java (2ª edición). B. Bates. O'Reilly Media, 2009.
-
Thinking in Java (4ª edición). B. Eckel. Prentice Hall PTR, 2006.
-
Core Java, vols I y II. C.S. Horstmann, G. Cornell. Prentice Hall PTR, 2008.
Enlaces recomendados
- Documentación de la plataforma estándar de JDK: https://docs.oracle.com/en/java/javase/index.html
Metodología docente
- MD01 Lección magistral
- MD02 Actividades prácticas
- MD03 Seminarios
- MD04 Actividades no presenciales
- MD05 Tutorías académicas
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)
Evaluación Ordinaria
Todo lo relativo a la evaluación se regirá por la Normativa de evaluación y calificación de los estudiantes vigente en la Universidad de Granada, que puede consultarse en:
http://secretariageneral.ugr.es/bougr/pages/bougr112/_doc/examenes/!
Preferentemente, la evaluación se ajustará al sistema de evaluación continua del aprendizaje del estudiante siguiendo el artículo 7 de la anterior Normativa.
La adaptación del sistema de evaluación general propuesto a las características de esta asignatura, con indicación explícita del peso de la evaluación de cada actividad formativa, se ajustará a lo indicado en la siguiente tabla:
Actividades formativas | Ponderación |
---|---|
Parte teórica | 40% |
Parte práctica | 50% |
Seminarios | 10% |
Se utilizarán las siguientes técnicas de evaluación:
-
Para la parte teórica se realizará un examen en papel. La ponderación de este bloque se cifra en el 40%.
-
Para la parte práctica se realizarán prácticas de laboratorio donde se desarrollarán proyectos de programación preferiblemente en grupo. Se valorará la calidad del código y los informes/memorias entregados por los estudiantes, así como la asistencia a las sesiones de prácticas. La ponderación de este bloque es el 50%.
-
Los seminarios se evaluarán teniendo en cuenta la asistencia a los seminarios, los problemas propuestos que hayan sido resueltos y entregados por los estudiantes, en su caso, las entrevistas efectuadas durante el curso y la presentación oral de los trabajos desarrollados. La ponderación de estos se cuantifica en el 10%.
Si la nota de la parte teórica es superior o igual a 3 sobre 10, entonces la nota final será:
Nota final = 0,4 * parte teórica + 0,5 * parte práctica + 0,1 * seminarios
En otro caso, la nota final será la nota de la parte teórica, pudiendo el estudiante mantener la nota de la parte práctica y seminarios para la convocatoria extraordinaria.
Evaluación Extraordinaria
Los estudiantes podrán optar, entre conservar la nota de cada parte obtenida en la convocatoria ordinaria o volver a evaluarse.
Se realizarán las siguientes pruebas en un único acto académico:
-
Parte teórica: La ponderación de esta parte es del 40%.
-
Parte práctica: La ponderación de esta parte es del 60%.
Ambas pruebas consisten en la resolución de un examen escrito multi-pregunta sobre los contenidos de la materia impartida. El examen de teoría cubrirá los contenidos de la parte de teoría y el examen de la parte práctica cubrirá los contenidos de las prácticas y seminarios.
Si la nota de la parte teórica es superior o igual a 3 sobre 10, entonces la nota final será:
Nota final = 0,4 * parte teórica + 0,6 * parte práctica
En otro caso, la nota final será la nota de la parte teórica.
Evaluación única final
De acuerdo a lo establecido en la Normativa de evaluación y de calificación de los estudiantes de la Universidad de Granada vigente, la evaluación será preferentemente continua. No obstante, el estudiante que no pueda acogerse a dicho sistema por motivos laborales, estado de salud, discapacidad, programas de movilidad o cualquier otra causa debidamente justificada podrá acogerse a la evaluación única final. Para ello deberá solicitarlo al Director del Departamento en las dos primeras semanas de impartición de la asignatura o, excepcionalmente, en las dos primeras semanas tras la matriculación en la asignatura.
Esta modalidad de evaluación se realizará en un único acto académico en la fecha establecida por el Centro y consistirá en un examen escrito puntuado entre 0 y 4 puntos, la entrega de dos prácticas (con puntuación total entre 0 y 5 puntos) y la entrega de los ejercicios correspondientes a los seminarios (puntuación entre 0 y 1 punto) para garantizar que el estudiante ha adquirido la totalidad de las competencias descritas en esta misma guía docente.
Información adicional
Definición de grupo grande y grupo pequeño:
- Los grupos grandes son grupos de 45 a 60 estudiantes.
- Los grupos pequeños son grupos de 15 a 20 estudiantes.
ESCENARIO A (ENSEÑANZA-APRENDIZAJE PRESENCIAL Y TELE-PRESENCIAL)
Horario (Según lo establecido en el POD)
Los horarios de tutorías del profesor pueden consultarse en la web: http://decsai.ugr.es/index.php?p=profesores
Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)
La atención tutorial se realizará preferentemente online mediante las plataformas y herramientas que recomiende la Universidad de Granada.
Medidas de adaptación de la evaluación (Instrumentos, criterios y porcentajes sobre la calificación)
-
La atención tutorial se realizará preferentemente online mediante las plataformas y herramientas que recomiende la Universidad de Granada.
-
Esta adaptación estará sujeta a los condicionantes de infraestructura y medios que existan en el momento de adopción del Escenario A.
-
Se utilizarán las plataformas y herramientas proporcionadas por la Universidad de Granada.
Evaluación ordinaria
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que el examen de la parte teórica no pueda hacerse de forma presencial, se hará de forma online y síncrona y será entregado a través de Prado o PradoExamen.
Evaluación extraordinaria
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que los exámenes de la parte teórica y práctica no puedan hacerse de forma presencial, se harán de forma online y síncrona y serán entregados a través de Prado o PradoExamen.
Evaluación única final
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que el examen final de la parte teórica no pueda hacerse de forma presencial, se hará de forma online y síncrona y será entregado a través de Prado o PradoExamen.
ESCENARIO B (SUSPENSIÓN DE LA ACTIVIDAD PRESENCIAL)
Horario (Según lo establecido en el POD)
Los horarios de tutorías del profesor pueden consultarse en la web: http://decsai.ugr.es/index.php?p=profesores
Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)
La atención tutorial se realizará preferentemente online mediante las plataformas y herramientas que recomiende la Universidad de Granada.
Medidas de adaptación de la evaluación (Instrumentos, criterios y porcentajes sobre la calificación)
-
El profesorado de la asignatura adaptará, total o parcialmente, los contenidos para su impartición online preferentemente en los horarios establecidos por el centro.
-
Esta adaptación estará sujeta a los condicionantes de infraestructura y medios que existan en el momento de adopción del Escenario B.
-
Se utilizarán las plataformas y herramientas proporcionadas por la Universidad de Granada.
Evaluación ordinaria
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que el examen de la parte teórica no pueda hacerse de forma presencial, se hará de forma online y síncrona y será entregado a través de Prado o PradoExamen.
Evaluación extraordinaria
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que los exámenes de la parte teórica y práctica no puedan hacerse de forma presencial, se harán de forma online y síncrona y serán entregados a través de Prado o PradoExamen.
Evaluación única final
Se mantienen los mismos porcentajes y pruebas que en el escenario presencial. En caso de que el examen final de la parte teórica no pueda hacerse de forma presencial, se hará de forma online y síncrona y será entregado a través de Prado o PradoExamen.