Logo UAB

Distributed Programming

Code: 106556 ECTS Credits: 6
2024/2025
Degree Type Year
2504392 Artificial Intelligence OB 3

Contact

Name:
Javier Panadero Martinez
Email:
javier.panadero@uab.cat

Teachers

Manuel Montoto González
(External) Antonio González

Teaching groups languages

You can view this information at the end of this document.


Prerequisites

This subject has no pre-requirements. It is recommended to have completed the Programming and Computation foundamental Courses.


Objectives and Contextualisation

The objective of this course is to be able to use cloud computing systems and be able to develop computer applications and manage cloud systems. That is why it is necessary to know the systems in the cloud, the technologies they use, the services they provide and it is necessary to understand how they work.


Competences

  • Analyse and solve problems effectively, generating innovative and creative proposals to achieve objectives.
  • Conceptualize and model alternatives of complex solutions to problems of application of artificial intelligence in different fields and create prototypes that demonstrate the validity of the proposed system.
  • Design, implement, analyse and validate efficient and robust algorithmic solutions to computational problems derived from the design of intelligent systems.
  • Develop critical thinking to analyse alternatives and proposals, both one's own and those of others, in a well-founded and argued manner.
  • Introduce changes to methods and processes in the field of knowledge in order to provide innovative responses to society's needs and demands.
  • Students can apply the knowledge to their own work or vocation in a professional manner and have the powers generally demonstrated by preparing and defending arguments and solving problems within their area of study.
  • Work cooperatively to achieve common objectives, assuming own responsibility and respecting the role of the different members of the team.

Learning Outcomes

  1. Analyse and evaluate computer architectures in parallel and distributed platforms.
  2. Analyse and solve problems effectively, generating innovative and creative proposals to achieve objectives.
  3. Develop and optimise software for parallel and distributed platforms based on the most common existing paradigms.
  4. Develop critical thinking to analyse alternatives and proposals, both one's own and those of others, in a well-founded and argued manner.
  5. Implement and optimise applications based on the functionalities and structure of parallel, distributed and cloud systems.
  6. Propose new methods or informed alternative solutions.
  7. Students can apply the knowledge to their own work or vocation in a professional manner and have the powers generally demonstrated by preparing and defending arguments and solving problems within their area of study.
  8. Understand and apply the fundamental principles and basic techniques of parallel, concurrent and distributed programming.
  9. Use the most suitable tools and methodologies to evaluate the functionality and performance of the parallel / distributed applications developed.
  10. Use virtualized and private-public cloud infrastructures to run applications.
  11. Weigh up the risks and opportunities of both your own and others' proposals for improvement.
  12. Work cooperatively to achieve common objectives, assuming own responsibility and respecting the role of the different members of the team.

Content

1- Introduction to Cloud Computing: benefits, challenges and risks.

2- Cloud Computing Models: Infrastructure / Platform / Software as a Service.

3-Virtual private cloud and node network configuration

4-Basic computation services

5-Basic storage services

6-Elasticity and scalability

7-Cost evaluation: Total Cost of Ownership

8-Containers


Activities and Methodology

Title Hours ECTS Learning Outcomes
Type: Directed      
Lab 23 0.92 1, 2, 3, 5, 7, 9, 10, 12
Theoretical classes 23 0.92 1, 3, 4, 6, 7, 8, 11
Type: Autonomous      
Autonomous study 40 1.6 2, 4, 5, 10, 11
pre-lab work 42 1.68 2, 3, 5, 6, 8, 11, 12

In the development of the subject, some types of teaching activities can be distinguished:

Theoretical classes: exposition of the theoretical contents of each topic of the program. The typical structure of an exhibition class of this type will be as follows: first, an introduction will be made where the objectives of the exhibition and the contents to be discussed will be briefly presented. Next, the contents under study will be broken down, including narrative expositions, formal developments that provide the theoretical foundations, and interspersing examples and exercises that illustrate the application of the exposed contents. Finally, the teacher will present the conclusions of the contents. Throughout the course there will be ongoing subject group assessments.

Laboratory classes. The practical part of the theoretical topics will be completed with lab sessions, where the student will develop a series of programs and applied tasks and must try to solve a specific problem that he will receive at the beginning of the syllabus. Some of these exercises must be delivered to the class on the specified dates. The lab work will be developed in groups of two students. The classes include several sessions in the laboratory according to the timetable of the subject, where the student will carry out the development of the exercises.

This approach to work is aimed at promoting active learning and developing the skills of organization and planning, oral and written communication, teamwork, and critical reasoning. The quality of the exercises carried out, their presentation and their operation will be especially valued.

The management of the teaching of the subject will be done through the Virtual Campus (https://cv.uab.cat/), which will serve to see the materials, manage the practice groups, make the corresponding deliveries, see the notes, communicate with teachers, etc.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.


Assessment

Continous Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Individual exam 1 25 2 0.08 2, 4, 6, 8, 9
Individual exam 2 25 2 0.08 2, 4, 6, 8, 9
Lab work 50 18 0.72 1, 3, 5, 7, 9, 10, 11, 12

The aim of the evaluation process is to verify that the student has achieved the knowledge and skills defined in the objectives of the subject, as well as the competencies.

Several types of activities will be evaluated independently where the weighted sum of them will give the final grade. These activities are:

    Theory (T)

    Resolution of laboratory practices (PL)

The Theory (T) part will be assessed with two individual partial tests throughout the course. The final grade of Theory will come from the weighted sum of the two controls (0.5 * Control 1 + 0.5 * Control 2). There will be a second chance to retake that part on the day we are assigned by the coordination of the studies. Only the parts that have not been passed in the partial theory tests may be recovered. The minimum grade to pass this part is> = 4.5.

The Laboratory Practice Resolution (PL) part will be assessed as a group. It will have several deliveries. The final grade will come from the weighted sum of the deliveries. To pass the PL the minimum grade must be> = 4.5. There is only one chance (this part cannot be recovered).

The final grade of the course will be the weighted sum of the grades of each of the four activities. The result must be> = 5.

In case of not passing the subject, not reaching the minimum score in any of the sections (Theory or Laboratory Practices), although when doing the weighted average, the final grade was equal to or higher than 5 the grade that will be put in the file will be 4.5.

If the average does not reach 5, the grade that will appear in the file will be the numerical grade obtained numerically.

If the student delivers any activity, it is understood that it is presented in the subject and will be evaluated. If it does not deliver any activity, then it can be considered Not evaluable.

Granting an honorary enrollment grade is the decision of the faculty responsible for the subject. UAB regulations state that MHs can only be awarded to students who have obtained a final grade equal to or higher than 9.00. Up to 5% MHs of the total number of students enrolled can be awarded.

The dates of continuous evaluation and delivery of works will be published on the virtual campus and may be subject to possible scheduling changes for reasons of adaptation to possible incidents; these changes will always be reported to the virtual campus as it is understood that the CV is the usual mechanism for the exchange of information between teachers and students.

For each assessment activity, a place, date, and time of review will be indicated in which the student will be able to review the activity with the teacher. In this context, claims may be made on the grade of the activity, which will be evaluated by the teacher responsible for the subject. If the student does not appear for this review, this activity will not be reviewed later.

Repeating students: Repeating students who have passed the laboratory practices can request the validation of this part of the subject. The rest of the assessment activities must be done in the same conditions as the other students.

Note on plagiarism:

Without prejudice to other disciplinary measures deemed appropriate, and in accordance with current academic regulations, irregularities committed by a student that may lead to a variation in the grade in an assessable activity will be graded with a zero (0). Assessment activities qualified in this way and by this procedure will not be recoverable. If it is necessary to pass any of these assessment activities to pass the course, this course will be suspended directly, without the opportunity to retake it in the same course. These irregularities include, but are not limited to:

the total or partial copy of a practice, report, or any other assessment activity;

let copy;

present group work not done entirely by group members (applied to all members, not just those who have not worked);

present as own materials prepared by a third party, even if they are translations or adaptations, and in general works with non-original and exclusive elements of the student;

have communication devices (such as mobile phones, smart watches, camera pens, etc.) accessible during individual theoretical-practical assessment tests (exams);

talk to classmates during individual theoretical-practical assessment tests (exams);

copy or try to copy from other students during the theoretical-practical assessment tests (exams);

use or try to use writing related to the subject during the theoretical-practical evaluation tests (exams), when these have not been explicitly allowed.

In case of not passing the subject because some of the evaluation activities do not reach the minimum required grade, the numerical grade of the record will be the lower value between 4.5 and the weighted average of the grades. With the exceptions that students who do not participate in any of the evaluation activities will be awarded a "Not Evaluable" rating, and that the numerical grade in the transcript will be the lower value between 3.0 and the weighted average of the notes in the event that the student has committed irregularities in an act of evaluation (and therefore it will not be possible to pass the compensation). In future editions of this subject, the student who has committed irregularities in an evaluation act will not be validated any of the evaluation activities carried out.

In summary: copying, copying, or plagiarizing (or attempting to) in any of the assessment activities is equivalent to FAIL, not compensable and without validation of parts of the subject in subsequent courses.

 

Finally, students taking this course for the second time can request the validation of practical assignments with a maximum grade of 6.0. If the student had a grade lower than 6.0, the previous year's grade will be retained.


Bibliography

- Dan C. Marinescu. “Cloud Computing. Theory and Practice”. Morgan-Kaufmann. 2018.

-AWS Certified Cloud Practitioner Study Guide; Ben Piper, David Clinton; Sybex (14 de junio de 2019); ISBN-10: 1119490707, ISBN-13: 978-1119490708

-The Practice of System and Network Administration: Volume 1: DevOps and other Best Practices for Enterprise IT; Thomas A. Limoncelli, Strata R. Chalup; Addison-Wesley Educational Publishers Inc; Edición: 01 (3 de septiembre de 2014); ISBN-10: 032194318X, ISBN-13: 978-0321943187

-Infrastructure as Code; Kief Morris; O'Reilly Media; 1 edition (June 17, 2016); ISBN-10: 1491924357, ISBN-13: 978-1491924358

-Cloud Computing for Science and Engineering; Ian Foster, Dennis B. Gannon; The MIT Press; Edición: 1 (27 de octubre de 2017); Colección: Scientific and Engineering Computation; ISBN-10: 9780262037242, ISBN-13: 978-0262037242

-Amazon Web Services in Action, 2E; Andreas Wittig, Michael Wittig; Manning Publications; Edición: 2nd edition (30 de septiembre de 2018); ISBN-10: 1617295116, ISBN-13: 978-1617295119

 -Microsoft Azure Essentials - Fundamentals of Azure, 2nd Ed; Michael Collier, Robin Shahan; 2016; https://download.microsoft.com/download/6/6/2/662DD05E-BAD7-46EF-9431-135F9BAE6332/9781509302963_Microsoft%20Azure%20Essentials%20Fundamentals%20of%20Azure%202nd%20ed%20pdf.pdf

-Mastering Cloud Computing : Foundations and Applications Programming. Buyya, Rajkumar;Vecchiola, Christian;y más  Elsevier Science & Technology  2013. ISBN: ISBN number:9780124114548, ISBN number:9780124095397

 -Cloud Computing : An Introduction. Chopra, Rajiv  Mercury Learning & Information  2017. ISBN: ISBN number:, ISBN number:9781683920939

 -Cloud Computing for Dummies. Hurwitz, Judith S.;Bloor, Robin;y más  John Wiley & Sons, Incorporated  2009. ISBN: ISBN number:9780470484708, ISBN number:9780470597408

 -Hybrid Cloud for Dummies. Hurwitz, Judith S.;Kaufman, Marcia;y más  John Wiley & Sons, Incorporated  2012. ISBN: ISBN number:9781118127193, ISBN number:9781118224878

 -Heroku Cloud Application Development. Hanjura, Anubhav  Packt Publishing, Limited  2014. ISBN: ISBN number:9781783550975, ISBN number:9781783550982

 -Cloud Enterprise Architecture. Raj, Pethuru  Auerbach Publishers, Incorporated  2012. ISBN: ISBN number:9781466502321, ISBN number:9781466502338

 -Moving to the Cloud. Sitaram, Dinkar ;Manjunath, Geetha  Elsevier Science & Technology Books  Elsevier Science & Technology Books   2011. ISBN: 9781597497251, 9781597497268

 -Huang, Dijiang, and Huijun Wu. Mobile Cloud Computing : Foundations and Service Models, Elsevier Science & Technology, 2017. ProQuest Ebook Central, https://ebookcentral.proquest.com/lib/uab/detail.action?docID=5043169.

-G. Coulouris, J. Dollimore and T. Kinderg, "Distributed Systems. Concepts and design ", Addison-Wesley, 5th edition, 2012

 

ADDITIONAL:

-Big Data : Principles and Paradigms. Buyya, Rajkumar;Calheiros, Rodrigo N.;y más  Elsevier Science & Technology  2016. ISBN: ISBN number:9780128053942, ISBN number:9780128093467

 -Fog and Edge Computing : Principles and Paradigms : Principles and Paradigm. Suyya, Rajkumar; Srirama, Satish Narayana  John Wiley & Sons, Incorporated  2019. SBN: ISBN number:9781119524984, ISBN number:9781119525011. ERIE: Wiley Series on Parallel and Distributed Computing Services.


Software

We will use some cloud provider industrial platforms


Language list

Name Group Language Semester Turn
(PAUL) Classroom practices 1 English second semester afternoon
(PLAB) Practical laboratories 1 English second semester afternoon
(PLAB) Practical laboratories 2 English second semester afternoon
(TE) Theory 1 English second semester afternoon