What are you looking for?
The classes are in Catalan. Most of the documentation (including practice and exam statements) is in English.
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
This subject introduces, from an eminently practical perspective, the most relevant concepts, problems and practices of concurrent programming.
This subject should be taken after passing the Operating Systems subject.
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 the prejudices of others.
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
The final grade of the subject (QF) will be calculated based on the grade of the laboratory practices (Pr, 50%) and a final exam (Ex, 50%)
QF = Ex and Ex <5
QF = 0.5· Ex + 0.5·Pr if Ex >= 5
Students with QF <5 will be able to take a resit exam that will replace the first Ex grade in the QF calculation. In case of having to take the resit exam, the final grades in the range [5, 7.5) will be rounded to 5. The final grades in the range [7.5, 10] will be rounded to 7.
The practices represent a single activity, composed of several sections that have deliveries distributed during the term.
Internships are not refundable.
Plagiarism and use of Generative Artificial Intelligence
In general, TecnoCampus establishes: Any form of academic fraud will be sanctioned in accordance with the center's evaluation regulations. If signs of fraud are detected, including the improper use of generative artificial intelligence tools, the subject's teaching staff may call the student for an individual interview with the aim of verifying their authorship.Furthermore, for the particular case of this subject, it must be borne in mind that It is the student's responsibility to avoid plagiarism in all its forms. In the event of detecting plagiarism, regardless of its scope, in any assessment activity (including internships), the current assessment regulations and disciplinary regime will be applied. In the specific case of internships, it must be borne in mind that these are considered a single activity so that fraud in one submission will be considered fraud in the entire activity (internships). In addition, the teacher will communicate the situation to the school's Management so that it can take the applicable measures in terms of the sanctioning regime. In the context of this subject, plagiarism also means using and/or adapting code that has not been developed entirely individually (or within the group in the case of group activities). Providing code that gives rise to plagiarism is also a form of plagiarism and will be treated in the same way. In summary, we can say that the evaluation activities must be solved in a strictly non-collaborative way (in the case of group activities, collaboration cannot transcend the group). The use of generative artificial intelligences (IAGs) must be limited to those aspects that are not fundamental in the context of the subject. They can be used, critically, as a mechanism to resolve doubts about the subject and/or to improve the writing of deliverable documents and/or as an aid in the generation of auxiliary code that is outside the scope of the subject topics. In the second case (improvement of the writing) the participation of IAG in the writing must be made explicit in the document. In the last case (code generation) it will be essential to mention its nature as “generated through IAG” by making explicit the model used and the prompt supplied, even if it has been subsequently personalized and/or modified. IAGs may not be used to generate programming code, not even in the form of fragments, when this code is within the scope of the subject topics and/or has an assessable nature. This prohibition remains even if the code is subsequently personalized and/or modified. In the event of doubts regarding the legitimacy or not of the use of IAGs, it is necessary to contact, a priori, the teaching staff of the subject.
Ben-Ari, Mordechai. 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.