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.

Cloud computing is a service model for large-scale distributed computing. It is based on converged infrastructure and a set of common services over which applications can be deployed and run over the network. This will cause a deluge of digital information requiring a big data analytics with magnitudes never seen before.

Cloud Computing is the real enabler of the democratization of technologies that will transform our society. It means Artificial Intelligence and its related technologies are available to everyone.

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. This year we will focus on the last part of the course in the software that enables DL applications (focusing on one case study based in Keras).

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.

(2019 course edition will be in Spanish and it will begin on April 2nd)

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 Basics
    Related competences: CTE6, CG1, CDG1, CTR5, CG4,
  2. Understand current required layers in a Big Data Software Stack
    Related competences: CG1, CB9, CG4, CG6, CG7,
  3. Understand APIs: The doors in the Cloud
    Related competences: CDG1, CB6, CB9,
  4. Learn new Software requirements for Advanced Analytics
    Related competences: CTE6, CTE9, CG8,
  5. Learn new Hardware requirements for Advanced Analytics
    Related competences: CTE6, CTE9, CDG1, CB6, CB8, CB9,
  6. Learn by doing in Lab sessions
    Related competences: CG1, CDG1, CB6, CG4, CG6, CG7, CG8,

Contents

  1. Cloud Computing paradigm & technologies
  2. Current layers in a Cloud Computing Software Stack
  3. Cloud Computers Hardware: the Paradigm shift
  4. AI & DL: The next wave of Cloud
  5. Under the hood of AI & DL: a case study
  6. Lab session 1
  7. Lab session 2
  8. Lab session 3
  9. Lab session 4
  10. Lab session 5
  11. Short presentations
    Homework will be assigned weekly that includes reading documentation that expands the concepts introduced during lectures, and periodically will include reading research papers related with the lecture of the week, and prepare short presentations (with slides that will be submitted to the Racó). Some students/groups randomly chosen will present the their short presentation.

Activities

Activity Evaluation act


Cloud Basics


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

Understand APIs: The doors in the Cloud


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

Understand current required layers in a Big Data Software Stack


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

Learn new Software requirements for Advanced Analytics


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

Learn new Hardware requirements for Advanced Analytics


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

Learn by doing in Lab sessions


Objectives: 6
Contents:
Theory
0h
Problems
0h
Laboratory
11.5h
Guided learning
0h
Autonomous learning
0h


Short presentations



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

Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
17h

Teaching methodology

During the course there will be four types of activities:
a) Activities focused on the acquisition of theoretical knowledge. 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.
b) Activities focused on the acquisition of knowledge through experimentation by “learn by doing” approach in lab sessions. Hands-on sessions will be conducted during lab sessions . Each hands-on will involve writing a lab report with all the results to be delivered one week later.
c) Homework will be assigned weekly that includes reading documentation that expands the concepts introduced during lectures, and periodically will include reading research papers related with the lecture of the week, and prepare short presentations (with slides that will be submitted to the Racó). Some students/groups randomly chosen will present the their short presentation.
d) Course project that will be based on technologies considered in this course.

Evaluation methodology

The evaluation of this course will take into account different items:

- In-class exams will account for 25% of the grade.
- Attendance & participation in class will account for 15% of the grade.
- Homework, reading papers and presentations will account for 20% of the grade.
- Hands-on (+reports) will account for 40% of the grade.

Bibliography

Basic:

  • Hand-on sessions at GitHub - Torres, J,
  • Slides of the course - Torres, J,

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, prior exposure to Git and experience with Linux basics will be necessary.
Warning.