Instructor: Dr. Marios D. Dikaiakos
Dr. Pyrros Bratskas
Programme of Study:
Restricted choice for the
M.Sc. in Data Science
, M.Sc. in Computer
Science, Professional M.Sc. in Advanced Information Technologies, and Ph.D. in Computer Science programs.
The course is also open to senior undergraduate students.
Undergraduate students can take the course with the professor's approval, given
that they have successfully attended courses in and have good knowledge of Operating Systems, Advanced Programming Techniques, Computer
Architecture and Networks.
Language of instruction:
Online Forum: Discord channel #dsc515-cloud-computing
Three hours of lectures, one hour of precept, and two hours of lab per
- Thursday, 15:00-17:59, ΘΕΕ01-148.
- Thursday, 18:00-18:59, online or ΘΕΕ01-148.
- Friday, 16:30-17:59, ΘΕΕ01-Β121 or online.
The main objective of this graduate-level course is to provide an introduction to and understanding of
advanced concepts in the field of Cloud Computing, and enable students to design, develop, deploy, monitor
and analyze applications on state-of-the-art Cloud computing platforms. The course covers key elements and
technologies of Cloud Computing Infrastructures, Services, and Applications.
Students who attend the course will gain an understanding of the Cloud Computing paradigm and the technical
underpinnings of Cloud services; they will be able to describe and analyze key middleware components of
Cloud services, to understand the main Cloud application development paradigms, and to use state-of-the-art
Cloud service offerings for Data Science-related projects.
Learning outcomes and skills
The students who complete this course successfully, will:
- Master the fundamental concepts, the main enabling technologies and the key programming
and application-development paradigms of modern Cloud Computing services.
- Be able to design develop, deploy, and monitor highly scalable cloud-based applications
by creating and configuring virtual machines, containers, microservices on the cloud.
- Be familiar with techniques for big data analysis in Cloud Computing environments.
- Compare, contrast, and evaluate the key trade-offs between multiple approaches to cloud system
design, and Identify appropriate design choices when solving real-world cloud computing problems.
- Write comprehensive case studies analyzing and contrasting different cloud computing solutions.
- Make recommendations on cloud computing solutions for an enterprise.
- Be prepared to take the AWS Certification exams.
Teaching and Learning Methods
The course is given in hybrid mode: with most lectures and laboratories are delivered
synchronously in class/lab and with recitations delivered primarily online and asynchronously. Course-work
- 3 hours of weekly lectures (delivered in class), where the main concepts and methodologies covered
by the course are presented and critically appraised. Students are required to review and study the
materials assigned for each lecture, as defined in the Course
Outline, and actively participate in class.
- 1 hour of weekly recitations, wherein we administer online courses on Cloud Computing
prepared and delivered by the Amazon Web Services Academy. These courses comprise videos, notes, and
quizzes designed to help students prepare for AWS Accreditation. More information
is posted on the Course Outline web page.
- 2 hours of laboratory work, delivered in lab with physical presence or synchronously via
Zoom/Teams. A large part of the labs entails practice with AWS services, following hands-on
online courses prepared and delivered by the Amazon Web Services Academy.
- Reading and programming assignments.
- A semester-long group project, where each team of students is expected to work on a project that
will be assigned by the professor. Topics could involve the use of AWS to run Data Science
projects or use of the Fogify emulator developed at the Laboratory
for Internet Computing. The Group project comprises three deliverables:
- Project Description and Plan report.
- Oral Presentation.
- Developed Code and Written Final report.
Students will meet the expected learning outcomes through participation to lectures, invited talks,
active participation to and presentations in class discussions, reviewing videos, reading and
programming assignments, and actual practice with programming assignments and tools.
Participation to lectures and labs is obligatory.
In case restrictions
to physical attendance are imposed due to the Covid-19 pandemic, part of the lectures may
be delivered online, in a synchronous or asynchronous mode.
Evaluation and Grading
Student progress is evaluated continuously
through class participation and the assessment of
in-class presentations, writing assignments, group project deliverables, and final exam. The final grade is
the following formula:
- Projects and Homeworks:
- Midterm Exam:
- Final Exam:
One ECTS unit corresponds to 25-30 hours of work undertaken by an average student to
complete successfully expected learning outcomes. Consequently, the successful completion of the class
requires a total of 187.5-225 hours of work, on average. The workload of the average
student is analysed as follows:
Consequently, the total workload for successfully completing this course, is estimated to 240 hours on
- Class, Precept, and Lab participation: 6 hours per week for 13 weeks, totalling to
- Study at home: 5 hours per week for 13 weeks, totalling 65 hours.
- Group project: 90 hours.
- Group project Final Report and Presentation: 7 hours
Readings for this class comprise chapters from books, papers from the scientific literature, and notes
from AWS Academy. Required
and additional readings will be posted on the course outline web
In particular, we will use material from the following books:
- Κάθε φοιτητής δικαιούται να παρακολουθεί τις διαλέξεις και τα εργαστήρια χωρίς ενοχλήσεις και
αδικαιολόγητες διακοπές. Παρακαλούνται λοιπόν όλοι να διαφυλάξουν το δικαίωμα αυτό, σεβόμενοι τον χρόνο ενάρξεως
και λήξεως των μαθημάτων, την καθαριότητα των αμφιθεάτρων και των εργαστηριακών χώρων και γενικώς την
- Plagiarism is strongly prohibited.
- You will not get any credit for late submissions. We will grant extensions only in the case of
illness (with a doctor's note) or extraordinary circumstances. Please let us know ahead of time if
an extraordinary circumstance will cause you to submit a writeup or paper late, then you should
matter with your instructor as soon as possible.