Guía docente de Desarrollo de Aplicaciones para Internet (Especialidad Tecnologías de la Información) (296114M)

Curso
2022/2023
Fecha de aprobación:
20/06/2022
Grado
Grado en Ingeniería Informática
Rama
Ingeniería y Arquitectura
Módulo
Formación de Especialidad 5: Tecnologías de Información
Materia
Programación en Tecnologías de la Información
Curso
4
Semestre
1
Créditos
6
Tipo
Obligatoria
Profesorado
Teórico
José María
Guirao
Miras.
Grupo: A
Práctico
- Sergio Alonso Burgos Grupo: 3
- José María Guirao Miras Grupos: 1 y 2
Tutorías
José María Guirao Miras
Email- Primer semestre
- Lunes de 10:00 a 13:00 (Etsiit 3ª P Despacho 28)
- Miércoles de 10:00 a 13:00 (Etsiit 3ª P Despacho 28)
- Segundo semestre
- Lunes de 10:00 a 13:00 (Etsiit 3ª P Despacho 28)
- Miércoles de 10:00 a 13:00 (Etsiit 3ª P Despacho 28)
- Primer semestre
- Martes de 11:30 a 13:00 (Etsiit 3ª P Despacho 28)
- Segundo semestre
- Martes de 09:30 a 11:00 (Etsiit 3ª P Despacho 28)
- Miércoles de 09:30 a 11:00 (Etsiit 3ª P Despacho 28)
Sergio Alonso Burgos
Email- Primer semestre
- Martes de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
- Jueves de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
- Segundo semestre
- Martes de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
- Jueves de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
Prerrequisitos y/o Recomendaciones
Es muy recomendable que los alumnos hayan cursado alguna asignatura donde se impartan contenidos de internet:
Tecnologías Web, Programación Web, Sistemas de Información Basados en Web.
Se parte de que los alumnos conocen HTML, CSS, y fundamentos de Bases de Datos.
Breve descripción de contenidos (Según memoria de verificación del Máster)
- Desarrollo por componentes para servicios web.
- Desarrollo de aplicaciones avanzadas en el cliente: programación en navegadores web, HTML dinámico
Competencias
Competencias Generales
- CG04. Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
- CG08. Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
Competencias Transversales
- CT04. Capacidad de comunicación en lengua extranjera, particularmente en inglés.
- CT08. Capacidad para proyectar los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo.
Resultados de aprendizaje (Objetivos)
- Conocer el funcionamiento y las posibilidades de los protocolos de comunicación usados en
internet. - Saber realizar aplicaciones multi-plataforma, para que funcionen en cualquier ordenador
conectado a Internet. - Conocer las distintas posibilidades de persistencia para una aplicación web.
- Familiarizarse con las técnicas para programar sobre los navegadores web.
- Saber estructurar las aplicaciones para favorecer la reusabilidad de código, utilizando
componentes estándar. - Uso detallado de componentes y frameworks para programación Web.
Programa de contenidos Teóricos y Prácticos
Teórico
- Tema 1. Introducción y repaso de conceptos fundamentales de Internet y la WWW.
Protocolos e interfaces. Cookies y sesiones. - Tema 2. Programación de aplicaciones web en Servidor: Modelo MVC, templates,
frameworks MVC. - Tema 3. Persistencia con bases de datos SQL y no SQL. Object Relational Mappings.
- Tema 4. Autentificación y autorización de usuarios
- Tema 5. Serialización de datos, servicios REST Full.
- Tema 6. Programación del Cliente: JavaScript ES6, DOM
- Tema 7. Internacionalización y despliegue de aplicaciones web.
Práctico
- Preparación de entorno de desarrollo con docker-compose y Makefile
- Ejercicios introductorios de programación en Python
- Uso de microframeworks: Flask
- Frameworks CSS, uso de sesiones
- Pesistencia con bases de datos NO-SQL
- Frameworks en el servidor: Django
- ORMs, formularios, validaciones en el servidor
- Autentificación y autorización de usuarios
- Programación del navegador, jQuery, AJAX
- Despliegue de una aplicación en contenedores
Bibliografía
Bibliografía fundamental
- Beginning Django: Web Application Development and Deployment with Python.Daniel Rubio. Apress. 2017
- Learn Web Development with Python. Fabrizio Romano, Gaston C. Hillar, Arun Ravindran. Packt Publishing, 2018
Enlaces recomendados
Metodología docente
- MD01. Lección Magistral (Clases Teóricas-Expositivas)
- MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo).
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)
Evaluación Ordinaria
- Se usará preferentemente un método de evaluación continua
- 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 (75%) y una prueba teórica que se realizará al finalizar el semestre (25%). Pese a la ponderación, es IMPRESCINDIBLE aprobar ambas partes (teoría y práctica).
Evaluación Extraordinaria
- Examen teórico sobre los contenidos de la asignatura y
- Examen práctico, con algún ejercicio similar a los efectuados durante el curso
Evaluación única final
- Examen teórico sobre los contenidos de la asignatura y
- Examen práctico, con algún ejercicio similar a los efectuados durante el curso