Identifying Data 2022/23
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 Face-to-face
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://campusvirtual.udc.gal
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, ó desenvolvemento doutro tipo de aplicacións. O enfoque da materia é fundamentalmente práctico.

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 ó 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 Ó longo do curso realízase 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 impleméntase o frontend.
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.
Supervised projects Opcionalmente, cada estudante pode presentar un traballo tutelado individual, 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 técnicas de deseño adicionais e aplicalas á práctica.
Guest lecture / keynote speech Clases impartidas polo profesorado 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 de Moodle.

Personalized attention
Methodologies
ICT practicals
Description
Titorías e consultas vía correo electrónico ou Teams para dúbidas específicas.
Presenza do profesor/a no laboratorio para axudar ó alumno/a no desenvolvemento 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. 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 2,5 puntos (sobre 5) en cada unha das dúas iteracións da práctica.
  • Un mínimo 4 puntos (sobre 10) no exame tipo test.
  • Un mínimo de 5 puntos (sobre 10) na nota final, que se calcula coma: 
    • Nota práctica = nota iteración 1 + nota iteración 2.
    • Nota final = 0,50 * nota práctica + 0,30 * nota exame + 0,20 * nota traballo tutelado.

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 dos frameworks e ferramentas empregados na materia.
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.