Programación para Ingeniería Telemática. (Software Development for Distributed Applications)



Documentos relacionados
Guía Docente Curso

Guía docente de la asignatura Sistemas de Gestión Ambiental Normalizados

Guía docente de la asignatura: Seminarios de Investigación Turística

ESCUELA UNIVERSITARIA DE EMPRESAS Y TURISMO. Grado en TURISMO

Guía docente de la asignatura Aplicaciones del SIG en ingeniería civil, ordenación del territorio y medio ambiente

Ingeniería del Software Web

PROGRAMACIÓN III (Curso de Adaptación)

Guía Docente Curso

Escuela Técnica Superior de Ingeniería Informática

INTELIGENCIA DE NEGOCIO (MASTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA)

Guía docente de la asignatura PROCEDIMIENTOS ESPECIALES DE CIMENTACIÓN

GESTIÓN TÉCNICA Y ESTRATÉGICA DE LAS TIC

Guía Docente Modalidad Semipresencial. Economía, análisis y gestión empresarial. Curso 2015/16. Máster en Ingeniería. de Montes

Guía docente de la asignatura: POSICIONAMIENTO DE DESTINOS Y PRODUCTOS TURÍSTICOS. Titulación: Máster en GDEIT

Máster Universitario en Abogacía

Guía docente de la asignatura Gestión del Mantenimiento

1.Organización general

Escuela Técnica Superior de Ingeniería Informática

Guía Docente Modalidad Semipresencial. Economía, análisis y gestión empresarial. Curso 2014/15. Máster en Ingeniería. de Montes

Guía Docente Curso

Guía docente de la asignatura: Energías Alternativas

Marketing de Servicios

Guía Docente Modalidad Semipresencial. Diseño de máquinas y motores. Curso 2014/15. Máster en Ingeniería. de Montes

Guía Docente Modalidad Presencial. Estructuras de Datos. Curso 2015/16. Grado en Ingeniería de. Sistemas de Información

Grado en Magisterio de Educación Primaria Universidad de Alcalá Curso Académico 2011/2012 2º Curso 1º Cuatrimestre

Grado en Economía y Negocios Internacionales Universidad de Alcalá Curso Académico 2014/2015 Tercer Curso Segundo Cuatrimestre

GUÍA DOCENTE. Curso Ingeniería Informática en Sistemas de Información Doble Grado: Mantenimiento de Bases de Datos Módulo: Módulo 6

Guía Docente Modalidad Semipresencial. Técnicas y herramientas de gestión y control de la calidad. Curso 2015/16. Máster en Ingeniería.

Máster Universitario en Abogacía

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB Guía de Aprendizaje Información al estudiante

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE

Guía docente de la asignatura

Modelo de Guía Docente. Facultad de Educación. Grado en Educación Primaria

Máster Universitario en Abogacía

ARQUITECTURA Y DISEÑO DE SISTEMAS WEB Y C/S

Máster Universitario en. Guía Docente. Dirección estratégica en una economía globalizada. Internacionalización de Empresas y Comercio Exterior

Guía Docente Curso

PROGRAMA DE LA ASIGNATURA. Curso académico

Escuela Universitaria de Enfermería y. Fisioterapia. Máster Universitario en Investigación, Gestión y Calidad en Cuidados para la.

GUÍA DOCENTE 1. DESCRIPCIÓN DE LA ASIGNATURA

METROLOGÍA INDUSTRIAL

GUÍA DOCENTE. Finanzas y Contabilidad Derecho y Finanzas y Contabilidad

INSTRUMENTACIÓN TELEMÁTICA Y LABORATORIO DE REDES (ITELAR) (TELEMATICS INSTRUMENTATION AND NETWORKING LABS)

Facultad de Ciencias Económicas y Empresariales. Grado en Economía

GUÍA DOCENTE. Curso

GUÍA DOCENTE. 1: Formación Básica en Ciencias Económicas y Empresariales Organización de Empresas y Marketing

GUÍA DOCENTE. Nombre del Módulo o Materia al que pertenece la asignatura. PRÁCTICAS EXTERNAS. Expresión Gráfica, Proyectos y Urbanismo

Contabilidad Financiera

Gestión de la Seguridad de los Sistemas de Información

Técnicas de Búsqueda y Sistemas de Información

GUÍA DOCENTE. Curso DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Módulo 6

Escuela Universitaria de Turismo Iriarte

CALIDAD Y AUDITORÍA (MÁSTER EN INGENIERÍA INFORMÁTICA)

Máster Universitario en Dirección de Empresas MBA. Programa de la Asignatura: Atención al Cliente y Calidad de Servicio

Plan Docente. Jocs d Empresa / Juegos de empresa / Business Games. Nombre de créditos ECTS: 5 Horas dedicación estudiante: 125

Mediación. Título: Máster universitario en prevención e intervención psicológica en problemas de conducta en la escuela

Máster en Formación del Profesorado Universidad de Alcalá Curso Académico 2015/2016 1º Cuatrimestre

Estudios de Economía y Empresa Trabajo Final de Grado Plan de marketing

Escuela de Ciencias Empresariales. Grado en Contabilidad y Finanzas

GUÍA DOCENTE DE LA ASIGNATURA

Facultad de Derecho. Grado en Derecho

PROGRAMA DE LA ASIGNATURA "PYMES y Gestión de la Calidad" Grado en Finanzas y Contabilidad. Departamento de Administración Empresas y C.I.M. (Mark.

Escuela de Ciencias Empresariales. Grado en Contabilidad y Finanzas

(Auditoría y Certificación de Sistemas Informáticos)

Instrumentos para el Análisis del Entorno Económico. Guía Docente. Curso

ASIGNATURA: Laboratorio de Sistemas Electrónicos Digitales I

ARQUITECTURA DE COMPUTADORES

Guía didáctica PSICOLOGÍA DEL TRABAJO Y DE LAS ORGANIZACIONES

Transcripción:

Programación para Ingeniería Telemática (Software Development for Distributed Applications) Titulación: Curso: Grado en Ingeniería Telemática 2012-2013

Guía Docente 1. Datos de la asignatura ECT S Nombre Módulo Programación para Ingeniería Telemática Código 505103004 Titulación Plan de estudios Centro Tipo Periodo lectivo Idioma Horario clases teoría Horario clases prácticas Grado en Ingeniería Telemática 2010 Escuela Técnica Superior de Ingeniería de Telecomunicación Obligatoria Primer Cuatrimestre Español Curso Tercero 6 Horas / ECTS 30 Carga total de trabajo (horas) 180 Véanse horarios en http://www.teleco.upct.es/documentos/horario_c urso12-13/horarios_git_2012_2013_v5.pdf Véanse horarios. Aula Lugar Véanse horarios. Véanse horarios.

2. Datos del profesorado 2.1 Profesor/a responsable Nombre Juan Ángel Pastor Franco Departamento TIC Área de conocimiento LSI Ubicación del despacho Edificio Antigones ETSIT, despacho 28 Teléfono 968326507 Fax 968325973 Correo electrónico Juanangel.pastor@upct.es URL / WEB Horario de tutorías Martes de 10 a 14 y de 16 a 18 Ubicación tutorías Despacho Perfil Docente e investigador Profesor Titular de Universidad Experiencia docente Desde 2000 Líneas de Investigación Ingeniería del Software, Robótica Experiencia profesional Desde 1990 Otros temas de interés 2.2 Otros profesores/as de la asignatura

3. Descripción de la asignatura 3.1. Presentación La asignatura se plantea como una continuación de la asignatura de "Fundamentos de Programación" impartida en el primer curso y está orientada a la ampliación de los contenidos de dicha asignatura y al software para aplicaciones distribuidas. El temario incluye una introducción al lenguaje C++, una revisión/ampliación de los conceptos de la programación orientada a objetos, conceptos básicos de programación concurrente y de programación conducida por eventos (ejemplarizados mediante ejemplos de clientes y servidores distribuidos) y acceso a bases de datos. 3.2. Ubicación en el plan de estudios Tercer curso, primer cuatrimestre. 3.3. Descripción de la asignatura. Adecuación al perfil profesional Conocer los fundamentos de las aplicaciones distribuidas es parte integral de la formación de todo ingeniero de telecomunicación y muy especialmente para los titulados en el grado de ingeniería telemática. Para todos ellos, los sistemas de y comunicaciones serán parte consustancial de los entornos de trabajo en los que se desarrollará su carrera profesional. Para un porcentaje considerable, el desarrollo de aplicaciones distribuidas será además un trabajo habitual que deberán desempeñar con maestría. 3.4. Relación con otras asignaturas. Prerrequisitos y recomendaciones Se recomienda haber aprobado la asignatura Fundamentos de Programación de primer curso. Se asume que el alumno que cursa esta asignatura: 1. Está familiarizado con los conceptos de la programación estructurada y de la programación basada en objetos y conoce el lenguaje Java. 2. Es capaz de aplicar las reglas de la programación estructurada y la abstracción funcional para diseñar y codificar algoritmos de mediana complejidad a partir de su descripción textual, de un flujograma o de una expresión algebraica. 3. Es capaz de implementar a partir de una especificación programas basados en objetos de pequeña complejidad en los que (1) se creen tipos de datos mediante clases e interfaces (2) se utilice la relación de composición para crear objetos compuestos, (3) se haga uso del polimorfismo a través de la implementación de interfaces y (4) se manipulen objetos de diferentes tipos de datos. 4. Conoce los elementos principales del modelo entidad-relación, del modelo relacional y del lenguaje SQL. 5. Es capaz de construir sentencias SELECT simples sobre una sola tabla. 3.5. Medidas especiales previstas Los alumnos que no dominen el idioma español, aquellos que presenten alguna discapacidad y, en general, aquellos en los que concurra alguna circunstancia especial deberán ponerse en contacto con el profesor responsable de la asignatura al inicio del curso.

4. Competencias 4.1. Competencias específicas de la asignatura Aspectos avanzados de la programación orientada a objetos. Procesos e hilos. Comunicación entre procesos. Gestión de memoria. Acceso a bases de datos desde un lenguaje de programación. 4.2. Competencias transversales COMPETENCIAS INSTRUMENTALES Ta1. Capacidad de análisis y síntesis Ta2. Capacidad de planificación, toma de decisiones Ta3. Comunicación oral y escrita en la lengua nativa Ta4. Conocimiento de una lengua extranjera Ta5. Resolución de problemas COMPETENCIAS INTERPERSONALES Tb1. Trabajo en equipo Tb2. Trabajo en un equipo de carácter interdisciplinar Tb3. Habilidades en las relaciones interpersonales Tb4. Compromiso ético Tb5. Aprendizaje autónomo Tb6. Adaptación a nuevas situaciones Tb7. Sensibilización hacia temas medioambientales COMPETENCIAS SISTÉMICAS Tc1. Creatividad e innovación Tc2. Liderazgo, iniciativa, espíritu emprendedor Tc3. Motivación por la calidad 4.3. Objetivos generales En la asignatura se pretende que el alumno amplíe sus conocimientos de programación orientada a objetos y aprenda algunos fundamentos del desarrollo de software para aplicaciones distribuidas. La asignatura no pretende cubrir todos los aspectos involucrados en dicho desarrollo. Por un lado, esto no es posible, dada la amplitud de la materia, y por otro, no es necesario, dado que muchos de estos aspectos se cubren en otras asignaturas del grado. La asignatura se centra en: 1. Hacer la transición desde el lenguaje Java al lenguaje C++. Este objetivo viene dado por la relación de esta asignatura con otras del grado que se apoyan en bibliotecas de comunicaciones escritas en C y C++. 2. Ampliar los conocimientos de los alumnos respecto de la programación orientada a objetos. 3. Presentar conceptos fundamentales de la programación concurrente y de la programación dirigida por eventos y su aplicación en el desarrollo de aplicaciones distribuidas. 4. Conexión de las aplicaciones con bases de datos.

4.4. Resultados esperados del aprendizaje R1: Enumerar y describir los principios generales de la programación orientada a objetos. R2: Conocer las principales características del lenguaje C++ y estar familiarizado con su sintaxis. R3: Implementar y probar una biblioteca de funciones sencilla en C++ dada su especificación, los criterios de prueba del código y parte del código de prueba. Por ejemplo: librería de funciones de manipulación de polinomios y matrices. R4: Implementar en C++ a partir de una especificación programas basados en objetos de pequeña complejidad en los que (1) se creen tipos de datos (2) se utilice la relación de composición para crear objetos compuestos (3) se haga uso del polimorfismo y (4) se manipulen objetos de diferentes tipos de datos. R5: Implementar en C++, a partir de una especificación, una pequeña aplicación distribuida en la que (1) se utilicen diferentes políticas de concurrencia para aceptar y procesar las peticiones de servicio, (2) se utilicen comunicaciones asíncronas entre clientes y servidores, (3) se proporcionen mecanismos para añadir manejadores de servicios y (4) se acceda a bases de datos.

5. Contenidos 5.1. Contenidos según el plan de estudios Aspectos avanzados de la programación orientada a objetos. Procesos e hilos. Comunicación entre procesos. Gestión de memoria. Acceso a bases de datos desde un lenguaje de programación. 5.2. Programa de teoría: bloques y temas Bloque I.- Introducción al lenguaje C++. 1.1. Presentación de la asignatura. 1.2. Elementos léxicos del lenguaje C++. Abstracciones de datos y de control. 1.3. Punteros y arrays. 1.4 Funciones y excepciones. 1.5 Programación orientada a objetos. Bloque II.- Introducción a las aplicaciones distribuidas. 2.1. Dimensiones de diseño de las aplicaciones distribuidas. 2.2. Programación concurrente. 2.3. Eventos y manejadores de eventos. Inversión de control. Bloque III.- Bases de datos. 3.1. Modelos ER y relacional. 3.2. Acceso a BBDD desde aplicaciones. 5.3. Programa de prácticas Sesión 1: Entorno de programación y estructura de un programa C++. Sesión 2: Tipos de datos y estructuras de control. Sesión 3: Punteros y estructuras. Listas enlazadas. Sesión 4: Funciones y librerías de funciones. Entrega del enunciado de la primera práctica evaluable (PE1). Sesión 5: Introducción a la Standard Template Library. Sesión 6: Entrada y salida. Sesión 7: Prueba de evaluación de PE1. Entrega del enunciado de la segunda práctica evaluable (PE2). Sesión 8: Programación concurrente. Sesión 9: Programación dirigida por eventos. Sesión 10: Prueba de evaluación de PE2. Entrega del enunciado de la segunda práctica evaluable (PE3). Sesión 11: Bases de datos (primera parte). Sesión 12: Bases de datos (segunda parte). Sesión 13: Tutoría PE3. Sesión 14: Prueba de evaluación de PE3. A partir de la sesión 4 todas las sesiones están orientadas a resolver aspectos concretos de las prácticas evaluables (PE1, PE2 y PE3), a través de ejemplos y ejercicios en los que los alumnos deben enfrentarse a situaciones parecidas a las que se presentan en dichas prácticas. 5.4. Programa resumido en inglés Unit I. - Introduction to C++. Unit II.- Introduction to distributed applications programming. Unit III.- Data bases.

6. Metodología docente 6.1. Actividades formativas Actividad Trabajo del profesor Trabajo del estudiante ECTS Clase de teoría Resolución de ejercicios y casos prácticos Prácticas de laboratorio Clase expositiva. Resolución de dudas planteadas por los estudiantes. Se tratarán los temas de mayor complejidad y los aspectos más relevantes. Resolución y planteamiento problemas tipo y casos prácticos. A los alumnos se les indicará cada semana una lista de ejercicios a resolver. Realización de los ejercicios propuestos en los boletines y realización de las prácticas evaluables. Presentación de tres prácticas evaluables realizadas por parejas. Presencial (P1): 0,8 Estudio (NP1): 0,8 Preparación de trabajos (NP2): Presencial (P2): 0,2 Estudio (NP1): 0,2 Preparación de trabajos (NP2): Presencial (P3) 0,8 Estudio (NP1): 0,2 Preparación de trabajos (NP2): 2,0 Asistencia de conferencias, seminarios, visitas guiadas Presencial (P4) Estudio (NP1): Preparación de trabajos (NP2): Presentación de trabajos ante el profesor Realización de pruebas de evaluación. Realización de tres exámenes parciales y un examen final. Presencial (P5) Estudio (NP1): Preparación de trabajos (NP2): Presencial (P6) 0,2 Estudio (NP1): 0,8 Preparación de trabajos (NP2): 6,0

7. Técnicas de valuación 7.1. Técnicas de evaluación Instrumentos Realización / criterios Peso Pruebas escrita individual Pruebas escrita individual Pruebas escrita individual Pruebas escrita individual Realización y entrega de prácticas Comentarios adicionales: Examen parcial 1: Bloque I: de 1.1 a 1.4 Práctica Evaluable 1. Examen parcial 2: Bloque I: 1.5 Bloque II:2.1 y 2.2 Práctica Evaluable 2. Examen parcial 3: Bloque II:2.3 Bloque III Práctica Evaluable 3. Examen Final. Toda la materia. Se entregarán en el aula virtual las prácticas evaluables realizadas por parejas. 10% Es necesario haber entregado PE1 20% Es necesario haber entregado PE2 20% Es necesario haber entregado PE3 50% Es necesario sacar al menos un 4.0 Apto/No Apto Posibilidad de influir en la nota del parcial (*). Competencias genéricas (4.2) evaluadas Ta1, Ta5, Tb5, Tc3 Ta1, Ta5, Tb5, Tc3 Ta1, Ta5, Tb5, Tc3 Ta1, Ta5, Tb5, Tc3 Ta1, Ta5, Tb1, Tb6, Tc1, Tc3 Resultados (4.4) evaluados R2, R3 R1, R4 R5 R1, R2, R3, R4, R5 R3, R4, R5 Los elementos que se tendrán en cuenta para calcular la nota final y su valor dependerán de si el alumno ha sacado o no un APTO en prácticas. El APTO en prácticas implica dos condiciones: No tener más de tres faltas de asistencia. Tener un APTO en TODAS las prácticas evaluables. Se tiene un apto en una práctica evaluable cuando se entrega en plazo, supera el 5.0 en las pruebas suministradas a los alumnos y no se detectan errores graves ni plagio. Evaluación de los alumnos APTOS en prácticas: Si la nota del examen final supera el 4, la nota de la asignatura será la mejor entre: La media ponderada de los exámenes parciales y el examen final. El examen final. Si la nota del examen final NO supera el 4, la nota de la asignatura será la obtenida en el examen final. Evaluación de los alumnos NO APTOS en prácticas: Deberán realizar dos ejercicios adicionales en el examen final, siendo la nota de la asignatura la que obtengan en el examen final. Las prácticas entregadas podrán influir en la calificación de los parciales de la siguiente manera: Aquellos alumnos que hayan sacado al menos un cinco en un parcial podrán pedir que se les haga una entrevista respecto de la práctica correspondiente al parcial. En dicha entrevista el profesor inspeccionará y ejecutará el código y podrá preguntar a los autores de sobre cualquier aspecto concerniente a su realización. El profesor pondrá una nota numérica a la práctica, calculándose la nota del parcial como la media entre la nota sacada en el parcial y la nota de la entrevista.

8. Distribución de la carga de trabajo del estudiante Convencionales Actividades presenciales No convencionales Actividades no presenciales Semana Bloque / Tema / Actividad P1. Clases teoría P2. Clases problemas P3. Prácticas de laboratorio Total convencionales P4. Conferencias, seminarios, etc. P5. Presentación de trabajos Total no convencionales NP1. Estudio NP2. Preparación de trabajos Total no presenciales Total horas 1 Bloque I 1,6 0,4 1,6 3,6 2,4 0 2,4 6 2 2.1 1,6 0,4 1,6 3,6 2,4 4 6,4 10 3 2.1 1,6 0,4 1,6 3,6 2,4 4 6,4 10 4 2.2 1,6 0,4 1,6 3,6 2,4 4 6,4 10 5 2.2 1,6 0,4 1,6 3,6 2,4 4 6,4 10 6 2.3 1,6 0,4 1,6 3,6 2,4 4 6,4 10 7 2.3 1,6 0,4 1,6 3,6 2,4 4 6,4 10 8 3.1 1,6 0,4 1,6 3,6 2,4 4 6,4 10 9 3.2, 3.3 1,6 0,4 1,6 3,6 2,4 4 6,4 10 10 Bloque 4 1,6 0,4 1,6 3,6 2,4 4 6,4 10 11 Bloque 4 1,6 0,4 1,6 3,6 2,4 4 6,4 10 12 Bloque 4 1,6 0,4 1,6 3,6 2,4 4 6,4 10 13 Bloque 4 1,6 0,4 1,6 3,6 2,4 4 6,4 10 14 Bloque 5 1,6 0,4 1,6 3,6 2,4 4 6,4 10 15 Bloque 5 1,6 0,4 1,6 3,6 2,4 4 6,4 10 Periodo de exámenes 6 6 24 4 28 34 Otros TOTAL HORAS 30 6 24 60 60 60 120 180 Entregables Comentarios:

9. Recursos y bibliografía 9.1. Bibliografía básica Eckel, B. Thinking in C++, 2nd Edition (http://www.mindview.net/books/ticpp/thinkingincpp2e.html). C++ Language Tutorial (http://www.cplusplus.com/doc/tutorial/) Matilde Celma, Bases de datos relacionales, Pearson Education, 2006 (disponible en biblioteca). 9.2. Bibliografía complementaria Deitel&Deitel, Cómo programar en C++? Prentice Hall (disponible en biblioteca) 9.3. Recursos en red y otros recursos Apuntes, problemas y material de la asignatura en Aula Virtual.