programa de asignatura - Universidad de Deusto

Anuncio
PROGRAMA DE ASIGNATURA
Titulación
Curso académico
F.INGENIERÍA – MÁSTER UNIVERSITARIO EN INGENIERÍA DE
TELECOMUNICACIÓN
9740
Código y titulo de la asignatura
51324
OBLIGATORIO
Temporalidad
Semestre 2
Diseño de Servicios Avanzados
Tipo
2016/17
Idioma
Créditos UD
Créditos ECTS
SPA
5
5
Grupo/Idioma
01/Castellano
Profesor
Buján Carballal, David
JUSTIFICACIÓN
Las personas graduadas en Ingeniería Telemática por la Universidad de Deusto son capaces de aplicar sus
conocimientos a la realización de tareas y resolución de problemas en diferentes áreas relacionadas con las
Tecnologías de la Información y las Comunicaciones. Una de estas áreas es el desarrollo de aplicaciones y servicios
accesibles vía web. En los últimos años estamos asistiendo a un trasvase masivo de aplicaciones desde el entorno
de escritorio a la web. Hoy en día es habitual utilizar servicios de correo electrónico, calendario, mensajería
instantánea, blogging y microblogging, ofimática o multimedia cuya arquitectura se fundamenta en tecnologías web.
Conocer cómo se desarrollan las aplicaciones web se ha convertido en un requisito indispensable para las personas
graduadas en Ingeniería Telemática, y esta asignatura pretende dar respuesta a esas preguntas y realizar
aportaciones a la mayoría de las macrocompetencias específicas asociadas al perfil académico-profesional de la
titulación Grado en Ingeniería Telemática.
PRERREQUISITOS
Poseer conocimientos de diseño y modelado de software y bases de datos.
Poseer conocimientos básicos de programación.
RESULTADO DE APRENDIZAJE EN TÉRMINOS DE COMPETENCIA GENÉRICAS Y ESPECÍFICAS
COMPETENCIA GENÉRICA CG4.2. Trabajo en equipo: integrarse y colaborar de forma activa en la consecución de
objetivos comunes con otras personas, áreas y organizaciones. Nivel 2: Contribuir en la consolidación y desarrollo
del equipo, favoreciendo la comunicación, el reparto equilibrado de tareas, el clima interno y la cohesión.
COMPETENCIA ESPECÍFICA CE1. Diseñar la arquitectura y el contenido de una aplicación web, de acuerdo a
unos requisitos dados, separando la información de su formato, empleando las especificaciones, estándares,
reglamentos, normas y recomendaciones correspondientes en cada caso y valorando el grado de cumplimiento
necesario de cada una de ellas.
COMPETENCIA ESPECÍFICA CE2. Seleccionar e implementar la tecnología cliente/servidor web adecuada, de
acuerdo a unos requisitos dados, en lo referente al lenguaje de programación, plataforma empleada y servidor de
aplicaciones.
CONTENIDOS
TEMA 1. INTRODUCCIÓN. ¿Qué es ingeniería web? Historia de la web, desde 1991 a nuestros días. Arquitecturas
de las aplicaciones web. Lenguajes y estándares de Internet. Plataformas (frameworks) de programación web: parte
servidora y parte cliente.
TEMA 2. LOS LENGUAJES DE LA WEB. HTML5 y CSS3. Validación y cumplimiento de los estándares (W3C).
Accesibilidad y "diseño para todos" en la web (WAI). Tecnologías XML.
TEMA 3. TECNOLOGÍAS DE SERVIDOR. Servidores web y stack de soluciones: XAMPP. PHP como lenguaje de
programación web. Symfony2 como plataforma (framework) de desarrollo web.
TEMA 4. TECNOLOGÍAS DE CLIENTE. JavaScript como lenguaje de programación web. AJAX e interacción
compleja mediante el framework jQuery. Introducción a AngularJS. Herramientas de gestión de proyectos
JavaScript: Grunt, Bower, Yeoman. Hacia Full Stack JavaScript.
TEMA 5. ARQUITECTURA ORIENTADA A SERVICIOS (SOA). Servicios Web: características y beneficios,
estándares (SOAP, WSDL y UDDI) y REST.
ESTRATEGIA DE ENSEÑANZA – APRENDIZAJE
1. Métodos y técnicas
La estrategia de enseñanza utilizada en la asignatura plantea un desarrollo progresivo y paralelo de los contenidos
teóricos y la realización de actividades de experimentación personal en aula y fuera del aula. Ambos aspectos
complementan la formación del estudiante, siendo imprescindible la comprensión de los conceptos teóricos para
desarrollar los ejercicios y actividades prácticas asociadas, así como la implementación práctica para dar un sentido
real al estudio teórico relacionado.
A continuación, se resumen los principales métodos o técnicas empleados que concretan la estrategia docente
descrita:
- Exposición y debate (clases expositivas de transmisión de conocimiento y activación de los procesos cognitivos del
estudiante): el profesor expone los contenidos recogidos en el temario de la asignatura de manera organizada e
introduce los conceptos base contextualizándolos mediante ejemplos y cuestiones a debate. Previamente, se
proporciona a los estudiantes el material necesario en forma de transparencias, apuntes y lecturas sobre las que
trabajar.
- Estudio dirigido (estudio personal a partir del material recopilado de las actividades realizadas dentro del aula, para
conseguir un aprendizaje autónomo y significativo): se plantean referencias de material y documentación necesarios
para comenzar con el estudio, profundización y síntesis de los contenidos de los temas de la asignatura, algunos no
impartidos por el profesor.
- Exposición y ejercicios en máquina para experimentación personal en aula (resolución de ejercicios de ensayo y
práctica de los conocimientos previamente adquiridos, así como clases prácticas en laboratorios asesoradas por el
profesor, en las que se pondrán en práctica los conocimientos adquiridos en el resto de actividades que se realizan
dentro del aula): se plantean mediante un documento técnico (guión de realización) con la explicación por parte del
profesor y se realiza de forma supervisada en el aula de ordenadores.
- Actividad para experimentación personal dentro y fuera del aula “prototipo web simple” (aprendizaje orientado a
proyectos en los que el estudiante aplica los conocimientos y habilidades adquiridos mediante la realización de
proyectos individuales): cada alumno desarrolla fuera del aula el prototipo de una aplicación web.
- Actividad colaborativa para experimentación personal fuera del aula “proyecto web colaborativo” (aprendizaje
orientado a proyectos en los que el estudiante aplica los conocimientos y habilidades adquiridos mediante la
realización de proyectos grupales): actividad planificada para ser realizada en grupos fuera del aula, relativa al
desarrollo de un proyecto web, y que tendrá dos fases de entrega: una a mitad del semestre y otra al final. El
profesor explica cómo establecer roles interdependientes en el grupo, de forma que todas las partes sean
necesarias para lograr el objetivo planteado. La actividad finaliza con la entrega del proyecto web desarrollado, junto
con una breve documentación describiendo el proyecto y las partes que ha desarrollado cada miembro del grupo, y
una presentación del mismo al profesor.
- Autoevaluación (el estudiante podrá realizar cuestionarios online a través de la plataforma de e-learning, recibiendo
feedback inmediato con el objetivo de que pueda mejorar su aprendizaje): actividad de generación colaborativa de
preguntas de test entre el alumnado, creando posteriormente el profesor con ellas un cuestionario on-line y
poniéndolo a su disposición. El cuestionario se podrá realizar tantas veces como se desee, ya que la puntuación que
se obtiene en cada intento y la acumulada final solamente sirve para que cada estudiante se autoevalúe, dado que
esta actividad simplemente pretende servir de ayuda al estudio de los contenidos de la asignatura.
Todas las actividades, tanto las que se realizan en el aula como fuera, estarán apoyadas por el uso de un sistema
de gestión de aprendizaje (Learning Management System - LMS) que contará con contenido multimedia mediante el
cual cada estudiante podrá dedicar el esfuerzo que necesite a trabajar con cada "píldora" de conocimiento, pudiendo
reducir su tiempo de aprendizaje. Este material estará permanentemente accesible para los estudiantes de manera
que cada uno pueda organizar su tiempo y dedicar el esfuerzo necesario para adquirir dicho conocimiento, apelando
a su disciplina y fuerza de voluntad.
2. Recursos
Aula equipada con ordenadores, con conexión a la red, videoproyector y pantalla de proyección. Los ordenadores
tendrán instalados los Sistemas Operativos Microsoft Windows y Ubuntu GNU/Linux necesarios, así como el
software de virtualización VMware Player y Virtual Box.
3. Trabajo del estudiante
De acuerdo con los 5 créditos ECTS asignados, la dedicación requerida para el seguimiento de la asignatura y el
cumplimiento de sus requisitos es de 125 horas, que se distribuirán de acuerdo a los siguientes tiempos estimados
de trabajo:
- Trabajo dentro del aula (45 horas, aunque se ajustará al calendario escolar oficial de la facultad):
+ Exposición y debate teórico/práctico: 25 horas
+ Ejercicios en máquina: 20 horas
- Trabajo fuera del aula (80 horas):
+ Trabajo personal: 75 horas
+ Preparación y realización de exámenes: 5 horas (1 examen de 1 hora y 4 horas de preparación previa).
SISTEMA DE EVALUACIÓN
El sistema de evaluación estará compuesto por tres partes bien diferenciadas:
1. Práctica individual para desarrollar un prototipo web simple a entregar durante las primeras semanas del
semestre para poner en práctica las competencias específicas a adquirir (E1, 20% de la nota final).
2. Proyecto web colaborativo a elaborar en grupo para poner en práctica las competencias específicas a adquirir.
Entrega en dos fases: una alrededor de la mitad del semestre (E2, valor 25%) y otra al final (E3, valor 25%),
incluyendo la documentación sobre los desarrollos realizados (E4, valor 10%). (E2+E3+E4, 60% de la nota final).
3. Prueba individual final de índole teórico-práctico (E5, 20% de la nota final).
Para superar la asignatura es preciso obtener 50 puntos sobre 100 en la nota final, siempre y cuando se haya
obtenido al menos un 7 sobre 20 en el prototipo (E1), un 20 sobre 60 en el proyecto web (E2+E3+E4) y un 7 sobre
20 en la prueba individual final (E5).
A continuación, se presenta de forma detallada el sistema global de evaluación y calificación, haciendo referencia a
una estructura por competencias:
- Competencia genérica: evaluada a partir de la memoria de la actividad colaborativa fuera del aula (proyecto web
colaborativo) y una entrevista con el profesor, que supone el 10% de la calificación final.
- Competencias específicas: la evaluación de éstas se realizará mediante la actividad de experimentación personal
“prototipo web simple” (20%), la actividad colaborativa fuera del aula “proyecto web colaborativo” (50%), y la prueba
individual final (20%). Suponen en total un 90% de la calificación final.
DOCUMENTACIÓN
Los materiales básicos para el adecuado seguimiento de la asignatura se encuentran en la plataforma online de
aprendizaje (a saber: transparencias, enunciados de actividades y ejemplos de código).
Bibliografía complementaria:
«Ingeniería web - Wikipedia, la enciclopedia libre». [En línea]. Disponible en:
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_web. [Accedido: 10-jun-2015].
«Hearing on the “Digital Future of the United States: Part I -- The Future of the World Wide Web”.» [En línea].
Disponible en: http://dig.csail.mit.edu/2007/03/01-ushouse-future-of-the-web.html. [Accedido: 10-jun-2015].
«Web application - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Web_application#Structure. [Accedido: 10-jun-2015].
«Standards - W3C». [En línea]. Disponible en: http://www.w3.org/standards/. [Accedido: 10-jun-2015].
«Web application framework - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Web_application_framework. [Accedido: 10-jun-2015].
«Comparison of web application frameworks - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks. [Accedido: 10-jun-2015].
«Comparison of JavaScript frameworks - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks. [Accedido: 10-jun-2015].
«List of JavaScript libraries - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/List_of_JavaScript_libraries. [Accedido: 10-jun-2015].
«Introducción a XHTML». [En línea]. Disponible en: http://librosweb.es/libro/xhtml/. [Accedido: 11-jun-2015].
«HTML5». [En línea]. Disponible en: http://www.w3.org/TR/html5/. [Accedido: 10-jun-2015].
«HTML5 Rocks - Un recurso para desarrolladores de HTML5 para una Web abierta». [En línea]. Disponible en:
http://www.html5rocks.com/es/. [Accedido: 10-jun-2015].
«HTML Tutorial». [En línea]. Disponible en: http://www.w3schools.com/html/default.asp. [Accedido: 10-jun-2015].
«Introducción a CSS». [En línea]. Disponible en: http://librosweb.es/libro/css/. [Accedido: 11-jun-2015].
«Cascading Style Sheets». [En línea]. Disponible en: http://www.w3.org/Style/CSS/. [Accedido: 10-jun-2015].
«CSS3 Introduction». [En línea]. Disponible en: http://www.w3schools.com/css/css3_intro.asp. [Accedido: 10-jun2015].
«Web Accessibility Initiative (WAI) - home page». [En línea]. Disponible en: http://www.w3.org/WAI/. [Accedido: 10jun-2015].
«Extensible Markup Language - Wikipedia, la enciclopedia libre». [En línea]. Disponible en:
http://es.wikipedia.org/wiki/Extensible_Markup_Language. [Accedido: 10-jun-2015].
«XML Tutorial». [En línea]. Disponible en: http://www.w3schools.com/xml/. [Accedido: 10-jun-2015].
«Web server - Wikipedia, the free encyclopedia». [En línea]. Disponible en: http://en.wikipedia.org/wiki/Web_server.
[Accedido: 11-jun-2015].
«Solution stack - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Solution_stack. [Accedido: 11-jun-2015].
«XAMPP Installers and Downloads for Apache Friends». [En línea]. Disponible en:
https://www.apachefriends.org/es/index.html. [Accedido: 11-jun-2015].
«Welcome to The Apache Software Foundation!». [En línea]. Disponible en: http://www.apache.org/. [Accedido: 11jun-2015].
«MySQL :: The world’s most popular open source database». [En línea]. Disponible en: https://www.mysql.com/.
[Accedido: 11-jun-2015].
«PHP 5 Tutorial». [En línea]. Disponible en: http://www.w3schools.com/php/default.asp. [Accedido: 10-jun-2015].
«PHP: Manual de PHP - Manual». [En línea]. Disponible en: http://php.net/manual/es/. [Accedido: 10-jun-2015].
«Symfony, High Performance PHP Framework for Web Development». [En línea]. Disponible en:
https://symfony.com/. [Accedido: 10-jun-2015].
«Symfony 2.4, el libro oficial». [En línea]. Disponible en: http://librosweb.es/libro/symfony_2_4/. [Accedido: 11-jun2015].
«Introducción a JavaScript». [En línea]. Disponible en: http://librosweb.es/libro/javascript/. [Accedido: 11-jun-2015].
«JavaScript | Codecademy». [En línea]. Disponible en: http://www.codecademy.com/es/tracks/javascript-traduccional-espanol-america-latina-clone. [Accedido: 11-jun-2015].
«JavaScript Tutorial». [En línea]. Disponible en: http://www.w3schools.com/js/. [Accedido: 11-jun-2015].
«Fundamentos de jQuery». [En línea]. Disponible en: http://librosweb.es/libro/fundamentos_jquery/. [Accedido: 11-
jun-2015].
«jQuery». [En línea]. Disponible en: http://jquery.com/. [Accedido: 10-jun-2015].
«Introducción a AJAX». [En línea]. Disponible en: http://librosweb.es/libro/ajax/. [Accedido: 11-jun-2015].
«AngularJS — Superheroic JavaScript MVW Framework». [En línea]. Disponible en: https://angularjs.org/.
[Accedido: 10-jun-2015].
«Grunt: The JavaScript Task Runner». [En línea]. Disponible en: http://gruntjs.com/. [Accedido: 10-jun-2015].
«Bower». [En línea]. Disponible en: http://bower.io/. [Accedido: 11-jun-2015].
«The web’s scaffolding tool for modern webapps | Yeoman». [En línea]. Disponible en: http://yeoman.io/. [Accedido:
10-jun-2015].
«Desarrollo Full Stack JavaScript. El conocido como Stack MEAN». [En línea]. Disponible en:
https://carlosazaustre.es/blog/desarrollo-full-stack-javascript-tambien-conocido-como-mean/. [Accedido: 11-jun2015].
«Web service - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
http://en.wikipedia.org/wiki/Web_service. [Accedido: 12-jun-2015].
«Representational state transfer - Wikipedia, the free encyclopedia». [En línea]. Disponible en:
https://en.wikipedia.org/wiki/Representational_state_transfer. [Accedido: 12-jun-2015].
«Web of Services - W3C». [En línea]. Disponible en: http://www.w3.org/standards/webofservices/. [Accedido: 12-jun2015].
«Web Services Tutorial». [En línea]. Disponible en: http://www.w3schools.com/webservices/. [Accedido: 12-jun2015].
«Recipes about Web Services (The Symfony CookBook)». [En línea]. Disponible en:
http://symfony.com/doc/current/cookbook/web_services/index.html. [Accedido: 12-jun-2015].
«Getting Started With FOSRestBundle (The Symfony Bundles Documentation)». [En línea]. Disponible en:
http://symfony.com/doc/current/bundles/FOSRestBundle/index.html. [Accedido: 12-jun-2015].
«RESTClient, a debugger for RESTful web services.» [En línea]. Disponible en: http://restclient.net/. [Accedido: 12jun-2015].
Descargar