esade

Cloud Computing (2235.YR.001140.1)

General information

Type:

OBL

Curs:

1

Period:

S semester

ECTS Credits:

4 ECTS

Teaching Staff:

Group Teacher Department Language
Year 1 Manuel Guerris Larruy Operaciones, Innovación y Data Sciences ENG

Prerequisites

Students will be assumed to have a general background on the Python programming language. To ensure everyone has a minimum level, a pre-course assignment will evaluate student's knowledge of the basic routines in Python. It will be your repsonsibility to ensure you are up to the level before the course starts.

Previous Knowledge

Students should already be familiar with the basic concepts of Python programming and Jupyter notebooks. In particular, they should be acquainted with primitive data types, including integers, floats, booleans and strings, and composite data structures, such as lists, set, dictionaries and tuples. They should also revise concepts related to boolean selection, including unary and binary conditioning, as well as iteration in the form of both definite and indefinite loops. During the course students will be asked to create their own Python functions and to be able to revise and debug their own code.

Workload distribution

This course has a study load of 4 ECTS, which is equivalent to 100 working hours. These hours will be approximately distributed as follows:

25% Lesson hours
25% Independent student work
30% Assignments
20% Group project

COURSE CONTRIBUTION TO PROGRAM

In the Big Data era, powerful technology infrastructures are more needed than ever. Nowadays companies need to have access to such technology. Yet, owning and maintaining it can be very expensive. Cloud Computing is a new model for enabling ubiquitous access to shared pools of resources (computer networks, servers, storage, applications and services) over the Internet. By means of cloud computing companies can easily access unlimited technology infrastructure power. In the case of data analytics, cloud computing is a cornerstone for deploying successful solutions.

The goal of this course is to present the basics behind cloud computer infrastructures and services and their applications, as well as to understand how a data science project works in the real life. we will deal the basic concepts of cloud computing, starting from client-server and web application traditional solutions to more general approaches like software-as-a-service or platform-as-a-service solutions.

The theoretical content of the course will be complemented with hand-on programming practice in Python. Here, we will focus on the first stage of the data science cycle, where the data need to be extracted, transformed and loaded for their later analysis. Coding exercises will give students a chance to gain insights into how data extraction and pre-processing rocesses work in real-life and develop their coputational thinking skills. Throughout the different lessons we will also present several case studies and discuss issues related to the security and ethics of the different techniques.

Course Learning Objectives

At the end of the course, students should:

1. Be familiar with the basic ideas behind Cloud Computing
2. Understand the different elements that come into play when devising a data science solution in a company
3. Show basic programming skills. Throughout the course participants will develop abilities to write and execute basic Python programmes oriented to solving different real-life problems.

Methodology

To achieve the objectives of the course, the format of it would be based on lectures, class discussions and practice.

- Lecture/Discussion. During theoretical lessons, professors will introduce the basic concepts for each of the topics. These sessions are devoted to presentation and discussion of frameworks, concepts and theories .
- Practice. Practice sessions will be divided in two different blocks. In the first block the teacher will present the general framework and the background tools. In the second block different practical exercises will be delivered and discussed in class. For this purpose we will be using iPython notebooks and Google colab.

What do we expect from you in class:

- In lectures, we expect that students participate with questions and discussions.
- In practical sessions, we expect that students solve the different exercises included in the notebooks. Some of the work will be handed in as homework for the students to complete individually.
- A learning area will be available in the Moodle webpage. There, you would find instructions for the sessions, communications, bibliography, etc. Slides for the different sessions will also be posted here every week.
- Programming is an activity that is usually done in teams. Your teammates can help debug your code, solve your doubts or even suggest different ideas and solutions. To facilitate this exchange, a dedicated Forum will be opened in Moodle for students to share their doubts. Participation in this Forum is highly encouraged and will be taken account for the final grade.

ASSESSMENT

ASSESSMENT BREAKDOWN

Description %
Active contribution to the course 10
Assignments 40
Group project 20
Final exam 20
Quiz 10

Assessment criteria

Active contribution to the course:
Students will be expected to actively participate in class. Grading class participation is necessarily subjective. Given that many of the lessons will be delivered online it may be difficult for many of you to take active part in class. Hence, in addition to attendance and participation in the discussion, we will also take into account participation in the moodle Forum.

Assignments:
Three different assignments will be delivered throughout the course. Assignments will cover the contents of the practical sessions. For each of them, a notebook will be made available for students to download from moodle and complete. Assignments will be graded in terms of the level of completion of the different exercises. Students will be expected to check that their code runs and that it fulfill all the requirements. Work in teams is encouraged, yet assignments should be submitted individually. A minimum grade of 4.00 is required to pass the course.

Quiz:
Students will have to complete a short multiple-choice quiz after the lectures.

Group project:
A group project will evaluate student's ability to apply the learnings from this course to a real-life problem. The group project will be complete durign the last sessions of the course. Students will be allowed to prepare for this activity beforehand by writing code and preparing materials. More infomration about the project will be provided during the course.

Final Exam:
The final exam will evaluate student's understanding of the concepts discussed during the theoretical lessons.

Bibliography

References and materials will be published in moodle for every session.

Timetable and sections

Group Teacher Department
Year 1 Manuel Guerris Larruy Operaciones, Innovación y Data Sciences

Timetable Year 1

From 2023/9/29 to 2023/10/11:
Wednesday and Friday from 10:30 to 12:00. (Except: 2023/10/6)
Wednesday and Friday from 8:45 to 10:15. (Except: 2023/10/6)

Wednesday2023/10/25:
From 10:30 to 12:00.
From 8:45 to 10:15.

From 2023/11/15 to 2023/11/30:
Each Thursday from 15:30 to 17:00. (Except: 2023/11/16 and 2023/11/23)
Each Wednesday from 10:30 to 12:00.
Each Friday from 14:15 to 15:45. (Except: 2023/11/17)
Each Friday from 16:00 to 17:30. (Except: 2023/11/17)
Each Wednesday from 8:45 to 10:15.

From 2023/11/30 to 2023/12/13:
Each Thursday from 17:15 to 18:45. (Except: 2023/12/7)
Each Wednesday from 8:45 to 12:00. (Except: 2023/12/6)