Universidad de Jaén

Menú local

Guía docente 2018-19 - 14312018 - Programación II

TITULACIÓN: Grado en Ingeniería de tecnologías de telecomunicación (14312018)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)

TITULACIÓN: Doble Grado Ing. de tecnologías de la telecomunicación e Ing. telemática (15212005)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)

TITULACIÓN: Grado en Ingeniería telemática (14512009)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)

CURSO ACADÉMICO: 2018-19
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Programación II
CÓDIGO: 14312018 (*) CURSO ACADÉMICO: 2018-19
TIPO: Obligatoria
Créditos ECTS: 6.0 CURSO: 2 CUATRIMESTRE: PC
WEB: https://dv.ujaen.es/goto_docencia_crs_284944.html
 
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: AGUILERA GARCIA, ANGEL INOCENCIO
IMPARTE: [Profesor responsable]
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: - E-MAIL: - TLF: -
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/58294
URL WEB: -
 
NOMBRE: CANO DE AMO, JOSÉ RAMÓN
IMPARTE: Teoría - Prácticas
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: D - D-150 E-MAIL: jrcano@ujaen.es TLF: 953648585
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/61557
URL WEB: http://wwwdi.ujaen.es/~jrcano/
 
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:
-
CONTEXTO DENTRO DE LA TITULACIÓN:

Esta asignatura se integra en el módulo de obligatoriedad del grado. La asignatura dotará al alumnado de capacidades adicionales para el desempeño profesional del futuro titulado.

El objetivo de la asignatura es introducir al alumno en el estudio de:

  • la eficiencia de los algoritmos,
  • en la técnica de programación recursiva,
  • en la utilización de los tipos de datos abstractos,
  • así como también en el paradigma de la programación mediante objetos.

El aprendizaje se realiza de forma tanto teórica como práctica, e incluye conceptos como: eficiencia, recursividad, tipos de datos abstractos, clases, objetos, herencia, polimorfismo, y asociaciones.

RECOMENDACIONES Y ADAPTACIONES CURRICULARES:

Es esencial para el seguimiento de la asignatura la asistencia a clases teóricas, prácticas y seminarios, la realización de los ejercicios propuestos, así como la participación en prácticas.

Al ser una asignatura relacionada con un paradigama de programación, es imprescindible aplicar de forma continuada a lo largo de todo el curso los conceptos teóricos a ejercicios prácticos.

El alumno deberá realizar un trabajo autónomo en casa.

Para las clases prácticas deberá estudiar con antelación a la realización de las mismas, el guión y manuales proporcionados por el profesor.

De igual forma trabajará los ejercicios que proponga el profesor en clase.

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente.
4. COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
código Denominación de la competencia
C.2 Capacidad de utilizar aplicaciones de comunicación e informáticas (ofimáticas, bases de datos, cálculo avanzado, gestión de proyectos, visualización, etc.) para apoyar el desarrollo y explotación de redes, servicios y aplicaciones de telecomunicación y electrónica.
C.3 Capacidad para utilizar herramientas informáticas de búsqueda de recursos bibliográficos o de información relacionada con las telecomunicaciones y la electrónica.
CGB.2 Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
Resultados de aprendizaje
Resultado Resul-01 Capacidad para utilizar aplicaciones para el desarrollo y explotación de servicios, sistemas y aplicaciones de telecomunicación
Resultado Resul-02 Comprensión y utilización de los fundamentos de la programación y empleo de los lenguajes de descripción de dispositivos hardware en sistemas y servicios de telecomunicación
Resultado Resul-21 Conocer materias básicas y tecnológicas que capaciten para el aprendizaje de nuevos métodos y tecnologías
Resultado Resul-22 Dotar de una gran versatilidad para adaptarse a nuevas situaciones.
Resultado Resul-23 Analizar y valorar el impacto social y medioambiental de las soluciones técnicas.
Resultado Resul-24 Trabajar en un grupo multidisciplinar y en un entorno multilingüe.
Resultado Resul-25 Comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas relacionadas con las telecomunicaciones y la electrónica
5. CONTENIDOS

Teórico:
· Estudio de eficiencia.
· Recursividad.
· Diseño y uso de TDAs.
· Introducción a la programación orientada a objetos. Utilización del lenguaje Java.
· Herencia y polimorfismo.
· Ejemplos para la ingeniería de Telecomunicación
Práctico:
· Sesiones destinadas al manejo de un entorno y lenguaje de programación orientado a objetos ayudar a entender los conceptos desarrollados en la parte teórica de la asignatura.
· Presentación de las aplicaciones más comunes en el ámbito de la ingeniería de la telecomunicación.

TEMA 0. INTRODUCCIÓN AL DISEÑO SOFTWARE

0.1. Introducción. Construcción de Software.

0.2. Diseño Software. Fundamentos.

0.3. Bibliografía.

  TEMA 1. TIPOS DE DATOS ABSTRACTOS

  1.1. Introducción

  1.2. Concepto de abstracción

  1.3. Tipos de datos

1.3.1.  Tipos de datos primitivos

1.3.2.  Tipos de datos agregados

1.3.3.  Tipos de datos compuestos

1.4. Importancia de los tipos de datos

1.5. Tipos de datos abstractos

1.5.1.  TDA - Ejemplo

1.6. Pasos en el diseño de un TDA

1.7. Descomposición modular de un TDA

1.8. Implementación de operaciones abstractas

1.9. TDA conjunto. Diseño lógico

1.10.  Clasificación de los TDA

1.11.  TDA lineales

1.11.1.  TDA Pila

1.11.2.  TDA Cola

1.11.3.  TDA Lista

1.12.  TDA no lineales

1.12.1.  Árboles

1.12.2.  Tipos de Árboles

1.12.3.  Aplicaciones de los Árboles

1.12.4.  Árboles binarios

1.12.5.  Árboles binarios de búsqueda

1.13.  Tablas de dispersión

1.13.1.  Tablas de dispersión

1.13.2.  Funciones de dispersión

1.13.3.  Tipos de dispersión

                       1.13.3.1.  Dispersión abierta

                       1.13.3.2.  Dispersión cerrada

                       1.13.3.3.  Dispersión doble

1.14.     Bibliografía.

  TEMA 2. PROGRAMACIÓN ORIENTADA A OBJETOS

2.1. Introducción a la OOP y el lenguaje Java

2.1.1.  Programación orientada a objetos

2.1.2.  El lenguaje Java

2.1.3.  Compilación, bytecode y JVMs

2.1.4.  Entornos de desarrollo Java

2.1.5.  Java vs otros lenguajes OO

2.2. Programación orientada a objetos en Java

2.2.1.  Clases de objetos

2.2.2.  Protección de miembros

2.2.3.  Protección de clases

2.2.4.  Inicialización y finalización

2.2.5.  Creación de objetos

2.2.6.  Trabajando con objetos

2.2.7.  Relaciones entre objetos

2.2.8.  Clases anidadas e interiores

2.2.9.  Autoreferencias

2.2.10.  Aplicaciones orientadas a objetos

2.2.11.  Herencia

2.2.12.  Adición, redefinición y anulación

2.2.13.  Protección y herencia

2.2.14.  Herencia múltiple

2.2.15.  Polimorfismo

2.2.16.  Ligadura dinámica

2.2.17.  Información de clases en tiempo de ejecución

2.2.18.  Otros temas de interés en Java

2.3. Bibliografía.

  TEMA 3. RECURSIVIDAD

3.1. Introducción.

3.2. Diseño.

3.2.1.  Fibonacci

3.2.2.  MCD

3.2.3.  Conteo

3.2.4.  Combinatoria

3.2.5.  La Pila del Sistema

3.3. Recursividad. Casos Base

3.4. Recursividad. Paso de Parámetros

3.5.  Recursividad o Iteración

3.6.  Eliminación de la recursividad

3.7.  Divide y Vencerás

3.8.  Backtracking

3.9.  Bibliografía

  TEMA 4. ANÁLISIS DE EFICIENCIA

4.1. Introducción.

4.2. Tiempo de ejecución.

4.3. Orden de ejecución.

4.4. Notación Asintótica.

4.5. Cálculo de eficiencia.

4.6. Recurrencias

4.6.1.  Recurrencias Homogéneas

4.6.2.  Recurrencias No Homogéneas

4.7. Cambios de Variable

4.8. Bibliografía

  TEMA 5: EJEMPLOS PARA LA INGENIERÍA DE TELECOMUNICACIÓN

6. METODOLOGÍA Y ACTIVIDADES
ACTIVIDADES HORAS PRESEN­CIALES HORAS TRABAJO AUTÓ­NOMO TOTAL HORAS CRÉDITOS ECTS COMPETENCIAS (códigos)
A1 - Clases expositivas en gran grupo
  • M1 - Clases expositivas en gran grupo: Clases magistrales
  • M3 - Clases expositivas en gran grupo: Actividades introductorias
25.0 30.0 55.0 2.2
  • C.2
  • C.3
  • CGB.2
A2 - Clases en grupos de prácticas
  • M11 - Clases en grupos de prácticas: Resolución de ejercicios
  • M6 - Clases en grupos de prácticas: Actividades prácticas
  • M7 - Clases en grupos de prácticas: Seminarios
  • M8 - Clases en grupos de prácticas: Debates
  • M9 - Clases en grupos de prácticas: Laboratorios
30.0 50.0 80.0 3.2
  • C.2
  • C.3
  • CGB.2
A3 - Tutorias Colectivas
  • M14 - Tutorias Colectivas/Individuales: Supervisión de trabajos dirigidos
5.0 10.0 15.0 0.6
  • C.2
  • C.3
  • CGB.2
TOTALES: 60.0 90.0 150.0 6.0  
 
INFORMACIÓN DETALLADA:

La asignatura se divide en dos partes fuertemente relacionadas: teoría y prácticas.

La teoría se impartirá en su mayor parte con sesiones magistrales, incluyendo varias sesiones de actividades, resolución de dudas y debate con las que se evaluará la participación del alumno en la asignatura.

La parte práctica se realizará en el laboratorio de informática, utilizando el ordenador para el desarrollo de dichas sesiones. Se evaluará la destreza en la resolución de los programas propuestos en los guiones de prácticas.

7. SISTEMA DE EVALUACIÓN
 
ASPECTO CRITERIOS INSTRUMENTO PESO
Asistencia y/o participación en actividades presenciales y/o virtuales Participación activa en la clase. Participación en los debates. Realización y entrega de ejercicios. Presentación de trabajos. Observación y notas del profesor 15.0%
Conceptos teóricos de la materia Dominio de los conocimientos teóricos y operativos de la materia. Examen teórico (prueba objetiva de respuesta breve) 65.0%
Prácticas de laboratorio/campo/uso de herramientas TIC Presentación de trabajos prácticos y validación de los mismos. Dichos trabajos serán evaluados durante las sesiones de prácticas. Observación y notas del profesor. Entrega y defensa de trabajos prácticos. Examen de prácticas. 20.0%
El sistema de calificación se regirá por lo establecido en el RD 1125/2003 de 5 de septiembre por el que se establece el sistema europeo de créditos y el sistema de calificaciones en la titulaciones universitarias de carácter oficial
INFORMACIÓN DETALLADA:

Atendiendo a lo recogido en el art. 13 del Reglamento de Régimen Académico y de Evaluación del alumnado de la Universidad de Jaén, la evaluación de la asignatura será global. 

 

Los criterios de evaluación que se seguirán para valorar cada uno de los aspectos vistos en el apartado anterior serán:

  • Conceptos teóricos de la materia (65%): La evaluación de la parte teórica se llevará a cabo mediante la realización de un examen, en él se plantearán preguntas de respuesta corta y la realización de pequeños programas en el lenguaje de programación que se indique. En el examen se valorarán todos los contenidos de la asignatura (teoría y prácticas) desarrollados a lo largo del curso. La teoría evaluará las competencias C.2, C.3 y CBB2 y los resultados de aprendizaje Resul-01, Resul-02, Resul-21, Resul-22, Resul-23 y Resul-25.
  • Asistencia y/o participación en actividades presenciales y/o virtuales (15%): esta se llevará a cabo mediante la asistencia y participación activa en clase, así como con la entrega de ejercicios y trabajos que el profesor irá planteando a lo largo del curso. Cada ejercicio o trabajo planteado tendrá un peso y un valor correspondiente que será informado por el profesor en clase, en función de su dificultad. La Asistencia y/o participación en actividades presenciales evaluará las competencias C.2, C.3 y CBB2 y los resultados de aprendizaje Resul-01, Resul-02, Resul-21, Resul-22, Resul-23, Resul-24 y Resul-25.
  • Práctica de laboratorio (20%): La lo largo del curso el profesor planteará una serie de guiones de prácticas que el alumno deberá realizar y entregar en las fechas indicadas. El alumno será requerido a validar la práctica mediante la explicación de en qué consiste la práctica de manera oral y durante la sesión correspondiente a la entrega de la misma. Si el alumno no puede explicarlo de manera clara, la práctica no se considerará validada y por tanto obtendrá un 0 en su calificación. Las prácticas de laboratorio evaluarán las competencias C.2, C.3 y CBB2 y los resultados de aprendizaje Resul-01, Resul-02, Resul-21, Resul-22, Resul-23, Resul-24 y Resul-25.

El alumno deberá obtener una calificación mínima de 5 para superar la asignatura, sumando cada una de las partes y atendiendo a los criterios anteriormente especificados.

La nota obtenida por el alumno durante el periodo lectivo, tanto en las prácticas como en la participación en clase y seminarios, se mantendrá sólo para las diferentes convocatorias del mismo curso. El alumno sólo obtendrá calificación cuando se presente al examen de teoría, y contará como convocatoria.

Los alumnos que no se presenten a cualquiera de las actividades que proponga el profesor no tendrán derecho a obtener la calificación correspondiente de la actividad en ninguna otra forma.

 En caso de detectarse cualquier intento de fraude se considerará una falta de honor y credibilidad por parte del alumno y perderá cualquier oportunidad de presentar los ejercicios correspondientes. El profesor además se reserva el derecho de tomar las medidas legales oportunas que la universidad tenga contempladas en su reglamento.

 

8. DOCUMENTACIÓN / BIBLIOGRAFÍA
ESPECÍFICA O BÁSICA:
  • Programación orientada a objetos. Edición: 2ª ed.. Autor: Joyanes Aguilar, Luis. Editorial: Madrid [etc.]: McGraw-Hill, D.L. 2003  (C. Biblioteca)
  • Estructuras de datos y algoritmos. Edición: 1ª ed. en español, 1ª reimp. Autor: Aho, Alfred V.. Editorial: México [etc.]: Pearson Educación, 1998  (C. Biblioteca)
  • Fundamentos de algoritmia. Edición: última reimp.. Autor: Brassard, Gilles. Editorial: Madrid [etc.] : Prentice Hall, D.L. 2008  (C. Biblioteca)
  • Abstracción y estructuras de datos en C++. Edición: -. Autor: Garrido Carrillo, Antonio. Editorial: Madrid : Delta, 2006  (C. Biblioteca)
GENERAL Y COMPLEMENTARIA:
  • Estructuras de datos en Java: compatible con Java 2. Edición: -. Autor: Weiss, Mark Allen. Editorial: Madrid: Addison Wesley, D.L. 2010  (C. Biblioteca)
  • Piensa en Java. Edición: 4ª ed.. Autor: Eckel, Bruce. Editorial: Madrid [etc.] : Pearson Educación, 2008  (C. Biblioteca)
  • El lenguaje de programación C++. Edición: Ed. especial. Autor: Stroustrup, Bjarne. Editorial: Madrid [etc.]: Addison Wesley, 2011  (C. Biblioteca)
  • Fundamentos de programación en C++. Edición: -. Autor: Garrido Carrillo, Antonio. Editorial: Madrid : Delta, 2006  (C. Biblioteca)
9. CRONOGRAMA (primer cuatrimestre)
Semana A1 - Clases expositivas en gran grupo A2 - Clases en grupos de prácticas A3 - Tutorias Colectivas Trabajo autónomo Observaciones
Nº 1
10 - 16 sep 2018
2.02.00.0 6.0 Tema 0
Nº 2
17 - 23 sep 2018
2.02.00.0 6.0 Tema 1
Nº 3
24 - 30 sep 2018
2.02.00.0 6.0 Tema 1
Nº 4
1 - 7 oct 2018
1.02.01.0 6.0 Tema 1
Nº 5
8 - 14 oct 2018
1.02.01.0 6.0 Tema 2
Nº 6
15 - 21 oct 2018
2.02.00.0 6.0 Tema 2
Nº 7
22 - 28 oct 2018
2.02.00.0 6.0 Tema 2
Nº 8
29 oct - 4 nov 2018
2.02.00.0 6.0 Tema 2
Nº 9
5 - 11 nov 2018
1.02.01.0 6.0 Tema 2
Nº 10
12 - 18 nov 2018
2.02.00.0 6.0 Tema 2
Nº 11
19 - 25 nov 2018
2.02.00.0 6.0 Tema 2
Nº 12
26 nov - 2 dic 2018
1.02.01.0 6.0 Tema 3
Nº 13
3 - 9 dic 2018
2.02.00.0 6.0 Tema 3
Nº 14
10 - 16 dic 2018
2.02.00.0 6.0 Tema 4
Nº 15
17 - 20 dic 2018
1.02.01.0 6.0 Tema 4. Tema 5
Total Horas 25.0 30.0 5.0 90.0