Guía docente de Desarrollo de Aplicaciones para Internet (Especialidad Tecnologías de la Información) (296114M)
Curso
2024/2025
Fecha de aprobación:
25/06/2024
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
- Miguel Gea Mejías Grupo: 3
- José María Guirao Miras Grupos: 1 y 2
Tutorías
José María Guirao Miras
Email- Primer semestre
- Lunes de 09:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Miércoles de 09:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Segundo semestre
- Lunes de 09:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
- Miércoles de 09:30 a 12:30 (Etsiit 3ª Planta Despacho 28)
Miguel Gea Mejías
Email- Primer semestre
- Martes de 09:00 a 11:00 (Etsiit Desp. 8 3ª Planta)
- Segundo semestre
- Lunes de 09:00 a 11:00 (F. Com. y Docum. Desp. X)
- Martes de 10:00 a 12:00 (Etsiit Desp. 8 3ª Planta)
- Miércoles de 11:00 a 12:00 (F. Bellas Artes Aula Informática)
- Jueves de 11:00 a 12:00 (F. Bellas Artes Aula Informática)
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 Grado)
- 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.
- Saber conectar una API con una Base de Datos siguiendo las recomendaciones RESTful.
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. Arquitectura de aplicaciones web.
- 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. Frameworks de Front End
- Tema 8. Internacionalización y despliegue de aplicaciones web.
Práctico
- Preparación de entorno de desarrollo con docker-compose y Makefile
- Uso de microframeworks: Flask
- Frameworks CSS 'responsive'. uso de sesiones
- Pesistencia con bases de datos NO-SQL
- API RESTFul
- Frameworks en el servidor: Django
- ORMs, formularios, validaciones en el servidor
- Autentificación y autorización de usuarios
- Programación del navegador, jQuery, AJAX
- Frameworks de front end: React
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).
- MD03. Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías).
- MD04. Actividades no presenciales Individuales.
- MD05. Actividades no presenciales Grupales.
- MD06. Tutorías Académicas.
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
Información adicional
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).