Instructor: Dr. Marios D. Dikaiakos,
Professor Teaching Assistant: Dr. Pyrros Bratskas, STF ECTS Credits: 8 Semester: Fall Academic Year: 2023-2024 Course Level: Post-graduate. Course Type: Restricted choice 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. Prerequisites: 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: English. Online Forum:edstem Teaching Schedule: Three hours of lectures, one hour of precept, and two hours of lab per
week
Lectures:
Tuesday, Friday 15:00-16:29, ΘΕΕ01-148.
Recitation:
Tuesday, 16:30-17:29, online (tba) or ΘΕΕ01-148.
Lab:
Friday, 16:30-17:29, ΘΕΕ01-148 or online (tba).
Objectives
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
comprises:
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 an online course on
Cloud Computing Foundations
prepared and delivered by the Amazon Web Services Academy. This course comprises videos, notes, and
quizzes designed to help students prepare for AWS Accreditation.
More information is posted on the Schedule web page.
1.5 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 the hands-on
AWS Academy's online course Introduction to Cloud: Semester 1.
The course comprises videos, notes, hands-on exercises, and quizzes designed to help students prepare for AWS Accreditation
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
based on
the following formula:
Projects and Homeworks:
20%
Midterm Exam:
30%
Final Exam:
50%
ECTS Analysis
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:
Class, Precept, and Lab participation: 6 hours per week for 13 weeks, totalling to
78
hours.
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
Consequently, the total workload for successfully completing this course, is estimated to 240 hours on
average.
Bibliography
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 Schedule web
page.
In particular, we will use material from the following books:
Jeff Nickoloff and Stephen Kuenzli (2019) Docker In Action. Manning.
Other instructions
Κάθε φοιτητής δικαιούται να παρακολουθεί τις διαλέξεις και τα εργαστήρια χωρίς ενοχλήσεις και
αδικαιολόγητες διακοπές. Παρακαλούνται λοιπόν όλοι να διαφυλάξουν το δικαίωμα αυτό, σεβόμενοι τον χρόνο ενάρξεως
και λήξεως των μαθημάτων, την καθαριότητα των αμφιθεάτρων και των εργαστηριακών χώρων και γενικώς την
ακαδημαϊκή ελευθερία.
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
illness or
an extraordinary circumstance will cause you to submit a writeup or paper late, then you should
discuss the
matter with your instructor as soon as possible.