Guía docente de la asignatura

Complementos de Programación (Especialidad Telemática)

Curso 2021 / 2022
Fecha última actualización: 21/06/2021
Fecha de aprobación: 21/06/2021

Grado

Grado en Ingeniería de Tecnologías de Telecomunicación

Rama

Ingeniería y Arquitectura

Módulo

Telemática

Materia

Servicios y Aplicaciones Telemáticos

Curso

3

Semestre

2

Créditos

6

Tipo

Obligatoria

Profesorado

Teoría

  • Andrés Cano Utrera. Grupos: A

Prácticas

  • Andrés Cano Utrera. Grupos: 1 y 2

Tutorías

Andrés Cano Utrera

acu@ugr.es
  • Segundo semestre
    • Jueves de 16:30 a 18:30 (D25 (Etsiit))
  • Primer semestre
    • Jueves de 17:00 a 19:00 (D25 (Etsiit))
    • 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 Grado)

  • Estructuras dinámicas de datos.
  • Manejo de excepciones.
  • Programación multihebra.
  • Concurrencia.
  • Programación orientada a objetos.

Competencias asociadas a materia/asignatura

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

  1. Introduction to Java Programming and Data Structures, Comprehensive Version, Global Edition (11th Edition), Y. Daniel Liang, Pearson, 2019.
  2. Java How to Program, Eearly objects, (11th Edition), P. Deitel and H. Deitel, Pearson, 2017.

Bibliografía complementaria

  1. Poornachandra Sarang. Java Programming: Learn Advanced Skill from a Java Expert. McGraw-Hill, 2012.

  2. Java The Complete Reference (8th Edition), Herbert Shildt, McGraw-Hill, 2011

  3. Java Concurrency in Practice. B. Goetz, T. Peierls, J. Bloch, J. Bowbeer, D. Holmes, D. Lea. Addison- Wesley, 2006.

  4. Java Thread Programming (3ª edición). P. Hyde. Sams, 1999.

  5. Java Threads (3ª edición). S. Oaks, H. Wong. O'Reilly Media, 2004.

  6. Data Structures and the Java Collections Framework (3ª edición). W. Collins. Wiley, 2011.

  7. Java I/O (2ª edición). E. Rusty Harold. O'Reilly Media, 2006.

  8. Head First Java (2ª edición). B. Bates. O'Reilly Media, 2009.

  9. Thinking in Java (4ª edición). B. Eckel. Prentice Hall PTR, 2006.

  10. Core Java, vols I y II. C.S. Horstmann, G. Cornell. Prentice Hall PTR, 2008.

Enlaces recomendados

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:

  1. Para la parte teórica se realizará un examen en papel. La ponderación de este bloque se cifra en el 40%.

  2. 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%.

  3. 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:

  1. Parte teórica: La ponderación de esta parte es del 40%.

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