Guía docente de Sistemas Software Basados en Web (M50/56/2/16)
Máster
Módulo
Rama
Centro en el que se imparte la docencia
Centro Responsable del título
Semestre
Créditos
Tipo
Tipo de enseñanza
Profesorado
- José María Guirao Miras
Tutorías
José María Guirao Miras
Email- Tutorías 1º semestre
- Lunes 9:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Martes 9:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Miércoles 9:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Tutorías 2º semestre
- Lunes 9:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Martes 9:31 a 12:31 (Etsiit 3ª Planta Despacho 28)
- Miércoles 9:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
Breve descripción de contenidos (Según memoria de verificación del Máster)
- Métodos de desarrollo para WEB: Ingeniería Web
- Marcos de desarrollo de software (Software frameworks)
- Tecnologías de desarrollo para WEB
- Servicios Web (Web services)
- Lenguajes de descripción de interfaces (Interface description languages)
- Integración con la Computación en la nube (Cloud computing): software como servicio ("Software as a service")
Prerrequisitos y/o Recomendaciones
Se recomienda a los alumnos haber cursado alguna asignatura de desarrollo web. Se presuponen conocimientos de HTML, CSS, python y javascript.
Competencias
Competencias Básicas
- CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
- CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
- CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
- CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
- CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
Resultados de aprendizaje (Objetivos)
Conocer y aplicar métodos de desarrollo de software para la realización de sistemas software basados en Web.
Comprender, conocer y aplicar tecnologías concretas de desarrollo para sistemas software basados en Web.
Conocer los principales frameworks de desarrollo para web y diseñar software basado en ellos.
Conocer y aplicar lenguajes de descripción de interfaces y servicios web.
Conocer las características específicas del desarrollo web distribuido basado en la nube y en la utilización de servicios y diseñar sistemas software basados en ellos.
Programa de contenidos Teóricos y Prácticos
Teórico
- Tema 1. Ingeniería Web: Características de un aplicación web, tecnologías implicadas. Protocolos e interfaces.
- Tema 2. Back-end, Componentes: plantillas, formularios, middleware, autentificación , frameworks MVC
- Tema 3. Persistencia: ORMs con Bases de Datos SQL y No-SQL
- Tema 4. Servicios REST. Serialización de datos
- Tema 5. Front-end: Aplicaciones single-page. Frameworks de Front End
- Tema 6. Despliegue, integración en la nube, internacionalización y pruebas.
Práctico
Práctica 0. Preparación del entorno de desarrollo con docker-compose y Makefile
Práctica 1. Uso de frameworks para el back-end, plantillas
Práctica 2. Uso de Bases de Datos no-SQL con ORMs
Práctica 3: Frameworks CSS: Tailwind
Práctica 4: Frameworks: Django, autentificación de usuarios, autorización
Práctica 5: Front-end: Mejorando la UX
Práctica 6: Añadiendo servicios REST
Práctica 7: Single Page App con React
Práctica 8: Generación en el servidor (SSR)
Práctica 9: Despliegue en contenedores
Bibliografía
Bibliografía fundamental
- Beginning Django: Web Application Development and Deployment with Python. Daniel Rubio. Apress. 2017
Bibliografía complementaria
- Learning React: Functional Web Development with React and Redux, Alex Banks. O'Reilly. 2017
Enlaces recomendados
https://github.com/kamranahmedse/developer-roadmap
Metodología docente
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)
Evaluación Ordinaria
La asignatura tiene un carácter eminentemente práctico. Por tanto, la evaluación se llevará a cabo mediante una media ponderada entre las prácticas que se tendrán que entregar a lo largo del semestre, ninguna de las cuales superará el 70% del total de la nota.
Evaluación Extraordinaria
1.- Examen teórico sobre los contenidos de la asignatura, 50% de la nota final.
2.- Examen práctico, con algún ejercicio similar a los efectuados durante el curso, 50% de la nota final.
Evaluación única final
1.- Examen teórico sobre los contenidos de la asignatura, 50% de la nota fina y
2.- Examen práctico, con algún ejercicio similar a los efectuados durante el curso, 50% de la nota final.