Guía Docente 2023-24 PROGRAMACION CONCURRENTE Y DISTRIBUIDA |
BASIC DETAILS:
Subject: | PROGRAMACION CONCURRENTE Y DISTRIBUIDA | ||
Id.: | 30066 | ||
Programme: | GRADUADO EN INGENIERÍA INFORMÁTICA. PLAN 2008 (BOE 15/12/2008) | ||
Module: | PROGRAMACION Y DESARROLLO | ||
Subject type: | OPTATIVA | ||
Year: | 3 | Teaching period: | Segundo Cuatrimestre |
Credits: | 3 | Total hours: | 75 |
Classroom activities: | 34 | Individual study: | 41 |
Main teaching language: | Inglés | Secondary teaching language: | Castellano |
Lecturer: | Email: |
PRESENTATION:
PROFESSIONAL COMPETENCES ACQUIRED IN THE SUBJECT:
General programme competences | G02 | Innovative capacity to propose and find new and efficient ways to undertake any task and/ or function within the professional environment - highly motivated by quality. |
G05 | Capacity to adapt to different environments while being positive and optimistic, orienting your behaviour towards the achievement of goals. | |
G06 | Capacity to analyse and find a solution to complex problems or unforeseen situations which may arise while working in any type of socio-economic organisation. | |
G08 | Ability to communicate effectively about different matters in a variety of professional situations and with the different media available. | |
G09 | Capacity to make decisions impartially and rationally. | |
G10 | Critical and analytical capacity when assessing information, data and courses of action. | |
G13 | Capacity to use individual learning strategies aimed at continuous improvement in professional life and to begin further studies independently. | |
G14 | Capacity for abstraction to handle various complex knowledge models and apply them to examining and solving problems. | |
Specific programme competences | E03 | Capacity to recognise the technical principles and apply the appropriate practical methods satisfactorily to analyse and solve engineering problems. |
E08 | Capacity to communicate productively with clients, users and colleagues both orally and in writing, so as to pass on ideas, solve conflicts and achieve agreements. | |
E12 | Capacity to manage complexity through abstraction, modelling, 'best practices', patterns, standards and the use of the appropriate tools. | |
E17 | Capacity to identify and analyse user needs with the intention of designing effective, usable IT solutions which can be incorporated into the user's operating environment. | |
E18 | Capacity to identify and define the requirements to be satisfied by IT systems to cover the stated needs of organisations or individuals. | |
E27 | Capacity to write and maintain descriptive documentation of the origin, production and operability of IT systems. | |
Learning outcomes | R01 | Understand the principles and methodologies of concurrent and distributed programming, especially the concepts of synchronisation and communication between processes. |
R02 | Know the main difficulties in producing concurrent and distributed programs | |
R03 | Ability to model concurrent and distributed processes in real time through Petri Nets | |
R04 | Understand the high performance in supercomputing |
PRE-REQUISITES:
OOP, networks, communications and operating systems knowledge is mandatory.
SUBJECT PROGRAMME:
Observations:
Subject contents:
1 - Introduction to concurrent and distributed programming |
2 - NodeJS concurrent model |
3 - Async/Await & Promises |
4 - Concurrency with workers |
5 - Concurrency and functional programming |
6 - Sockets |
7 - Mutex, semaphores, locks |
8 - High performance & scalable concurrent applications |
Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.
TEACHING AND LEARNING METHODOLOGIES AND ACTIVITIES:
Teaching and learning methodologies and activities applied:
Student work load:
Teaching mode | Teaching methods | Estimated hours |
Classroom activities | ||
Master classes | 20 | |
Practical exercises | 6 | |
Practical work, exercises, problem-solving etc. | 6 | |
Assessment activities | 2 | |
Individual study | ||
Individual study | 15 | |
Individual coursework preparation | 16 | |
Group cousework preparation | 5 | |
Research work | 5 | |
Total hours: | 75 |
ASSESSMENT SCHEME:
Calculation of final mark:
Written tests: | 20 | % |
Individual coursework: | 50 | % |
Group coursework: | 20 | % |
Attendance and participation: | 10 | % |
TOTAL | 100 | % |
*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.
BIBLIOGRAPHY AND DOCUMENTATION:
Basic bibliography:
NodeJS design patterns. Copyright 2016 Mario Casciaro, Luciano Mammino. ISBN 978-1-78588-558-7 |
Recommended bibliography:
Recommended websites:
NodeJS | http://nodejs.org |
Visual studio code | https://code.visualstudio.com |
Socket.io | https://socket.io |
RxJS | https://rxjs-dev.firebaseapp.com |
* Guía Docente sujeta a modificaciones