Download GUÍA DE APRENDIZAJE Programación II

Document related concepts
no text concepts found
Transcript
 Programación II GUÍA DE APRENDIZAJE
Programación II
SEMESTRE OTOÑO
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.
.............................................................................................. Curso 2012/2013
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 1 Programación II INDICE
Presentación ................................................................................................. 3 Profesores y soporte .................................................................................... 3 Competencias y Resultados de Aprendizaje.............................................. 5 Unidades temáticas ...................................................................................... 8 Prácticas en el laboratorio ........................................................................... 9 Distribución temporal de las unidades y prácticas. ................................ 10 PLANIFICACIÓN SEMANAL: ...................................................................... 11 Evaluación y calificación ........................................................................... 11 Convocatoria Extraordinaria (junio-julio) .............................................................. 12 Recursos de enseñanza-aprendizaje ........................................................ 12 Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 2 Programación II Asignatura:
Programación II
NúmerodecréditosECTS:
6
Semestredeimpartición:
2º (Otoño)
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 es indispensable que el
alumno tenga 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 oficiales. 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, realización de ejercicios y
pruebas de autoevaluación, resolución de las prácticas de laboratorio y 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.
Profesores y soporte
PROFESORADO
Nombre profesores (indicar coordinador)
Name of lecturer(s)
Despachos
Correo electrónico
D. Carlos González
4308
[email protected]
D. Francisco Javier Estaire
4313
[email protected]
D. Vicente Hernández
4304
[email protected]
Dña. Marisa Martín
4325
[email protected]
Dña. Emilia Pérez
4320
[email protected]
D. Pablo Ramírez (Coordinador)
4310
[email protected]
En el caso de necesitar asistencia técnica en relación a la plataforma Moodle el soporte se realiza en el
GATE: el administrador de la plataforma o el personal con responsabilidad técnica solucionarán los
problemas de manejo de la herramienta que puedan aparecer.
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 3 Programación II ASIGNATURA: Programación II
CURSO 12/13 SEMESTRE OTOÑO
LUNES
MARTES
MIÉRCOLES
JUEVES
08:30
G2M1_0
G2M1_1
09:30
G2M1_0
G2M1_1
10:30
G2M1
G2M1_2
11:30
G2M1
G2M1_2
VIERNES
12:30
13:30
15:30
16:30
G2M1
G2T1
G2T2
G2T1
G2T2
17:30
G2T1_1
18:30
G2T1_1
G2T1
G2T2
G2T1_2
G2T2_2
G2T1_2
G2T2_2
G2T1_0
G2T2_0
G2T1_0
G2T2_0
G2T2_1
G2T2_1
19:30
20:30
Coordinador/a: Pablo Ramírez
Distribución grupos de teoría:
Total: 3 grupos
Profesores: Ramírez, Pablo
González, Carlos
Estaire, Francisco Javier
Distribución grupos de laboratorio:
Total: 9 grupos
Profesores: Ramírez, Pablo (2,5)
González, Carlos (1)
Estaire, Francisco Javier (1)
Martín, María Luisa (2)
Pérez, Emilia (1,5)
Hernández, Vicente (1)
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 4 Programación II Competencias y Resultados de Aprendizaje
En la programación hay dos aspectos fundamentales a tener en cuenta: por una parte el diseño, y por otro
la codificación usando un lenguaje de programación. En esta asignatura, el alumno deberá aprender a
programar utilizando el paradigma de la POO, utilizando como lenguaje de programación Java. Para ello,
deberá alcanzar los resultados de aprendizaje de la siguiente tabla, que aparecen con un peso (en horas
sobre el total) indicando la contribución de cada resultado a la adquisición de las competencias asignadas
a la asignatura:
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 5 Programación II M03: Programación
Programación II
Semestre: 2
6 ECTS = 160 horas
Total horas = 160
Resultados de Aprendizaje
Comprender los fundamentos básicos de la
programación orientada a objetos.
Aplicar los paradigmas de la programación
orientada a objetos para la realización de
sistemas de complejidad media.
Comprender los fundamentos básicos del
diseño orientado a objetos.
Comprender un diseño orientado a objetos
para construir un sistema de complejidad
media.
Conocer la sintaxis del lenguaje java, así
como la definición de clases, interfaces y la
instanciación de objetos.
Aplicar relaciones de herencia en el diseño de
aplicaciones en java.
Utilizar polimorfismo en el diseño de
aplicaciones en java.
Aplicar la gestión de errores y de excepciones
en java.
Utilizar paquetes estándar de java.
Utilizar colecciones para la representación de
estructuras de datos.
Utilizar el paquete de entrada/ salida de java.
Aplicar la serialización de objetos en java.
Manejar entornos de desarrollo integrados
(IDE)
Código
Nivel
Horas
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
N1
6
C GEN. 4
N1
28
C GEN. 5
N1
46
CE BAS. 2
N1
80
6
26
6
6
6
14
8
2
8
4
22
4
12
2
4
6
10
2
4
4
10
2
4
4
8
2
2
4
26
2
10
14
8
6
2
2
2
4
4
10
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 6
4
18
10
6 Programación II Peso en la calificación de cada resultado de aprendizaje: cada uno de los resultados de aprendizaje
formará parte de una evaluación continua sumativa, puesto que constituyen un todo de conocimientos y
habilidades que el alumno necesita para capacitarse en el diseño de aplicaciones orientadas a objetos y
su codificación en lenguaje Java. En la siguiente tabla aparecen los porcentajes sobre la calificación de
cada resultado de aprendizaje.
Resultados de Aprendizaje
Comprender los fundamentos básicos de la
programación orientada a objetos.
Aplicar los paradigmas de la programación
orientada a objetos para la realización de
sistemas de complejidad media.
Comprender los fundamentos básicos del
diseño orientado a objetos.
Comprender un diseño orientado a objetos
para construir un sistema de complejidad
media.
Conocer la sintaxis del lenguaje java, así
como la definición de clases, interfaces y la
instanciación de objetos.
Aplicar relaciones de herencia en el diseño
de aplicaciones en java.
Utilizar polimorfismo en el diseño de
aplicaciones en java.
Aplicar la gestión de errores y de
excepciones en java.
Utilizar paquetes estándar de java.
Utilizar colecciones para la representación
de estructuras de datos.
Utilizar el paquete de entrada/ salida de
java.
Aplicar la serialización de objetos en java.
Manejo de entornos de desarrollo
integrados (IDE)
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. Horas
Peso en la
calificación
Indicadores
mínimos
6
4%
4%
26
16%
8%
8
5%
5%
8
5%
5%
22
14%
7%
12
8%
4%
10
6%
6%
10
6%
3%
8
5%
26
16%
6%
8
5%
2%
6
4%
10
6%
7 Programación II Unidades temáticas
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. Encapsulamiento 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. Clases internas y static. 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 constructores e inicializadores. Creación, uso y
destrucción de objetos. Acceso y visibilidad de los componentes de una clase. Casting,
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 Bloques (try-catch) y creación de nuevas excepciones.
Liberación de recursos: El bloque finally. Estrategias para el control de errores en 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
basados en paquetes. Bibliotecas básicas de paquetes de la API de java. Ejemplo, principales
clases de utilidad del paquete java.lang: Wrappers, String, etc.
UNIDAD 4. ESTRUCTURAS DE DATOS EN JAVA
4.1. Gestión de la información en programación, estructuras de datos básicas: pilas, colas,
listas enlazadas, árboles y tablas hash. Especificación de sus interfaces y comportamiento.
4.2. Decisiones de implementación y uso de las estructuras básicas.
4.3. Recorridos. Algoritmos de ordenación, búsquedas. Recursividad.
4.4. 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 otoño, Curso 2012‐2013. 8 Programación II Prácticas en el laboratorio
BLOQUE I.- INTRODUCCIÓN A LOS ENTORNOS DE DESARROLLO y CONSTRUCCIÓN DE
SISTEMAS BÁSICOS EN JAVA.
1.1 Entornos elementales para el desarrollo y ejecución de aplicaciones java: editores de texto, JDK, etc.
1.2 Entornos integrados de desarrollo: Eclipse, etc.
1.3 Construcción de una aplicación Java sencilla con un entorno gráfico. Depuración de errores y
validación de resultados.
1.4 Construcción de una aplicación solo con la clase principal.
1.5 Construcción de una aplicación con varias clases independientes o con relaciones de herencia y
composición y aplicando polimorfismo.
BLOQUE II.- CONSTRUCCIÓN DE SISTEMAS DE COMPLEJIDAD MEDIA EN JAVA.
2.1 Construir un sistema basado en un diseño con relaciones de herencia y polimorfismo.
2.2 Construir un paquete con la citada aplicación e independizar el programa que lo usa.
2.3 Añadir a la aplicación anterior la gestión de errores mediante excepciones.
2.4 Añadir colecciones en la manipulación de datos.
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 9 Programación II Distribución temporal de las unidades y prácticas.
El curso se desarrolla a lo largo de 16 semanas. A continuación se adjunta la tabla general que contiene la forma de impartición de la docencia de la asignatura.
PROGRAMACIÓN II‐ CURSO 2012/2013 ‐ Semestre otoño CLASES PRESENCIALES (horas)
SEMANA 1
FECHAS 03‐sep 2
10‐sep 3
4
5
6
7
8
9
10
17‐sep 24‐sep 01‐oct 08‐oct 15‐oct 22‐oct 29‐oct 05‐nov 11
12
13
14
15
16
12‐nov 19‐nov 26‐nov 03‐dic 10‐dic 17‐dic 17
Teoria‐1h Unidad2 Unidad3 2 2 2 3 2 4 4 2 2 2 2 2 Entrega Bloque I de prácticas( 40% )
3 2 2 2 3 2 4 8 2 Parcial 1 ( 40 %)
2 2 3 3 3 4 Unidad4 Unidad4 Unidad4 Unidad4 Unidad5 Unidad5 Unidad5 VACACIONES NAVIDAD 07‐ene 2 2 2 2 2 2 2 2 2 2 2 Lab. Estudio EVALUACIONES
Teoria‐2h Unidad1 Unidad2 Unidad2 Unidad2 Unidad3 Unidad3 Unidad3 Lab.
Actividades sin profesor Horas 18
14 de enero 5 3 TOTAL 133 26 3 22 28 49 5 Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 10 Pesos Entrega Bloque II de prácticas( 60% )
Parcial 2 - ( 60%)
100%
Programación II PLANIFICACIÓN SEMANAL:
Información a proporcionar al alumno para el proceso de aprendizaje:
Para cada sesión se le suministrará al alumno vía moodle una información completa del trabajo que
deberá desarrollar antes, durante y después de la sesión. Con la información completa de los contenidos
a tratar, de los objetivos a desarrollar durante la sesión, de la bibliografía a consultar y los ejercicios
propuestos (formativos o sumativos) necesarios para alcanzar dichos objetivos.
El formato de dicha información será el siguiente:
1.
Resultados de aprendizaje asociados a los contenidos (se describen en esta sección los
descriptores de aprendizaje asociados a la sesión).
2.
Descripción de actividades en el aula.
3.
Descripción de actividades de trabajo no presencial (indicando expresamente los capítulos de
libros o de la bibliografía on-line que tienen que consultar cuando sea necesario):


4.
Previas a la sesión.
Posteriores a la sesión.
Evaluación y calificación (se indicará si hay pruebas en clase u on-line).
Evaluación y calificación
El alumno deberá trabajar de forma continuada durante todo el cuatrimestre, asistiendo y participando en
las clases teóricas y de laboratorio, así como realizando todas y cada una de las pruebas de evaluación
continua.
Como evaluación formativa se realizarán ejercicios con retroalimentación por parte del profesor.
Como evaluación formativa y sumativa se realizarán:




Entrega del Bloque I de prácticas: En la semana 10, examen de este bloque en semana 11 o
12 con un peso del 15% de la parte práctica.
Un examen parcial la semana 11 con un peso del 25% en la calificación de la parte teórica del
alumno.
Entrega del Bloque II de prácticas: En la semana 16.
Un examen parcial la semana 18 con un peso del 35% en la calificación de la parte teórica del
alumno y examen del Bloque II prácticas (25%).
La asignatura sólo se puede superar en el semestre de impartición de la docencia, por evaluación
continua de acuerdo con los siguientes criterios:


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.
Será obligatoria la realización de los dos bloques de prácticas.
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 durante las
tres primeras semanas de clase 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, pero los alumnos deberán
realizar las prácticas de laboratorio respetando las fechas de entrega de los dos bloques de prácticas
a través de la plataforma Moodle. Los alumnos que elijan este itinerario también realizarán una
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 11 Programación II evaluación final consistente en dos pruebas (que reflejarán una complejidad y una extensión similares
al de las evaluaciones realizadas en el itinerario de evaluación continua):
o Examen de los dos bloques de prácticas realizados (con un peso del 40%)
o Examen de teoría (con un peso del 60%)
En este itinerario el alumno para aprobar la asignatura deberá sacar un mínimo de 5 puntos en
cada uno de los dos exámenes realizados.
Una vez elegido el itinerario de evaluación continua, no es posible el cambio de itinerario por
parte del alumno excepto por causa sobrevenida y de fuerza mayor.
Según la normativa de exámenes vigente se recuerda que el alumno aparecerá como presentado en la
convocatoria actual (para cualquiera de los dos itinerarios) en el momento en que se presente a alguna de
las pruebas de evaluación.
Convocatoria Extraordinaria (junio-julio)
La convocatoria extraordinaria para los alumnos que hayan cursado la asignatura en cualquiera de los
dos semestres, estará abierta a todos los alumnos que no hayan aprobado la asignatura
independientemente del itinerario elegido.
Consistirá en:


PARTE TEÓRICA (con un peso del 60% sobre la calificación final en la asignatura):
Realización de ejercicios escritos.
PARTE PRÁCTICA (con un peso del 40% sobre la calificación final en la asignatura):
Consistirá en la realización de ejercicios prácticos que evalúen ese trabajo.
La evaluación teórica y práctica no tienen por qué ser el mismo día.
En todo caso, no se guardará ninguna calificación entre cursos académicos.
Recursos de enseñanza-aprendizaje

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.

Recursos Web y multimedia:
Esta información se irá completando a lo largo del cuatrimestre

Equipamiento:
En los laboratorios los alumnos dispondrán de ordenadores en los que se encuentra instalado el
entorno de desarrollo necesario para desarrollar las prácticas de la asignatura. Los ordenadores
disponen de acceso a Internet.

Locales para trabajo no presencial. Laboratorios con horarios de libre acceso para la realización de
las prácticas.
Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 12