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.
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.
Person in charge
Jordi Torres Viñals (
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.
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
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.
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.
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.
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.
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 34% of the grade:
Presentation 1: 12%
Presentation 2: 2%
Presentation 3: 10%
Presentation 4: 10%
Hands-on (+reports) will account for 42% of the grade:
Hands-on 1: 8%
Hands-on 2: 1% (not requires a report)
Hands-on 3: 10%
Hands-on 4: 4%
Hands-on 5: 12%
Hands-on 6: 7%
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 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.
Apache Spark: a unified engine for big data processing -
Zaharia M, Xin R., Wendell P., Das T., Armbrust M., Dave A., Meng X., Rosen J., Communications of the ACM ,
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.
Where we are
B6 Building Campus Nord
C/Jordi Girona Salgado,1-3
08034 BARCELONA Spain
Tel: (+34) 93 401 70 00