Identifying Data 2020/21
Subject (*) Advanced Programming Code 614G01030
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 2nd four-month period
Third Optional 6
Language
Spanish
Teaching method Hybrid
Prerequisites
Department Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador
Bellas Permuy, Fernando
E-mail
fernando.bellas@udc.es
Lecturers
Álvarez Díaz, Manuel
Bellas Permuy, Fernando
Raposo Santiago, Juan
E-mail
manuel.alvarez@udc.es
fernando.bellas@udc.es
juan.raposo@udc.es
Web http://moodle.udc.es
General description 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.
Contingency plan 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.

Study programme competencies
Code Study programme competences
A27 Capacidade de dar solución a problemas de integración en función das estratexias, estándares e tecnoloxías dispoñibles.
A28 Capacidade de identificar e analizar problemas, e deseñar, desenvolver, implementar, verificar e documentar solucións sóftware sobre a base dun coñecemento adecuado das teorías, modelos e técnicas actuais.
B1 Capacidade de resolución de problemas
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.

Learning aims
Learning outcomes Study programme competences
Capacidade para deseñar e desenvolver aplicacións mediante o uso de frameworks modernos e técnicas de deseño estándar. A27
A28
B1
C3

Contents
Topic Sub-topic
Parte I. Introdución. Tema 1. Introdución ao Desenvolvemento de Aplicacións con Frameworks Modernos.
Parte II. Desenrolo de un Backend en Java. Tema 2. Capa Acceso a Datos con Spring e JPA.
Tema 3. Capa Lóxica de Negocio con Spring.
Tema 4. Capa Servizos REST con Spring.
Parte III. Desenvolvemento de un Frontend Web SPA en JavaScript. Tema 5. Desenvolvemento Baseado en Compoñentes con React.
Tema 6. Xestión de Estado con Redux.
Tema 7. Caso de Estudo: Frontend dunha Sinxela Tenda de Comercio Electrónico.
Parte IV. Colofón. Tema 8. Arquitecturas e Tecnoloxías Relacionadas.

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
ICT practicals A27 A28 B1 C3 21 63 84
Multiple-choice questions A27 A28 B1 C3 1 8 9
Supervised projects A27 A28 B1 C3 1 12 13
Guest lecture / keynote speech A27 A28 B1 C3 21 21 42
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
ICT practicals Ao longo do curso realizase unha práctica (en grupo) na que se constrúe unha aplicación web SPA. A aplicación desenvólvese en dúas iteracións. Na primeira iteración impleméntase o backend. Na segunda iteración corríxense os erros detectados polo profesor na primeira iteración e impleméntase o frontend. As clases de laboratorio impartiranse online (Teams) no horario oficial.
Multiple-choice questions Farase un exame tipo test, có obxectivo de comprobar que a/o estudante asimilou os conceptos correctamente. O exame tipo test componse dun conxunto de preguntas con varias respostas posibles, das que só unha é correcta. As preguntas non contestadas non puntúan, e as contestadas erroneamente puntúan negativamente. O exame será presencial.
Supervised projects Opcionalmente, cada estudante pode presentar un traballo tutelado individual como parte da segunda iteración, consistente en aplicar algunhas tecnoloxías ou técnicas de deseño adicionais á práctica. De maneira autónoma, a/o estudante deberá estudar estas tecnoloxías ou solucións de deseño adicionais e aplicalas á práctica.
Guest lecture / keynote speech Clase impartidas polo profesor mediante a proxección de diapositivas. As clases teñen un enfoque totalmente práctico, explicando os conceptos teóricos mediante o uso de exemplos sinxelos e casos de estudo. As diapositivas e o código fonte dos exemplos e os casos de estudo están dispoñibles a través da plataforma de docencia da universidade. As clases de teoría impartiranse online (Teams) no horario oficial.

Personalized attention
Methodologies
ICT practicals
Description
Faranse varias sesións para axudar ao estudante no desenrolo da práctica.

Assessment
Methodologies Competencies Description Qualification
Multiple-choice questions A27 A28 B1 C3 Farase un exame de tipo test, có obxectivo de comprobar que a/o estudante asimilou os conceptos correctamente.
30
ICT practicals A27 A28 B1 C3 A entrega das dúas iteracións é obrigatoria. A primeira iteración non leva asociada unha nota, pero a súa entrega é obrigatoria e debe cumprir cos requisitos establecidos no enunciado da práctica para esa iteración. Despois da corrección da segunda iteración, o profesor pon a nota da práctica. 50
Supervised projects A27 A28 B1 C3 A realización do traballo tutelado é opcional. 20
 
Assessment comments

Para aprobar a materia é preciso obter:

  • Un mínimo de 5 puntos (sobre 10) na avaliación da práctica.
  • Un mínimo 4,5 puntos (sobre 10) no exame tipo test.
  • Un mínimo de 5 puntos (sobre 10) na nota final, que se calcula coma: 0,50*notaPractica + 0,30*notaExame + 0,20*notaTraballoTutelado.

Para as/os estudantes con matrícula a tempo parcial, tanto na primeira oportunidade coma na segunda, o tamaño da práctica será menor, sen que iso supoña un prexuízo na nota da práctica.


Sources of information
Basic
  • 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.
Complementary


Recommendations
Subjects that it is recommended to have taken before
Internet and Distributed Systems/614G01023

Subjects that are recommended to be taken simultaneously
Human Machine Interfaces/614G01022
Software Architecture/614G01026

Subjects that continue the syllabus
Development Frameworks/614G01052
Development Tools/614G01054

Other comments

É preciso ter soltura na lectura de información en Inglés (toda a bibliografía, recursos Web e libros, está en Inglés).



(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.