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
Tutorías
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.