What are you looking for?
B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of study
B4_That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences
B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy
EIS1_Ability to develop, maintain and evaluate software services and systems that meet all user requirements and that behave reliably and efficiently, are affordable to develop and maintain and comply with quality standards, applying theories, principles, methods and software engineering practices
EIS2_Ability to assess customer needs and specify software requirements to meet those needs, reconciling conflicting goals, by seeking acceptable compromises, within the limitations of cost, time, the existence of already developed systems and of the organizations themselves
EIS4_Ability to identify and analyze problems and design, develop, implement, verify and document software solutions based on adequate knowledge of current theories, models and techniques
EIS5_Ability to identify, assess and manage potential associated risks that may arise
EIS6_Ability to design appropriate solutions in one or more application domains, using software engineering methods that integrate ethical, social, legal and economic aspects
ESI3_Ability to actively participate in the specification, design, implementation and maintenance of information and communication systems
T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree
T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources
This is a laboratory subject and is therefore eminently practical. The ultimate goal is to build a complete web application so we will implement a minimum viable product that we will decide during the first days of the course. The features that the application must have will be the following:
We will study the technologies and basic protocols on which web applications are built and then introduce the framework called Spring. We have chosen Spring for many reasons: it is open source, it is in Java, it is widely used in the professional world, it follows and encourages good programming practices, there is a very large and active community behind it. For the part of the user interface we will use client applications written with HTML, CSS and JavaScipt.
The subject will give a lot of importance to the application development process. It will have to be developed in groups of three students and the work will have to be distributed in such a way that all the members fully develop some function, that is to say, that they work with the DBDD, the web service and the user interface.
At a general level, this subject contributes to the following learning outcomes specified for the subject to which it belongs (Distributed Applications)
At a more specific level, at the end of the course the student must be able to:
Being a laboratory this subject will follow a learning methodology guided by examples (of the teacher) and especially by projects (that will develop the students).
Most of the class hours (4h / week) will be in the laboratory in small groups. In these sessions students will have to develop one (or several) web applications proposed by the teacher and the implementations will be discussed and argued.
Occasionally there will be master classes (2h / week) in large groups to introduce new concepts to be applied to the development of web applications in the practical part. Well, students will have to read materials proposed by the teachers in order to carry out the assigned assignments. Given the situation of covid-19 these classes will be done online: we will do a combination of synchronous sessions with zoom and video explanations.
In order to gather evidence of the achievement of the expected learning outcomes, the following evaluative activities will be carried out:
The three previous practices and the final web project are related to all the learning outcomes and to all the competences of the subject emphasizing the transversal T2: team work, that will be fundamental to develop an application of the required complexity.
In order to pass (pass) the assessment activities, students will have to demonstrate
The following are the most important aspects of each competence assigned to the subject:
Note: the transversal competence associated with the subject (T1: third language knowledge) is worked on as all classes and notes are given in English.
Assessment
Final grade calculation (NF):
Recovery:
Only the PR_P practical test can be retaken. The final grade will be calculated as set out above with the test recovery grades.
Normative:
Walls, Craig (2022), 'Spring in Action'. (6th edition) Manning Publications.
Spring main plane. https://spring.io/
Spring framework documentation: https://docs.spring.io/spring/docs/current/spring-framework-reference/index.html
Deinum, Marten; Rubio, Daniel; Long, Josh and Mak, Gary (2014) "Spring Recipes, A problem-solution approach", Third Edition. Apress
Stephen Ludin, Javier Garza, "Learning HTTP / 2: A Practical Guide for Beginners" 1st Edition. O'Reilly June 2017. ISBN-10: 1491962445