Cloud Computing

You are here

Credits
3
Types
Elective
Requirements
This subject has not requirements, but it has got previous capacities
Department
AC
Mail
Services converge and pass from the physical world to the digital world, making them accessible from any electronic device. Cloud Computing is what makes it possible for digital technology to penetrate every corner of our economy and society. The goal of this course is to help students to understand this profound transformation that is causing Cloud Computing and related emerging technologies such as Artificial Intelligence. This course will encourage their desire to want to delve further into this exciting world of technology and become actively involved.
This course will review Cloud Computing technologies which will shape our near future, as well as attempt to visualize in which direction this technology will take us. The course will pay special attention to the relation of Cloud Computing with advanced analytics technologies (such as Artificial Intelligence in general and Deep Learning technologies in particular). We will look under the hood of these advanced analytics services in the Cloud, either in terms of software or hardware, in order to understand how their high-performance requirements can be provided.

The practical component is an important part of this subject. In this course the “learn by doing” method is used, with a set of Hands-on that the students must carry out throughout the course. The course will be marked by a continuous assessment which ensures constant and steady work. The method is also based on teamwork and a ‘learn to learn' approach reading and presenting related topics in short presentations. Thus the student is able to adapt and anticipate new technologies that will arise in the coming years.


(2022 course edition will be in Spanish or Catalan | For updates visit: https://torres.ai/docencia/cc-mei-2019/ )

Teacher's master classes, the presentations of the students and the practices of the course, will be mixed throughout the two days of weekly class. It is expected that the student always carry his/her laptop to do the assigned hands-on or follow the digital documentation that the teacher will distribute each day.

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

  1. Cloud Computing Basics
    Related competences: CTE6, CG1, CDG1, CTR5, CG4,
  2. Cloud Computing technologies
    Related competences: CG1, CB9, CG4, CG6, CG7,
  3. New relate paradigms
    Related competences: CDG1, CB6, CB9,
  4. Cloud Computing and Big Data Analytics disruptive technologies
    Related competences: CTE6, CTE9, CG8,
  5. Cloud Computing role in Artificial Intelligence
    Related competences: CTE6, CTE9, CDG1, CB6, CB8, CB9,
  6. Learn by doing
    Related competences: CG1, CDG1, CB6, CG4, CG6, CG7, CG8,

Contents

  1. Cloud Computing paradigm
    1.1 The evolution of the Cloud Computing | 1.2 Cloud deployment and services models
  2. Cloud Computing technologies
    2.1 Containers and orquestrators | 2.2 APIs: the doors in the Cloud
  3. New relate paradigms
    3.1 Serveless computing | 3.2 Edge computing
  4. Cloud Computing and Big Data Analytics
    4.1 Current Cloud computing software stack | 4.2 Current Cloud computers Hardware: the Paradigm shift
  5. AI & DL: The next wave of Cloud
    5.1 Programming DL | 5.2 Scaling DL applications
  6. Midterm 1
  7. Midterm 2
  8. Attendance
  9. Presentation 1
  10. Presentation 2
  11. Presentation 3
  12. Presentation 4
  13. Hands-on 1
  14. Hands-on 2
  15. Hands-on 3
  16. Hands-on 4
  17. Hands-on 5
  18. Hands-on 6

Activities

Activity Evaluation act


Cloud Computing paradigm


Objectives: 1
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

Cloud Computing technologies


Objectives: 2
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

New relate paradigms


Objectives: 3
Contents:
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Cloud Computing and Big Data Analytics


Objectives: 4
Contents:
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

AI & DL: The next wave of Cloud


Objectives: 5
Contents:
Theory
3.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h

Theory
0h
Problems
0h
Laboratory
13.5h
Guided learning
1h
Autonomous learning
8h

Homeworks ( & Presentations)


Objectives: 6
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
8h

Midterms


Objectives: 2 1 3 4 5 6
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
8h


Teaching methodology

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 of this course can be obtained by continuous evaluation. This evaluation will take into account different items:

In-class exams will account for 10% of the grade:
Midterm 1: 5%
Midterm 2: 5%

Attendance & participation in class will account for 14% of the grade:
Each day: 1%

Homework, reading papers, and presentations will account for 25% of the grade:
Presentation 1: 13%
Presentation 2: 2%
Presentation 3: 5%
Presentation 4: 5%

Hands-on (+reports) will account for 51% of the grade:
Hands-on 1: 5%
Hands-on 2: 2%
Hands-on 3: 12%
Hands-on 4: 2%
Hands-on 5: 15%
Hands-on 6: 15%

Requirements for continuous evaluation is:
Minimum of 80% of attendance in class sessions
Minimum of 50% of Homework and presentations
Minimum of 50% of Hands-on

Course Exam, for those students who have not benefited from the continuous evaluation, will be announced during the course. This exam includes the evaluation of the knowledge of the entire course (practical part, theoretical part, and self-learning part of homework). During this exam, the student is not allowed to use any type of documentation (neither on paper nor digital).

Bibliography

Basic:

Complementary:

Web links

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.