Datos Identificativos 2020/21
Asignatura (*) Programación Avanzada Código 614G01030
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
Grado 2º cuatrimestre
Tercero Optativa 6
Idioma
Castellano
Modalidad docente Híbrida
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador/a
Bellas Permuy, Fernando
Correo electrónico
fernando.bellas@udc.es
Profesorado
Álvarez Díaz, Manuel
Bellas Permuy, Fernando
Raposo Santiago, Juan
Correo electrónico
manuel.alvarez@udc.es
fernando.bellas@udc.es
juan.raposo@udc.es
Web http://moodle.udc.es
Descripción general Esta materia céntrase no desenvolvemento de aplicacións, usando unha arquitectura baseada en capas mediante o emprego de frameworks modernos. Tómase como caso de estudo o desenvolvemento dunha aplicación web SPA. No obstante, moitas das ideas aplican, directa ou indirectamente, ao desenvolvemento de outro tipo de aplicacións. O enfoque da materia é fundamentalmente práctico.
Plan de contingencia 1. Modificacións nos contidos

Sen cambios.

2. Metodoloxías

* Metodoloxías docentes que se manteñen

- Sesión maxistral. Sen cambios.

- Prácticas a través de TIC. Sen cambios.

- Proba de resposta múltiple. Se non é posible realizala en persoa, farase unha proba online.

* Metodoloxías docentes que se modifican

Ningunha.

3. Mecanismos de atención personalizada ao alumnado

Os mesmos que na situación normal (Moodle, Teams e correo electrónico).

4. Modificacións na avaliación

Sen cambios.

*Observacións de avaliación:

Sen cambios.

5. Modificacións da bibliografía ou webgrafía

Como parte das diapositivas inclúense sitios web públicos con información detallada sobre os contidos da materia.

Competencias del título
Código Competencias del título
A27 Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
A28 Capacidad de identificar y analizar problemas, y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
B1 Capacidad de resolución de problemas
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
Capacidad para diseñar e implementar aplicaciones mediante el uso de frameworks modernos y técnicas de diseño estándar. A27
A28
B1
C3

Contenidos
Tema Subtema
Parte I. Introducción. Tema 1. Introducción al Desarrollo de Aplicaciones con Frameworks Modernos.
Parte II. Desarrollo de un Backend en Java. Tema 2. Capa Acceso a Datos con Spring y JPA.
Tema 3. Capa Lógica de Negocio con Spring.
Tema 4. Capa Servicios REST con Spring.
Parte III. Desarrollo de un Frontend Web SPA en JavaScript. Tema 5. Desarrollo Basado en Componentes con React.
Tema 6. Gestión de Estado con Redux.
Tema 7. Caso de Estudio: Frontend de una Sencilla Tienda de Comercio Electrónico.
Parte IV. Colofón. Tema 8. Arquitecturas y Tecnologías Relacionadas.

Planificación
Metodologías / pruebas Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Prácticas a través de TIC A27 A28 B1 C3 21 63 84
Prueba de respuesta múltiple A27 A28 B1 C3 1 8 9
Trabajos tutelados A27 A28 B1 C3 1 12 13
Sesión magistral A27 A28 B1 C3 21 21 42
 
Atención personalizada 2 0 2
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Prácticas a través de TIC A lo largo del curso se desarrolla una práctica (en grupo) en la que se construye una aplicación web SPA. La aplicación se desarrolla en dos iteraciones. En la primera iteración se implementa el backend. En la segunda iteración se corrigen los errores detectados por el profesor en la primera iteración y se implementa el frontend. Las clases de laboratorio se impartirán online (Teams) en el horario oficial.
Prueba de respuesta múltiple Se realizará un examen de tipo test, cuyo objetivo es comprobar que la/el estudiante ha asimilado los conceptos correctamente. El examen tipo test se compone de un conjunto de preguntas con varias respuestas posibles, de las que sólo una es correcta. Las preguntas no contestadas no puntúan, y las contestadas erróneamente puntúan negativamente. El examen será presencial.
Trabajos tutelados Opcionalmente, cada estudiante puede presentar un trabajo tutelado individual como parte de la segunda iteración, consistente en aplicar algunas tecnologías o técnicas de diseño adicionales a la práctica. De manera autónoma, la/el estudiante deberá estudiar estas tecnologías o soluciones de diseño adicionales y aplicarlas a la práctica.
Sesión magistral Clases impartidas por el profesor mediante la proyección de diapositivas. Las clases tienen un enfoque totalmente práctico, explicando los conceptos teóricos mediante el uso de ejemplos sencillos y casos de estudio. Las diapositivas y el código fuente de los ejemplos y los casos de estudio están disponibles a través de la plataforma de docencia de la universidad. Las clases de teoría se impartirán online (Teams) en el horario oficial.

Atención personalizada
Metodologías
Prácticas a través de TIC
Descripción
Se realizarán varias sesiones para ayudar al estudiante en el desarrollo de la práctica.

Evaluación
Metodologías Competéncias Descripción Calificación
Prueba de respuesta múltiple A27 A28 B1 C3 Se realizará un examen de tipo test, cuyo objetivo es comprobar que la/el estudiante ha asimilado los conceptos correctamente. 30
Prácticas a través de TIC A27 A28 B1 C3 La entrega de las dos iteraciones es obligatoria. La primera iteración no lleva asociada una nota, pero su entrega es obligatoria y debe cumplir con los requisitos establecidos en el enunciado de la práctica para esa iteración. Tras la corrección de la segunda iteración, el profesor pone la nota de la práctica. 50
Trabajos tutelados A27 A28 B1 C3 La realización del trabajo tutelado es opcional. 20
 
Observaciones evaluación

Para aprobar la asignatura es preciso obtener:

  • Un mínimo de 5 puntos (sobre 10) en la evaluación de la práctica.
  • Un mínimo 4,5 puntos (sobre 10) en el examen tipo test.
  • Un mínimo de 5 puntos (sobre 10) en la nota final, que se calcula como: 0,50*notaPractica + 0,30*notaExamen + 0,20*notaTrabajoTutelado.

Para las/los estudiantes con matrícula a tiempo parcial, tanto en la primera oportunidad como en la segunda, el tamaño de la práctica será menor, sin que ello suponga un perjuicio en la nota de la práctica.


Fuentes de información
Básica
  • C. Bauer, G. King, Java Persistence with Hibernate, 2nd edition, Manning, 2016.
  • C. Walls, Spring in Action, 3rd edition, Manning, 2011.
  • C. Walls, Spring Boot in Action, Manning, 2015.
  • J. D. Isaacks, Get Programming with JavaScript Next, Manning, 2018.
  • M. T. Thomas, React in Action, Manning, 2018.
  • M. Garreau, W. Faurot, Redux in Action, Manning, 2018.
  • Sitios web de los frameworks y herramientas empleados en la asignatura.
Complementária


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Internet y Sistemas Distribuidos/614G01023

Asignaturas que se recomienda cursar simultáneamente
Interfaces Hombre Máquina/614G01022
Arquitectura del Software/614G01026

Asignaturas que continúan el temario
Marcos de Desarrollo/614G01052
Herramientas de Desarrollo/614G01054

Otros comentarios

Es necesario tener soltura en la lectura de información en Inglés (toda la bibliografía, recursos Web y libros, está en Inglés).



(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías