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
B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy
EFB5_Knowledge of the structure, organization, operation and interconnection of information systems, the fundamentals of their programming and their application for solving engineering problems
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
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
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
In this subject, the most relevant concepts, problems and practices of concurrent programming are introduced from an eminently practical point of view.
If for reasons related to COVID-19 the subject should be taught in a non-contact mode or in a mode that represents a significant decrease in attendance, the methodology of the sessions will be adapted to these circumstances to continue guaranteed. the necessary theoretical-practical balance. The ultimate goal of this adaptation will be to preserve as much as possible the achievement of the knowledge and skills specified in this teaching plan.
This subject contributes to some of the learning outcomes specified for the subject to which it belongs (Distributed Applications). Specifically, at the end of the course the student must be able to
The subject will be based on a master class methodology in which activities of a practical nature will be inserted. There will also be some laboratory sessions that will be eminently practical. Often, during the sessions, students will be asked to solve and hand in exercises. These exercises will be a substantial part of the evaluation of the subject.
1.- Fundamental concepts
2.- Implementation of processes and threads
3.- Interference and the problem of the critical section
4.- Tools
5.- Deadlock, safety & liveness
6.- Distributed systems
Various activities of an eminently practical nature (short exercises, problems) are made available to students, which are the basis of the learning activities of the subject. Some of these activities will have to be solved by the students in a non-contact way following the instructions of the teacher (s) and will also be worked in class, either as examples in the theory sessions, or in the sessions of laboratories. Some of these activities will be optional while others will be mandatory as they will have weight in the evaluation system of the subject. All the activities, both compulsory and optional, will be designed to achieve the theoretical-practical knowledge of the subject.
In order to gather evidence of the achievement of the expected learning outcomes, the following evaluative activities will be carried out:
At the competence level, these three practices, which will mostly have to be developed in a non-contact time, affect all the common and specific competences of the subject, especially with regard to the practical application of the knowledge that these competences mention (when where appropriate, the most relevant aspects of each competence to which the subject contributes are indicated in brackets):
In order to pass (pass) the assessment activities, students will have to demonstrate
In relation to the basic competences assigned to the subject, these are covered especially with regard to the aspects that are explained:
Finally, and with regard to the transversal competence associated with the subject (CT1: knowledge of a third language), this is worked on from the documentary sources that students must consult, since all of them are in English. All the written material of the subject (notes, problem statements, practice statements, ...) is distributed exclusively and only in English.
The final grade of the subject (QF) will be calculated based on the grade of laboratory practices (40%) and the exercises performed during the course (60%)
Ca: average grade of the course exercises
Pr: average qualification of the practices
QF: Final grade of the subject
QF = Ca and Ca <4
QF = 0.6· Ca + 0.4· Pr and Ca ≥ 4
Students with QF <5 will be able to take a “final” and retake exam. The maximum final grade (QF) in case of having to take this exam will be 5.
Any activity carried out fraudulently or without respecting the rules specified for it will be valued at 0 points and may lead to a final grade (FM) of 0 points. This includes, but is not limited to, copying and plagiarizing practices and exercises regardless of the role played (origin or destination).
Ben-Ari, M .. Principles of concurrent and distributed programming. 2006. Essex: Pearson, 2006. ISBN 9780321312839.
Palma Méndez, José Tomás et al ,. Concurrent programming. Madrid: International Thomson, 2003. ISBN 8497321847.
Magee, Jeff; Kramer, Jeff. Concurrency: state models & Java programs. 2nd ed. Chichester: John Wiley & sons, 2006. ISBN
0470093552.