Programación II
Guía de aprendizaje
Programación II Semestre de primavera, curso 2013/2014
La información contenida en esta guía es orientativa y por tanto es susceptible de modificación debido a erratas, omisiones, incidencias no previstas ocurridas durante el curso académico o si el correcto desarrollo de la asignatura así lo aconseja.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
1
Programación II
Contenido de la guía Contenido de la guía ......................................................................................................... 2 Presentación ...................................................................................................................... 3 Profesorado y grupos ........................................................................................................ 4 Resultados de aprendizaje ................................................................................................ 5 Unidades Temáticas y distribución temporal ................................................................... 7 Contenidos Teóricos ..................................................................................................... 7 Contenidos Prácticos.................................................................................................... 9 Calendario de actividades .......................................................................................... 10 Actividades de enseñanza, aprendizaje y evaluación. Metodología ............................... 11 Sistema de evaluación y calificación .............................................................................. 11 Examen extraordinario ............................................................................................... 12 Recursos de enseñanza-aprendizaje................................................................................ 14 Material de estudio ..................................................................................................... 14 Equipamiento .............................................................................................................. 14 Locales para trabajo no presencial ............................................................................ 14
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
2
Programación II
Asignatura: Programación II Número de créditos ECTS: 6 Titulación: Grado en Ingeniería Telemática Semestre de impartición: Primavera
Presentación La programación es una herramienta básica para cualquier graduado en ingeniería. En concreto, tiene aplicación en cualquier ámbito de la ingeniería de telecomunicación. En la actualidad las metodologías orientadas a objetos constituyen la base fundamental de la programación de multitud de sistemas de telecomunicación. Programación II es una asignatura común a todos los grados y representa el primer contacto que tienen los estudiantes con la programación y el diseño orientado a objetos (POO). Para cursar con buenos resultados la asignatura Programación II el alumno deberá tener aprobada la asignatura Programación I. El objetivo final de esta asignatura introductoria es que el alumno sea capaz de interpretar un diseño realizado con este paradigma para, posteriormente, realizar la programación del mismo. En esta asignatura se utilizará el lenguaje de programación java por su gran versatilidad, flexibilidad y ámbito de aplicación, ya que es uno de los más extendidos y de especial aplicación para la programación en redes. La asignatura tiene 6 créditos ECTS. Esto se traduce en aproximadamente 8 horas/semana de trabajo del alumno, de media, repartidas en 16 semanas. Este trabajo incluye la asistencia activa a las clases presenciales de grupo y de laboratorio, el estudio, las búsquedas bibliográficas, la realización de ejercicios y pruebas de autoevaluación, la resolución de las prácticas de laboratorio y la realización de las pruebas de evaluación continua. La asignatura se imparte mediante b-learning, es decir, combinando la enseñanza presencial y la no presencial, para lo cual se utilizará el entorno virtual de aprendizaje Moodle.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
3
Programación II
Profesorado y grupos NOMBRE PROFESORES
DESPACHO
CORREO ELECTRÓNICO
D. Carlos Carrillo (Coordinador)
8203
[email protected]
D. Rubén de Diego
4303
[email protected]
D. Honesto Díez
4307
[email protected]
D. Francisco Javier Estaire
4313
[email protected]
Dña. Magdalena González
4313
[email protected]
D. José Luis López
4309
[email protected]
D. Javier Martín
4302
[email protected]
D. Jesús Moreno
4305
[email protected]
D. Eloy Portillo
4306
[email protected]
D. Pablo Ramírez
4310
[email protected]
D. José Antonio Sánchez
4322
[email protected]
La asignación de los grupos de teoría y laboratorio se corresponde con: TEORÍA
LABORATORIO
D. Carlos Carrillo (Coordinador)
G2T2
L5, L6
D. Rubén de Diego
G2M2
L2, M6 y X1
D. Honesto Díez
J5 y J6
D. Francisco Javier Estaire
G2M1
D. Carlos González
G2M3
M1, V1 Y V3
Dña. Magdalena González
X2
D. José Luis López
M3 Y J3
D. Javier Martín
L4 y J4
D. Jesús Moreno
L2 y V4
D. Eloy Portillo
V1
D. Pablo Ramírez
G2T1
D. José Antonio Sánchez
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
M4 y X5 X4
4
Programación II
Resultados de aprendizaje En esta asignatura se incide sobre las siguientes competencias específicas de telemática (C_TM_yy) y generales (C_GEN_xx):
M03: Programación Programación II Semestre: 2 6 ECTS = 160 horas
Código= Nivel=
Total horas = 160
Capacidad para expresarse correctamente de forma oral y escrita y transmitir información mediante documentos y exposiciones en público. (Nivel 1)
Capacidad de abstracción, de análisis y de síntesis y de resolución de problemas. (Nivel 1)
Capacidad de trabajo en equipo y en entornos multidisciplinares. (Nivel 1)
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. (Nivel 2)
C GEN. 3
C GEN. 4
C GEN. 5
CE BAS. 2
N1
N1
N1
N1
6
28
46
80
Resultados de Aprendizaje
Horas
Comprender los fundamentos básicos de la programación orientada a objetos.
6
Aplicar los paradigmas de la programación orientada a objetos para la realización de sistemas de complejidad media.
26
Comprender los fundamentos básicos del diseño orientado a objetos.
8
2
Comprender un diseño orientado a objetos para construir un sistema de complejidad media.
8
4
Conocer la sintaxis del lenguaje java, así como la definición de clases, interfaces y la instanciación de objetos.
22
4
Aplicar relaciones de herencia en el diseño de aplicaciones en java.
12
2
4
6
Utilizar polimorfismo en el diseño de aplicaciones en java.
10
2
4
4
Aplicar la gestión de errores y de excepciones en java.
10
2
4
4
8
2
2
4
Utilizar colecciones para la representación de estructuras de datos.
26
2
10
14
Utilizar el paquete de entrada/ salida de java.
8
2
2
4
Aplicar la serialización de objetos en java.
6
2
4
Utilizar paquetes estándar de java.
Manejar entornos integrados (IDE)
de
desarrollo
6
6
10
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
6
14
6
4
18
10
5
Programación II
Para desarrollar las competencias previstas, los estudiantes deben alcanzar en esta asignatura los siguientes resultados de aprendizaje, que constituyen a su vez los indicadores (criterios de evaluación) de la misma:
RESULTADOS DE APRENDIZAJE
HORAS
PESO EN LA CALIFICACIÓN
INDICADORES MÍNIMOS
Comprender los fundamentos básicos de la programación orientada a objetos.
6
4%
4%
Aplicar los paradigmas de la programación orientada a objetos para la realización de sistemas de complejidad media.
26
16%
8%
fundamentos orientado a
8
5%
5%
Comprender un diseño orientado a objetos para construir un sistema de complejidad media.
8
5%
5%
Conocer la sintaxis del lenguaje java, así como la definición de clases, interfaces y la instanciación de objetos.
22
14%
7%
Aplicar relaciones de herencia en el diseño de aplicaciones en java.
12
8%
4%
Utilizar polimorfismo en el diseño de aplicaciones en java.
10
6%
6%
Aplicar la gestión de errores y de excepciones en java.
10
6%
3%
Utilizar paquetes estándar de java.
8
5%
26
16%
6%
entrada/
8
5%
2%
Aplicar la serialización de objetos en java.
6
4%
Manejo de entornos de desarrollo integrados (IDE)
10
6%
Comprender los básicos del diseño objetos.
Utilizar colecciones para representación de estructuras datos. Utilizar el paquete salida de java.
de
la de
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
6
Programación II
Unidades Temáticas y distribución temporal Contenidos Teóricos TEMAS UNIDAD 1. EL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS 1.1. Conceptos básicos de ingeniería del software. 1.2. Metodologías de desarrollo del software. 1.3. Concepto de objeto y de clase. 1.4. Encapsulado y ocultación de la información. 1.5. Abstracción: herencia y polimorfismo. 1.6. Concepto de diseño orientado a objetos. Terminología y sintaxis de definición de sistemas. Introducción a UML.
UNIDAD 2. ELEMENTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN JAVA 2.1. Conceptos básicos. Entorno de desarrollo en java: compilación y ejecución. Terminología elemental empleada en la programación en java. 2.2. Elementos básicos del lenguaje: tipos primitivos, variables, sentencias, expresiones y estructuras de control. Ejemplo: construcción de un primer programa sencillo. 2.3. Definición de clase en java. Variables miembro de una clase y un objeto, principales atributos y modificadores. Métodos de una clase. Paso de argumentos, métodos de clase, sobrecarga de constructores e inicializadores. Creación, uso y destrucción de objetos. Acceso y visibilidad de los componentes de una clase. Moldeado, conversión de tipos primitivos.
UNIDAD 3. ELEMENTOS AVANZADOS DEL LENGUAJE DE PROGRAMACIÓN JAVA 3.1. Herencia. Subclases y superclases. Clases y métodos abstractos y finales. Gestión de constructores y accesibilidad. La clase Object. 3.2. Polimorfismo. Concepto y ejemplos. Relación entre el polimorfismo y la herencia en java. Aplicación de la herencia y el polimorfismo para la construcción de sistemas basados en objetos. 3.3. Interfaces, concepto y uso de interfaces en java. Herencia de interfaces. 3.4. Manejo de excepciones en java. Estructura jerárquica de las excepciones. Lanzamiento, captura en bloques (try-catch) y creación de nuevas excepciones. Liberación de recursos: el bloque finally. Estrategias para el control de errores en la ejecución de un programa java mediante excepciones: precondiciones, poscondiciones y aserciones. Generación y procesamiento de mensajes de error. 3.5. Aplicación de los elementos anteriores (herencia, polimorfismo, etc.) para la construcción de sistemas basados en objetos. 3.6. Manejo de paquetes (packages) en java. Creación, uso y generación de aplicaciones basadas en paquetes. Bibliotecas básicas de paquetes de la API de java. Ejemplo: principales clases de utilidad del paquete java.lang (Wrappers, String, etc.)
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
7
Programación II UNIDAD 4. ESTRUCTURAS DE DATOS EN JAVA 4.1. Gestión de la información en programación, estructuras de datos básicas: listas, pilas, colas, conjuntos y mapas. Especificación de sus interfaces y comportamiento. 4.2. Decisiones de implementación y uso de las estructuras básicas. 4.3. Manejo de colecciones en java. Paquete java.util.
UNIDAD 5. GESTIÓN DE LA ENTRADA/SALIDA EN JAVA 5.1. Estructura de clases, interfaces y excepciones para el manejo de la E/S en java. Paquete java.io. 5.2. Entrada/salida de datos por el terminal. 5.3. Gestión de operaciones sobre ficheros. 5.4. Serialización de objetos. Control de la serialización: modificadores de los miembros de una clase.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
8
Programación II
Contenidos Prácticos PRÁCTICAS BLOQUE I.- INTRODUCCIÓN A LOS ENTORNOS DE DESARROLLO y CONSTRUCCIÓN DE SISTEMAS BÁSICOS EN JAVA. 1.1 Utilización de entornos elementales para el desarrollo y ejecución de aplicaciones java: editores de texto, JDK. 1.2 Utilización de entornos integrados de desarrollo: Eclipse. 1.3 Construcción de una aplicación solo con la clase principal. 1.4 Construcción de una aplicación con varias clases independientes o con relaciones de herencia y composición y aplicando polimorfismo. 1.5 Depuración de una aplicación por medio del entorno integrado de desarrollo.
BLOQUE II.- CONSTRUCCIÓN DE SISTEMAS DE COMPLEJIDAD MEDIA EN JAVA. 2.1 Construcción de un sistema basado en un diseño con relaciones de herencia y polimorfismo. 2.2 Estructuración en paquetes de una aplicación. 2.3 Gestión de errores mediante excepciones. 2.4 Utilización de colecciones para manipular datos. 2.5 Manipulación de ficheros de texto y ficheros binarios.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
9
Programación II Calendario de actividades A continuación se adjunta la tabla general con la distribución de las diferentes actividades.
PROGRAMACIÓN II‐ CURSO 2013/2014 ‐ Semestre de primavera CLASES PRESENCIALES (horas) SEMANA
FECHAS
Teoria‐2h
Actividades sin profesor Lab.
Lab.
Estudio
1
7‐feb
2
14‐feb
Unidad1
3
21‐feb
Unidad2
4
28‐feb
Unidad2
2
2
2
5
7‐mar
Unidad2
2
2
2
6
14‐mar
Unidad3
2
2
2
7
21‐mar
Unidad3
2
3
2
8
28‐mar
Unidad3
2
2
2
9
4‐abr
Unidad4
Unidad4
2
2
3
10
11‐abr
Unidad4
2
2
2
EVALUACIONES Horas
Pesos
Entrega del Bloque I de prácticas ( 15%)
4 Unidad2
Unidad3
5
VACACIONES DE SEMANA SANTA 11
25‐abr
Unidad4
2
3
3
12
30‐abr
Unidad5
2
3
2
13
9‐may
Unidad5
2
3
3
14
16‐may
Unidad5
2
4
3
15
23‐may
16
30‐may
17
6‐jun
18
13‐jun
TOTAL
133
26
9
1
Parcial 1 (25%). 28 de abril de 2014 a las 8:30 horas
Entrega del Bloque II de prácticas 1
Examen del Bloque II de prácticas (25%)
3
22
28
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
5
3
49
5
Parcial 2 (35%) 100%
10
Programación II
Actividades de enseñanza, aprendizaje y evaluación. Metodología Los estudiantes deberán realizar los siguientes tipos de actividades, en el tiempo y forma que los profesores de la asignatura establezcan, destinadas a la satisfactoria consecución y evaluación de los resultados de aprendizaje:
Actividades de enseñanza-aprendizaje de teoría: o Asistencia a las clases de teoría según el horario de la asignatura. Metodología:
método expositivo. o Estudio de la materia impartida durante las clases de teoría. Metodología: estudio
autónomo. o Realización y estudio de actividades teóricas propuestas por el profesorado.
Metodología: estudio autónomo.
Actividades de enseñanza-aprendizaje de laboratorio: o Asistencia a las clases de laboratorio según el horario de la asignatura.
Metodologías: método expositivo y realización de prácticas. o Realización y estudio de actividades prácticas propuestas por el profesorado.
Metodología: estudio autónomo y realización de prácticas. o Lectura y estudio de los enunciados de las prácticas e información proporcionada
por el profesorado o buscada por los estudiantes. Metodología: estudio autónomo. o Estudio de los resultados y conclusiones obtenidas de la realización de las
prácticas. Metodología: estudio autónomo. o Realización de las memorias de las prácticas. Metodología: estudio autónomo.
Actividades de evaluación: o Exámenes (parciales, finales o extraordinarios). o Entrega de las memorias de las prácticas.
Sistema de evaluación y calificación La evaluación continua de los alumnos se basa en la realización de dos exámenes parciales y en las entregas de cada uno de los supuestos prácticos planteados, siguiendo los siguientes criterios:
Cada uno de los exámenes teóricos y supuestos prácticos será un hito de evaluación que contribuirá a la calificación final de la asignatura.
Un hito no realizado será evaluado con una calificación de 0 puntos.
Para la superación de la asignatura será preciso alcanzar una calificación mínima de 3,5 puntos en la nota del examen del segundo parcial. En caso contrario, la nota final se corresponderá con la del segundo parcial.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
11
Programación II
Para la superación de la asignatura será preciso alcanzar una calificación mínima de 5,0 puntos en la nota final.
Es necesario haber asistido a más del 80% de las sesiones de laboratorio presenciales y haber entregado, en las fechas solicitadas, las codificaciones de las prácticas.
Como evaluación formativa y sumativa en el itinerario de evaluación continua se realizarán:
Entrega y examen del Bloque I de prácticas, con un peso del 15% de la calificación final.
Un primer examen parcial, con un peso del 25% de la calificación final.
Entrega y examen del Bloque II de prácticas, con un peso del 25% de la calificación final.
Un segundo examen parcial, con un peso del 35% en la calificación final.
El alumno podrá elegir entre dos itinerarios de evaluación, excluyentes y definitivos:
Itinerario de evaluación continua. Es el itinerario por defecto. Se aplicará lo anteriormente recogido.
Itinerario de sólo prueba final. Los alumnos que elijan este itinerario deberán presentar, antes de transcurridas 2 semanas desde el comienzo de las clases, una solicitud por escrito en la Secretaría del Departamento DIATEL indicando la elección de este itinerario. El modelo de solicitud se encuentra en Moodle. En este itinerario no se realizará ninguna prueba de evaluación continua. Los alumnos deberán entregar los mismos supuestos prácticos que se especifiquen para el itinerario de evaluación continua y con los mismos plazos de entrega. La nota final se calculará sumando la calificación obtenida en el examen de prácticas y en el examen teórico. Para superar la asignatura el alumno deberá obtener como mínimo un 5 sobre 10 en cada uno de estos dos exámenes.
Una vez elegido el itinerario de sólo prueba final, no es posible el cambio de itinerario por parte del alumno excepto por causa sobrevenida y de fuerza mayor.
Examen extraordinario Para superar el examen extraordinario el alumno deberá realizar todos aquellos supuestos prácticos en los que haya alcanzado una calificación inferior a 5,0 (ya sea en el itinerario de evaluación continua o de prueba final), un examen relacionado con las prácticas realizadas durante el semestre y un examen de teoría. La nota final se calculará como un 40% de la calificación obtenida en el examen práctico y un 60% de la obtenida en el examen teórico. Para superar la asignatura el alumno deberá obtener como mínimo un 5 sobre 10 en cada uno de estos dos exámenes.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
12
Programación II
En la evaluación de la asignatura se aplicará el “Régimen sancionador de aplicación a la copia de prácticas y exámenes en los procesos de evaluación de las asignaturas del departamento”. Los alumnos que copien o faciliten la copia en cualquier prueba evaluable, tanto teórica como práctica, incluyendo también la copia o plagio de trabajos que sean evaluables, serán calificados con una nota de la asignatura igual a 0.0 puntos en la convocatoria en la que se produzca dicho hecho.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
13
Programación II
Recursos de enseñanza‐aprendizaje Material de estudio
Recursos bibliográficos:
[Arnold, Gosling y Holmes, 2001] Ken Arnold, James Gosling y David Holmes. “El lenguaje de programación Java”. Addison Wesley. 2001. 3ª Edición.
[Arnold y Gosling, 1997] Ken Arnold y James Gosling. Addison-Wesley/Domo. "El lenguaje de programación Java". Wesley Iberoamericana. 1997.
[Eckel, 1997] Bruce Eckel. "Hands -on Java Seminar". Presindent Mindview Inc. 1997.
[Eckel, 2006] Bruce Eckel. "Thinking in Java". Prentice Hall. 2006.
Esta información se irá completando a lo largo del cuatrimestre, especificando el capítulo on-line a revisar para cada tema.
Plataforma institucional de tele-enseñanza de la Universidad Politécnica de Madrid (Moodle): La asignatura tendrá su espacio en el Moodle de Titulaciones Oficiales de la Universidad Politécnica de Madrid, al que podrán acceder los estudiantes matriculados en la misma. En este espacio se harán accesibles todas aquellas informaciones, avisos, documentos, actividades y recursos que el profesorado de la asignatura considere adecuado para el correcto desarrollo de la misma.
Equipamiento En el aula de grupo se utilizarán el ordenador, el cañón de video y la pizarra. En el laboratorio los medios utilizados incluirán el cañón de vídeo y la pizarra y cada alumno dispondrá de un ordenador con el software y las herramientas necesarias para la realización de las prácticas de la asignatura. También dispondrán de acceso a Internet para acceder a Moodle o a otros sitios web de interés.
Locales para trabajo no presencial Los estudiantes tendrán libre acceso a los módulos de laboratorio en las fechas y horarios que el Departamento de Ingeniería y Arquitecturas Telemáticas establezca para este curso académico.
Guía de aprendizaje. Semestre de primavera, Curso 2013‐2014.
14