Universidad de Jaén

Menú local

Guía docente 2013-14 - 14512009 - Programación II



TITULACIÓN: Grado en Ingeniería telemática (14512009)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)
TITULACIÓN: Grado en Ingeniería de tecnologías de telecomunicación (14312018)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)
CURSO: 2013-14
ASIGNATURA: Programación II
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Programación II
CÓDIGO: 14512009 (*) CURSO ACADÉMICO: 2013-14
TIPO: Obligatoria
Créditos ECTS: 6.0 CURSO: 2 CUATRIMESTRE: PC
WEB: http://dv.ujaen.es/docencia/goto_docencia_crs_284944.html
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: AGUILERA GARCIA, ANGEL INOCENCIO
IMPARTE: Teoría - Prácticas [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: -
ORCID: https://orcid.org/0000-0001-7229-7382
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:
-
CONTEXTO DENTRO DE LA TITULACIÓN:

El objetivo de la asignatura es introducir al alumno en el estudio de eficiencia de los algoritmos realizados, 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: clases y 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 entrega de las 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.

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
CB.2 Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
 
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
5. CONTENIDOS

Contenidos Básicos:

Teórico:

  • Tema 1: Recursividad.
  • Tema 2: Estudio de eficiencia.
  • Tema 3: Diseño y uso de TDAs.
  • Tema 4: Introducción a la programación orientada a objetos. Utilización del lenguaje Java. Herencia y polimorfismo.
  • Tema 5: Ejemplos para la ingeniería de Telecomunicación

Práctico:

  • Práctica 1: Recursividad
  • Práctica 2: Eficiencia de algoritmos
  • Práctica 3: Tipos de datos abstractos
  • Práctica 4: Programación orientada a objetos

Contenidos Desarrollados:

TEMA 0. INTRODUCCIÓN AL DISEÑO SOFTWARE

1.1. Introducción. Construcción de Software.

1.2. Diseño Software. Fundamentos.

1.3. Bibliografía

TEMA 1. RECURSIVIDAD

2.1. Introducción.

2.2. Diseño.

2.2.1.  Fibonacci

2.2.2.  MCD

2.2.3.  Conteo

2.2.4.  Combinatoria

2.2.5.  La Pila del Sistema

2.3. Recursividad. Casos Base

2.4. Recursividad. Paso de Parámetros

2.5.  Recursividad o Iteración

2.6.  Eliminación de la recursividad

2.7.  Divide y Vencerás

2.8.  Backtracking

2.9.  Bibliografía

TEMA 2. ANÁLISIS DE EFICIENCIA

3.1. Introducción.

3.2. Tiempo de ejecución.

3.3. Orden de ejecución.

3.4. Notación Asintótica.

3.5. Cálculo de eficiencia.

3.6. Recurrencias

3.6.1.  Recurrencias Homogéneas

3.6.2.  Recurrencias No Homogéneas

3.7. Cambios de Variable

3.8. Bibliografía

TEMA 3. TIPOS DE DATOS ABSTRACTOS

4.1. Introducción

4.2. Concepto de abstracción

4.3. Tipos de datos

4.3.1.  Tipos de datos primitivos

4.3.2.  Tipos de datos agregados

4.3.3.  Tipos de datos compuestos

4.4. Importancia de los tipos de datos

4.5. Tipos de datos abstractos

4.5.1.  TDA - Ejemplo

4.6. Pasos en el diseño de un TDA

4.7. Descomposición modular de un TDA

4.8. Implementación de operaciones abstractas

4.9. TDA conjunto. Diseño lógico

4.10.  Clasificación de los TDA

4.11.  TDA lineales

4.11.1.  TDA Pila

4.11.2.  TDA Cola

4.11.3.  TDA Lista

4.12.  TDA no lineales

4.12.1.  Árboles

4.12.2.  Tipos de árboles

4.12.3.  Aplicaciones de los árboles

4.12.4.  Árboles binarios

4.12.5.  Árboles binarios de búsqueda

4.13.  Tablas de dispersión

4.13.1.  Tablas de dispersión

4.13.2.  Funciones de dispersión

4.13.3.  Tipos de dispersión

                       4.13.3.1.  Dispersión abierta

                       4.13.3.2.  Dispersión cerrada

                       4.13.3.3.  Dispersión doble

4.14.     Bibliografía.

TEMA 4. PROGRAMACIÓN ORIENTADA A OBJETOS

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

5.1.1.  Programación orientada a objetos

5.1.2.  El lenguaje Java

5.1.3.  Compilación, bytecode y JVMs

5.1.4.  Entornos de desarrollo Java

5.1.5.  Java vs otros lenguajes OO

5.2. Programación orientada a objetos en Java

5.2.1.  Clases de objetos

5.2.2.  Protección de miembros

5.2.3.  Protección de clases

5.2.4.  Inicialización y finalización

5.2.5.  Creación de objetos

5.2.6.  Trabajando con objetos

5.2.7.  Relaciones entre objetos

5.2.8.  Clases anidadas e interiores

5.2.9.  Autoreferencias

5.2.10.  Aplicaciones orientadas a objetos

5.2.11.  Herencia

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

5.2.13.  Protección y herencia

5.2.14.  Herencia múltiple

5.2.15.  Polimorfismo

5.2.16.  Ligadura dinámica

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

5.2.18.  Otros temas de interés en Java

5.3. Bibliografía.

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
  • M2 - Clases expositivas en gran grupo: Exposición de teoría y ejemplos generales
25.0 30.0 55.0 2.2
  • CB.2
A2 - Clases en grupos de prácticas
  • M10 - Clases en grupos de prácticas: Aulas de informática
  • M11 - Clases en grupos de prácticas: Resolución de ejercicios
  • M12 - Clases en grupos de prácticas: Presentaciones/Exposiciones
  • 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
  • CB.2
A3 - Tutorias Colectivas
  • M14 - Tutorias Colectivas/Individuales: Supervisión de trabajos dirigidos
  • M15 - Tutorias Colectivas/Individuales: Seminarios
  • M16 - Foros
  • M17 - Aclaración de dudas
  • M18 - Tutorias Colectivas/Individuales: Comentarios de trabajos individuales
  • M19 - Tutorias Colectivas/Individuales: Presentaciones/Exposiciones
5.0 10.0 15.0 0.6
  • CB.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 •Participación en el trabajo grupal. Observación y notas del profesor 20.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) 60.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:

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.

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, última reimp. Autor: Stroustrup, Bjarne. Editorial: Madrid [etc.]: Addison Wesley, 2007  (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
9 - 15 sept. 2013
2.02.00.0 6.0 Teoría: Tema 0 y 1. Prácticas: Práctica 1.
Nº 2
16 - 22 sept. 2013
2.02.00.0 6.0 Teoría: Tema 1. Prácticas: Práctica 1.
Nº 3
23 - 29 sept. 2013
1.02.01.0 6.0 Teoría: Tema 2. Prácticas: Práctica 1. Tutorías colectivas.
Nº 4
30 sept. - 6 oct. 2013
2.02.00.0 6.0 Teoría: Tema 2. Prácticas: Práctica 1.
Nº 5
7 - 13 oct. 2013
2.02.00.0 6.0 Teoría: Tema 2. Prácticas: Práctica 2.
Nº 6
14 - 20 oct. 2013
1.02.01.0 6.0 Teoría: Tema 3. Prácticas: Práctica 2. Tutorías colectivas.
Nº 7
21 - 27 oct. 2013
2.02.00.0 6.0 Teoría: Tema 3. Prácticas: Práctica 2.
Nº 8
28 oct. - 3 nov. 2013
2.02.00.0 6.0 Teoría: Tema 3. Prácticas: Práctica 2.
Nº 9
4 - 10 nov. 2013
2.02.00.0 6.0 Teoría: Tema 3. Prácticas: Práctica 3.
Nº 10
11 - 17 nov. 2013
1.02.01.0 6.0 Teoría: Tema 4. Prácticas: Práctica 3. Tutorías colectivas.
Nº 11
18 - 24 nov. 2013
2.02.00.0 6.0 Teoría: Tema 4. Prácticas: Práctica 3.
Nº 12
25 nov. - 1 dic. 2013
2.02.00.0 6.0 Teoría: Tema 4. Prácticas: Práctica 4.
Nº 13
2 - 8 dic. 2013
2.02.00.0 6.0 Teoría: Tema 4. Prácticas: Práctica 4.
Nº 14
9 - 15 dic. 2013
2.02.00.0 6.0 Teoría: Tema 4 y 5. Prácticas: Práctica 4.
Nº 15
16 - 20 dic. 2013
0.02.02.0 6.0 Prácticas: Práctica 4. Tutorías colectivas.
Total Horas 25.0 30.0 5.0 90.0