Identifying Data 2019/20
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
Losada Perez, Jose
Raposo Santiago, Juan
E-mail
manuel.alvarez@udc.es
fernando.bellas@udc.es
jose.losada@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.

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 A28 A27 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 obrigatorias e unha terceira opcional. 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. Se o alumno realiza algún dos traballos tutelados propostos, é posible presentar unha terceira iteración. Nesta terceira iteración, pódense corrixir os erros detectados polo profesor na segunda iteración e facer ou mellorar os traballos tutelados.
Multiple-choice questions Farase un exame tipo test, có obxectivo de comprobar que o alumno 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 Propóñense dous traballos tutelados opcionais, consistentes en aplicar algunhas tecnoloxías ou técnicas de deseño adicionais á práctica. De maneira autónoma, o alumno deberá estudar estas tecnoloxías ou solucións de deseño adicionais e aplicalas á práctica. O primeiro traballo pódese facer durante a primeira ou a terceira iteración. O segundo traballo pódese facer durante a segunda ou a terceira iteración.
Guest lecture / keynote speech Clase impartidas polo profesor mediante a proxección de transparencias. 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 transparencias 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.

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 A28 A27 B1 C3 Farase un exame de tipo test, có obxectivo de comprobar que o alumno asimilou os conceptos correctamente.
40
ICT practicals A27 A28 B1 C3 A entrega das dúas primeiras iteracións é obrigatoria. A primeira iteración non leva asociada unha nota (pero a súa entrega é obrigatoria). Despois da corrección da segunda iteración, o profesor pon unha nota provisional ao alumno. Esta nota será definitiva se o alumno non presenta a terceira iteración. Se o alumno realiza algún dos traballos tutelados propostos, é posible presentar unha terceira iteración. Nesta terceira iteración, pódense corrixir os erros detectados polo profesor na segunda iteración e facer ou mellorar os traballos tutelados. O profesor volve a corrixir a práctica e os traballos tutelados e ponlles a nota definitiva. 40
Supervised projects A27 A28 B1 C3 A realización dos traballos tutelados é 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,40*notaPractica + 0,40*notaExame + 0,20*notaTraballosTutelados.

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


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.