Over the past fifteen years, cloud computing has been the technology that has gradually enabled digitalization to penetrate every corner of our economy and society. The primary objective of this course is to help students understand how this profound transformation has occurred, addressing both the hardware and software aspects involved in the process. This evolution has turned computing into a commodity available from big companies to SMEs.
However, where there is light, there are also shadows. We are now at a turning point, and major organizations are beginning to recognize that not all cloud infrastructure locations provided by the leading providers could be equally reliable or secure. Factors such as geopolitics and rising service costs driven by energy prices (and the required new type of hardware, such as GPUs), among others, have led many companies to reconsider their confidence in public cloud solutions. The second objective of this course is to encourage students to reflect on this situation and its implications.
Moreover, with advances in artificial intelligence (AI)¿particularly generative models¿many companies are starting to require their own IT infrastructures to train AI models with specific data, thereby maintaining security, confidentiality, and complete control over their models. This trend, referred to as the repatriation of workloads to private (or hybrid) infrastructures, is transforming the cloud computing ecosystem. The third focus of this course will explore how AI is accelerating this shift.
For this reason, the 2025 edition of this course will build upon a mature and stable public cloud, now considered more of a commercial product than an innovative technology, to delve deeper into the new private IT infrastructures. Emphasis will be placed on the hardware and software supporting the most demanding AI applications and how to program and optimize these systems. We will also see under the hood understanding how high-performance requirements of AI apps are met.
The practical component is a fundamental part of this course. The "learn by doing" methodology will be applied, with a set of hands-on exercises that students will complete throughout the course. Assessment will be continuous, encouraging steady and consistent work. Teamwork and a "learn to learn" approach will be promoted through the reading and presentation of related topics in short presentations, with the aim of equipping students to adapt to and anticipate emerging technologies.
The two weekly classes will combine lectures, student presentations, and practical sessions. Students are expected to bring their laptops to every class to follow digital materials or complete assigned hands-on tasks (actually in the same-day class). Attendance is mandatory; students who cannot commit to attending all sessions should not enroll in this course. For the 2025 edition, classes will be conducted in Spanish and Catalan, while all written materials and documentation will be provided in English.
Teachers
Person in charge
Jordi Torres Viñals (
)
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
7.1
Competences
Technical Competences of each Specialization
Direcció i gestió
CDG1 - Capability to integrate technologies, applications, services and systems of Informatics Engineering, in general and in broader and multicisciplinary contexts.
Especifics
CTE6 - Capability to design and evaluate operating systems and servers, and applications and systems based on distributed computing.
CTE9 - Capability to apply mathematical, statistical and artificial intelligence methods to model, design and develop applications, services, intelligent systems and knowledge-based systems.
Generic Technical Competences
Generic
CG1 - Capability to plan, calculate and design products, processes and facilities in all areas of Computer Science.
CG4 - Capacity for mathematical modeling, calculation and simulation in technology and engineering companies centers, particularly in research, development and innovation tasks in all areas related to Informatics Engineering.
CG6 - Capacity for general management, technical management and research projects management, development and innovation in companies and technology centers in the area of Computer Science.
CG7 - Capacity for implementation, direction and management of computer manufacturing processes, with guarantee of safety for people and assets, the final quality of the products and their homologation.
CG8 - Capability to apply the acquired knowledge and to solve problems in new or unfamiliar environments inside broad and multidisciplinary contexts, being able to integrate this knowledge.
Transversal Competences
Appropiate attitude towards work
CTR5 - Capability to be motivated by professional achievement and to face new challenges, to have a broad vision of the possibilities of a career in the field of informatics engineering. Capability to be motivated by quality and continuous improvement, and to act strictly on professional development. Capability to adapt to technological or organizational changes. Capacity for working in absence of information and/or with time and/or resources constraints.
Basic
CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
CB9 - Possession of the learning skills that enable the students to continue studying in a way that will be mainly self-directed or autonomous.
Objectives
Cloud Computing paradigm
Related competences:
CG1,
CG4,
CDG1,
CTR5,
CTE6,
Cloud Computing technologies
Related competences:
CB9,
CG1,
CG4,
CG6,
CG7,
Current Paradigms Related to Cloud Computing
Related competences:
CB6,
CB9,
CDG1,
Under the Hood of Cloud Computing: Hardware and Software for AI
Related competences:
CG8,
CTE9,
CTE6,
Private Cloud Computing Infrastructures for Modern AI Models
Related competences:
CB6,
CB8,
CB9,
CDG1,
CTE6,
CTE9,
Class attendance and participation: Regular and consistent attendance is expected and to be able to discuss concepts covered during class. The theoretical activities include participatory lecture classes, which explain the basic contents of the course. Attendance in class is mandatory unless you have a reason to miss class that is acceptable to the instructor.
Students are responsible for all material and projects are given in class whether they are present or not. It is the responsibility of the student to obtain handouts, assignments, projects, etc. for any missed class from a fellow student.
Hands-on: Activities focused on the acquisition of knowledge through experimentation by learn by doing approach mixing theory and practice. Part of the hands-on will be conducted during a regular class sessions and part will be done out of the class sessions. All the hands-on will involve writing a report with all the results to be delivered to the Racó
Homework Assignments: Homework will be assigned weekly that includes reading the documentation that expands the concepts introduced during lectures, and periodically will include reading research papers related with the lecture of the week, and prepare presentations (with slides). Some students/groups randomly chosen will present their presentation.
Assessment: There will be 2 short midterm exams along the course.
Student presentation: Students/groups randomly chosen will present the homework (presentations/projects).
Final exam: At the end of the term the student will have an optional exam.
Evaluation methodology
The evaluation for this course will be based on a continuous assessment system, considering the following components:
- In-class exams (midterms): 10% of the final grade.
- Attendance and participation in class: 15% of the final grade.
- Homework, reading papers, and presentations: 20% of the final grade.
- Hands-on activities (including corresponding reports/presentations): 55% of the final grade.
Requirements for Continuous Assessment:
To qualify for continuous assessment, students must meet the following criteria:
- Attendance: A minimum of 80% of class sessions.
- Homework and presentations: Completion of at least 50%.
- Hands-on activities: Completion of at least 50%.
Final Exam Option:
Students who do not meet the requirements for continuous assessment will have the option to take a final exam. This exam will evaluate knowledge of the entire course (practical, theoretical, and self-learning components, including homework). The exam will be announced during the course. No documentation (neither printed nor digital) is allowed during the exam.
Dependability in Edge Computing -
Bagghi S., Siddiqui M., Wood P. and Zhang H,,
Communications of the ACM, January 2020. https://doi.org/10.1145/3362068
The rise of serverless computing -
Castro P., Ishakian V., Muthusamy V. and Slominsky A,
Communications of the ACM, Desember 2019. https://dl.acm.org/doi/pdf/10.1145/3368454
Complementary:
Cloud computing and the new EU General Data Protection RegulationRusso B., Valle L., Bonzagni G., Locatello D., Pancaldi M. Tosi D -
Russo B., Valle L., Bonzagni G., Locatello D., Pancaldi M. Tosi D, IEEE Cloud Computing ,
December 2018.
https://ieeexplore-ieee-org.recursos.biblioteca.upc.edu/document/8552651
Web links
Course content (updated) http://
Previous capacities
Python is the programming language of choice for the labs' sessions of this course. It is assumed that the student has a basic knowledge of Python prior to starting classes. Also, some experience with Linux basics will be necessary.