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, therefore, is eminently practical. The ultimate goal is to build a complete REST application for which we will implement a minimum viable product that we will decide during the first days of the course. The characteristics that the application must have will be the following:
We will study the base technologies and protocols on which web/REST applications are built and then introduce the framework called Spring. We chose Spring for many reasons: it is open source, it is in Java, it is widely used in the professional world, it follows and promotes good programming practices, and it has a very large and active community behind it.
The subject will place great importance on the application development process. It will be developed in groups of three students and the work will be divided so that all members develop a function in its entirety, that is, they work with the database, the application itself and the web/REST service.
Use of Generative AI in the subject
In this subject, the use of the artificial generative intelligence (AIG) for the development of the project and the exam. The code that is delivered must comply with the software architecture and established programming practices. Therefore, it is essential that the student knows how to discern the appropriate time to use the IAG, as well as maintain a critical sense given the results it offers. Likewise, it will be essential for the student to acquire the competence of design effective prompts in order to obtain the highest quality code. It is important to emphasize that the student is the only responsible for all delivered code, regardless of whether it was generated by an IAG or developed by itself.
Tanmateix, NOT recommended the use of the IAG to solve exercises that aim to practice the use of new libraries or frameworks.
The classroom (physical or virtual) is a safe space, free from sexist, racist, homophobic, transphobic and discriminatory attitudes, whether towards students or teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer prejudice from others.
Topic 1. Internet applications
Topic 2. Server: The Spring framework
Topic 3. Cloud:
Assessment
Final grade calculation (NF):
Recovery:
Normative:
Spring main plane. https://spring.io/
Spring framework documentation: https://docs.spring.io/spring/docs/current/spring-framework-reference/index.html
Walls, Craig (2022), 'Spring in Action'. (6th edition) Manning Publications.
Stephen Ludin, Javier Garza, "Learning HTTP / 2: A Practical Guide for Beginners" 1st Edition. O'Reilly June 2017. ISBN-10: 1491962445
Deinum, Marten; Rubio, Daniel; Long, Josh and Mak, Gary (2014) "Spring Recipes, A problem-solution approach", Third Edition. Apress