guía docente 2017/2018 · programación avanzada ... y su aplicación en la toma de decisiones....

13
hola Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu Guía Docente 2017/2018 Programación Avanzada Object Oriented Programming Grado en Ingeniería en Sistemas de Telecomunicación Modalidad de enseñanza presencial

Upload: buithuan

Post on 01-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

hola

Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu

Guía Docente 2017/2018

Programación Avanzada

Object Oriented Programming

Grado en Ingeniería en Sistemas de Telecomunicación

Modalidad de enseñanza presencial

Page 2: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

1

Programación Avanzada - Telf: (+34) 968 278825

Índice

Programación Avanzada ..................................................................................................... 2 

Breve descripción de la asignatura ................................................................................... 2 

Requisitos Previos .............................................................................................................. 2 

Objetivos de la asignatura .................................................................................................. 2 

Competencias y resultados de aprendizaje ...................................................................... 3 

Metodología ......................................................................................................................... 3 

Temario ................................................................................................................................. 4 

Relación con otras asignaturas del plan de estudios ...................................................... 8 

Sistema de evaluación ........................................................................................................ 8 

Bibliografía y fuentes de referencia ................................................................................... 8 

Web relacionadas .............................................................................................................. 10 

Recomendaciones para el estudio ................................................................................... 10 

Materiales didácticos ........................................................................................................ 10 

Tutorías .............................................................................................................................. 11 

Page 3: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

2

Programación Avanzada - Telf: (+34) 968 278825

Programación Avanzada Módulo: Común.

Materia: Programación Avanzada.

Carácter: Obligatoria.

Nº de créditos: 6 ECTS.

Unidad Temporal: 1ºcurso – 2º semestre

Profesor/a responsable de la asignatura: Rafael Berenguer Vidal

Email: [email protected]

Horario de atención a los alumnos/as: jueves, de 10:30 a 11:30

Profesor/a coordinador de módulo: Prof. Rafael Berenguer Vidal

Profesor/a coordinador del curso: Prof. Francisco. J. Martínez Albaladejo

Breve descripción de la asignatura En la esta asignatura abordaremos una estrategia de programación conocida como programación orientada a objetos, que permite una mayor flexibilidad a la hora del diseño y la implementación de nuevas aplicaciones. Entre los conceptos que se cubrirán en la asignatura están los conceptos de herencia, polimorfismo, ligadura dinámica, genericidad, etc. Factores de calidad del software. Patrones de diseño. Extensibilidad. Reutilización. Rendimiento. Portabilidad. Sencillez.

Brief Description

This subject covers the fundamentals of object-oriented programming, a programming strategy that allows us an easy way of designing and implementing new applications. Among the main concepts behind this technique, we will study inheritance, polymorphism, dynamic binding, genericity, etc. Software quality factors. Extendibility. Reusability. Portability. Ease of use.

Requisitos Previos Para el estudio de esta materia se establece como requisito el haber superado o al menos adquirido la mayoría de competencias correspondientes a la materia Fundamentos de Programación.

Objetivos de la asignatura 1. Conocer el paradigma de programación orientada a objetos.

2. Diferenciar entre programación estructurada y programación orientada a objetos.

3. Enumerar y explicar los distintos conceptos de la programación orientada a objetos.

4. Aplicar estructuras coherentes basadas en programación orientada a objeto para la resolución de problemas reales.

5. Entender la reutilización y la herencia.

6. Conocer el lenguaje JAVA.

7. Identificar adecuadamente los distintos conceptos que se proponen en el temario.

Page 4: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

3

Programación Avanzada - Telf: (+34) 968 278825

Competencias y resultados de aprendizaje

Competencias específicas

C7. Conocimiento y utilización de los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.

Resultados de aprendizaje

RA. Saber interpretar e implementar todas las especificaciones (funcionales, hardware, de comunicaciones, etc.) encaminadas al desarrollo y mantenimiento de los Sistemas Informáticos.

RA. Integrar sistemas informáticos existentes susceptibles de Interrelacionarse.

RA. Diseñar y realizar las pruebas necesarias que verifiquen la validez, integridad y rendimiento de un proyecto Informático.

RA. Tener capacidad para extraer, transformar e interpretar información obtenida de base de datos y su aplicación en la toma de decisiones.

RA. Estudiar el sistema actual y analizar e idear mejores medios para llevar a cabo los mismos objetivos u objetivos adicionales.

RA. Demostrar conocimiento técnico de soluciones aplicables existentes en el mercado.

RA. Tener capacidad de gestión de la información.

Metodología

Metodología HorasHoras de trabajo

presencial

Horas de trabajo

no presencial

Clase teórica 12,5

60 horas (40 %) Clase prácticas y trabajo en grupo 32

Evaluación 3.5

Tutorías académicas 12

Estudio personal 25

90 horas (60 %)Preparación de trabajos y ejercicios 60

Actividades de aprendizaje virtual 5

TOTAL 150 60 90

Page 5: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

4

Programación Avanzada - Telf: (+34) 968 278825

Clase teórica: exposición teórica por parte del profesor del temario de la asignatura en 12,5 horas. Tendrán lugar en un aula de la Universidad.

Clase práctica y trabajo en grupo: el alumno dedicará 32 horas a la realización de ejercicios prácticos y actividades en grupo en los laboratorios de la Universidad.

Tutorías académicas: se dedicarán 12 horas a tutorías presenciales en las que se abordarán aspectos concretos de los temas desarrollados.

Evaluación: el alumno empleará de 3.5 horas en la realización de exámenes presenciales. Se realizará un examen parcial de la asignatura y un examen final de la misma. Se seguirán los criterios generales de evaluación de la Universidad.

Estudio personal: El alumno empleará 25 horas en el estudio del temario de la asignatura.

Preparación de trabajos y seminarios: el alumno empleará 45 horas no presenciales en la realización de las prácticas de la asignatura.

Actividades de aprendizaje virtual: el alumno empleará 20 horas no presenciales en actividades de aprendizaje virtual.

Temario Programa de la enseñanza teórica-práctica

Dada la orientación práctica de la asignatura, se van a impartir las sesiones de teoría y prácticas de forma combinada en el API. En los temas indicados como (Teoría) se refieren exclusivamente a cuestiones teóricas, mientras que los temas indicados como (Teoría/Práct) incluyen conceptos teóricos seguidos de ejercicios en clase para asentar y practicar los conceptos teóricos indicados.

TEMA 1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN (Teoría)

1.1. Introducción

1.2. Periféricos

1.3. Evolución y clasificación de lenguajes

1.4. Fases de elaboración de un programa informático

1.5. Ensambladores, compiladores e intérpretes

TEST 1

TEMA 2. CONCEPTOS BÁSICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS (Teoría)

2.1. Ingeniería del software

2.2. Definición de objeto

2.3. Clases

2.4. Mensajes

2.5. Gestión de la memoria

2.6. Principios de diseño

Page 6: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

5

Programación Avanzada - Telf: (+34) 968 278825

2.7. Programa Orientado a Objetos

2.8. Modelado UML

TEST 2

TEMA 3. FUNDAMENTOS DE JAVA (Teoría/Práct)

3.1. Lenguaje de programación Java

3.2. Java Development Kit

3.3. Instalación del JDK

3.4. Empleo de un entorno de desarrollo visual

3.5. Creación de un programa ejecutable en Windows

3.6. Problemas

3.7. Análisis del programa HelloWorld

3.8. Comentarios

3.9. Programas con entradas

3.10. Entradas numéricas

3.11. Variables y objetos

3.12. Operadores aritméticos y de asignación

EJERCICIO 3

TEMA 4. STRINGS (Teoría/Práct)

4.1. Clase String

4.2. Substrings

4.3. Case

4.4. Concatenación

4.5. Localización de un character dentro de un string

4.6. Reemplazo de caracteres en un string

4.7. Representación de un valor de primitiva en un string

4.8. Resumen de los métodos de la clase String

4.9. La clase StringBuffer

4.10. Resumen de los métodos de la clase StringBuffer

EJERCICIO 4

TEMA 5. SELECCIÓN (Teoría/Práct)

5.1. Sentencia if

5.2. Sentencia if...else

5.3. Sentencia if...else if...

Page 7: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

6

Programación Avanzada - Telf: (+34) 968 278825

5.4. Condicionales anidadas

5.5. Sentencias de composición

5.6. Operadores

5.7. Orden en la evaluación

5.8. Variables boolean

5.9. El operador condicional

5.10. Sentencia switch

EJERCICIO 5

TEMA 6. SELECCIÓN (Teoría/Práct)

6.1. Sentencia for

6.2. Sentencia while

6.3. Cálculo

6.4. Sentencia do...while

6.5. Más sentencias de cálculo

6.6. Bucles anidados

EJERCICIO 6

TEMA 7. MÉTODOS (Teoría/Práct)

7.1. Ejemplos simples

7.2. Variables locales

7.3. Métodos a menudo invocan otros métodos

7.4. Métodos que invocan a ellas mismas

7.5. Métodos boolean

7.6. Métodos void

7.7. Overloading

EJERCICIO 7

TEMA 8. CLASES (Teoría/Práct)

8.1. Clases

8.2. Declaraciones

8.3. Modificadores

8.4. Constructores

8.5. Constructores de copia

8.6. Constructores por defecto

8.7. Clases Invariantes

Page 8: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

7

Programación Avanzada - Telf: (+34) 968 278825

8.8. Identidad, igualdad y equivalencia

8.9. Más clases invariantes

8.10. Clases envoltorio

EJERCICIO 8

TEMA 9. ARRAYS Y VECTORES (Teoría/Práct)

9.1. Arrays de caracteres

9.2. Propiedades de arrays en Java

9.3. Copiar un array

9.4. La clase Vector

9.5. Tamaño y capacidad de un objeto Vector

9.6. Arrays de dos dimensiones

EJERCICIO 9

TEMA 10. COMPOSICIÓN y HERENCIA (Teoría/Práct)

10.1. Composición

10.2. Clases recursivas

10.3. Herencia

10.4. Sobreescritura de métodos y propiedades

10.5. La palabra clave super

10.6. Herencia versus composición

10.7. Clases jerárquicas

10.8. La clase Object

10.9. Las clases jerárquicas

10.10. Los métodos clone() y equals()

TEMA 11. INTERFACES GRÁFICOS CON SWING (Teoría/Práctica)

11.1. Interfaces gráficas de usuario (GUI)

11.2. Elementos principales

11.3. Componentes

11.4. Manejo de eventos

11.5. Responder a eventos

11.6. Otros elementos

Programa de la enseñanza práctica

Aunque indicado en el apartado anterior, en la mayoría de temas de la asignatura, el alumno debe realizar un conjunto de prácticas en clase, y posteriormente debe entregar un boletín con ejercicios

Page 9: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

8

Programación Avanzada - Telf: (+34) 968 278825

prácticos a través del campus virtual. Estos últimos deben ser realizados en las horas de trabajo no presencial del alumno.

Asimismo, el alumno deberá entregar un trabajo de la asignatura, que cuya realización se iniciará al finalizar el tema 9 de la asignatura y que se entregará en fechas próximas al examen presencial. En este trabajo se pondrán en práctica todos los conocimientos y conceptos estudiados en la asignatura, y fundamentalmente los incluidos en los últimos temas, los cuales no tienen ejercicio de entrega específico. De nuevo, este trabajo se realizará en el tiempo de trabajo no presencial del alumno.

Relación con otras asignaturas del plan de estudios - Fundamentos de Programación

- Desarrollo de aplicaciones para dispositivos móviles

Sistema de evaluación Convocatoria de Febrero/Junio:

- Primera prueba parcial: 30% del total de la nota.

Se evaluará mediante un examen presencial consistente en una parte teórica (30%) y una parte práctica (70%).

- Prueba final: 30% del total de la nota.

Se evaluará mediante un examen presencial consistente en una parte teórica (30%) y una parte práctica (70%).

- Evaluación de prácticas y problemas: 40% del total de la nota.

- Test y ejercicios: 20%

- Trabajo final: 20%

El profesor se reserva el derecho de mantener una prueba de validación (entrevista personal) con el alumno tras entregar el trabajo para comprobar la autoría del mismo. Una inadecuada defensa del trabajo puede suponer el suspenso de todas las prácticas.

Para poder superar la asignatura será necesario obtener al menos una nota de 4.0 en cada uno de los ítems anteriores y un 5.0 en la media ponderada de sus valores. En caso de no superar la asignatura en la convocatoria ordinaria y cumplir los requisitos de asistencia para evaluación continua, la nota de los ítems con 5.0 o más se conserva para la convocatoria de septiembre. Los detalles sobre el sistema de evaluación se encuentran recogidos en la normativa general de universidad.

Convocatoria de Septiembre:

Se evaluará de forma idéntica a la descrita para la convocatoria ordinaria.

Para la evaluación se exige una adecuada expresión y una correcta ortografía.

Page 10: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

9

Programación Avanzada - Telf: (+34) 968 278825

El alumno superará la asignatura cuando la media ponderada sea igual o superior a 5 puntos y tenga una nota de, al menos, 4 puntos en todas las partes que componen el sistema de evaluación cuya ponderación global sea igual o superior al 20%.

Si el alumno tiene menos de un 4 en alguna de las partes cuya ponderación sea igual o superior al 20%, la asignatura estará suspensa y deberá recuperar esa/s parte/s en la siguiente convocatoria dentro del mismo curso académico. La/s parte/s superada/s en convocatorias oficiales (Febrero/Junio) se guardarán para las sucesivas convocatorias que se celebren en el mismo curso académico.

En caso de que no se supere la asignatura en la Convocatoria de Septiembre, no contarán las partes aprobadas para sucesivos cursos académicos.

El sistema de calificaciones (RD 1.125/2003. de 5 de septiembre) será el siguiente:

0-4,9 Suspenso (SS)

5,0-6,9 Aprobado (AP)

7,0-8,9 Notable (NT)

9,0-10 Sobresaliente (SB)

La mención de “matrícula de honor” podrá ser otorgada a alumnos que hayan obtenido una calificación igual o superior a 9,0. Su número no podrá exceder del 5% de los alumnos matriculados en una materia en el correspondiente curso académico, salvo que el número de alumnos matriculados sea inferior a 20, en cuyo caso se podrá conceder una sola matrícula de honor.

Bibliografía y fuentes de referencia Bibliografía básica

Thinking in Java. 4th edition. Eckel, Bruce. 2006. (Todos los temas)

Construcción de software orientado a objetos. Meyer, Bertrand. 2ª edición. Madrid: Prentice-Hall. 1999. (Todos los temas)

Bibliografía complementaria

Introducción a la Programación orientada a objetos con JAVA. Thomas Wu, C. 1ª edición. Madrid: McGraw Hill. 2001.

Problemas resueltos de programación en lenguaje Java. Pérez Menor, José Mª et al. 2002.

Cómo programar en Java. Paul Deitel, Harvey Deitel. 2012.

Programación orientada a objetos con Java. Francisco Durán, Francisco Gutiérrez, Ernesto Pimentel. 2007.

Java SE 6. Teo, F. Javier. 2007.

Eclipse in action: a guide for Java developers. David Gallardo. Ed Burnette, Robert McGovern. 2003.

Page 11: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

10

Programación Avanzada - Telf: (+34) 968 278825

Java design patterns : a tutorial. James W. Cooper. 2000.

Patrones de Diseño. Gamma, E.; Helm, R.; Jonson, R. Vlisssides, J. 1ª edición. Madrid: Addison-Wesley Iberoamericana. 2002.

Java 2: manual de usuario y tutorial. Froufe Quintas, Agustín. 1999.

Web relacionadas Página oficial de Java: http://www.oracle.com/technetwork/java/index.html

Foro de desarrollo web con Java: http://www.javahispano.org/

Documentación oficial de Oracle http://docs.oracle.com/javase/tutorial

Página oficial de Eclipse: https://www.eclipse.org/

Página de recursos UML: http://www.uml.org/

Recomendaciones para el estudio Para realizar un correcto seguimiento de la asignatura el alumno debe asistir a todas las sesiones teóricas y prácticas. Además, debe comprobar, mediante la realización de ejercicios prácticos en el ordenador, que es capaz de poner en práctica los conceptos estudiados y resolver los problemas propuestos.

El alumno deberá repasar y tener claros los conceptos previos de programación a esta asignatura. Para ayudar al alumno en esta tarea se le proporcionan ejercicios resueltos de refuerzo y repaso de los contenidos previos.

Dado el carácter incremental y continuo de la asignatura, es muy importante que el alumno realice un seguimiento semanal de la asignatura para realizar un aprendizaje continuo y sumativo. Se recomienda también, dado que es una asignatura eminentemente práctica, que se compaginen los contenidos teóricos y prácticos, tal y como se distribuye en el plan de trabajo establecido para la asignatura.

Materiales didácticos Material didáctico

Para esta asignatura se utilizarán las aulas preparadas con ordenadores y con los programas necesarios para impartir el temario.

El alumno dispondrá mediante el campus virtual (zona recursos) del material didáctico necesario para el correcto seguimiento de la asignatura. El material será organizado en temas y tareas.

Por último, el alumno puede ampliar toda la información de cada tema mediante la lista de bibliografía básica y complementaria (toda disponible en la biblioteca de la UCAM) y mediante las webs relacionadas con la asignatura.

Software/Hardware

Page 12: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

11

Programación Avanzada - Telf: (+34) 968 278825

El software a utilizar será el JDK (Java Development Kit) de Java y el entorno de desarrollo Eclipse. Ambos son gratuitos y multiplataforma.

El JDK puede descargarse desde la web de Oracle:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Eclipse se puede descargar desde:

http://www.eclipse.org/downloads

Eclipse dispone de documentación oficial online (https://www.eclipse.org/documentation/) y documentación en local integrada en el propio entorno. Además, existe la posibilidad de bajar desde el propio entorno los paquetes para traducir el entorno a castellano (aunque se recomienda su uso en inglés).

Todas las herramientas necesarias para la asignatura se encuentran instaladas en las APIs de la UCAM.

Tutorías Las tutorías se dedicarán a reforzar los conceptos y a comprobar que el alumno asimila todo lo explicado en las clases teóricas. Los objetivos formativos planteados para la tutoría son:

- Orientación sobre los contenidos de la asignatura, los sistemas de evaluación y la metodología de enseñanza-aprendizaje, así como su vincula con otras materias y con el ejercicio profesional.

- Seguimiento y evaluación de trabajos, problemas y ejercicios planteados como horas de trabajo no presencial.

- Aclaración de dudas personales sobre los contenidos de la asignatura, memorias de las prácticas, trabajos o ejercicios planteados.

Para cubrir estos objetivos se planificarán las siguientes actividades formativas:

- Presentación inicial de la asignatura, sistema evaluación y metodología.

- Reunión para realizar seguimiento de ejercicios planteados y trabajo.

- Sesiones de refuerzo con la aclaración de dudas personales y repaso de los conceptos importantes.

Este proceso de formación requiere de los adecuados sistemas de evaluación, cuyas herramientas y criterios principales son:

- Asistencia a las sesiones de tutorías.

- Seguimiento personal sobre realización de consultas y participación activa en la sesión.

- Iniciativa, creatividad y toma de decisiones a la hora de resolver los trabajos o problemas planteados.

Page 13: Guía Docente 2017/2018 · Programación Avanzada ... y su aplicación en la toma de decisiones. RA. ... Preparación de trabajos y ejercicios 60 90 horas (60 %)

Programación Avanzada

12

Programación Avanzada - Telf: (+34) 968 278825