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

  1. Preparación de entorno de desarrollo con docker-compose y Makefile
  2. Ejercicios introductorios de programación en Python
  3. Uso de microframeworks: Flask
  4. Frameworks CSS, uso de sesiones
  5. Pesistencia con bases de datos NO-SQL
  6. Frameworks en el servidor: Django
  7. ORMs, formularios, validaciones en el servidor
  8. Autentificación y autorización de usuarios
  9. Programación del navegador, jQuery, AJAX
  10. 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

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

  1.  Examen teórico sobre los contenidos de la asignatura y
  2.  Examen práctico, con algún ejercicio similar a los efectuados durante el curso

Evaluación única final

  1.  Examen teórico sobre los contenidos de la asignatura y
  2.  Examen práctico, con algún ejercicio similar a los efectuados durante el curso