DSC516: Cloud Computing

Evaluation and Grading

DSC516: Cloud Computing

Objectives, Teaching and Evaluation Methods

Instructor: Dr. Marios D. Dikaiakos, Professor
Teaching Assistant: Dr. Pyrros Bratskas
ECTS Credits: 8
Semester: Fall
Academic Year: 2022-2023
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: Discord channel #dsc515-cloud-computing
Teaching Schedule: Three hours of lectures, one hour of precept, and two hours of lab per week
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:
  1. Master the fundamental concepts, the main enabling technologies and the key programming and application-development paradigms of modern Cloud Computing services.
  2. Be able to design develop, deploy, and monitor highly scalable cloud-based applications by creating and configuring virtual machines, containers, microservices on the cloud.
  3. Be familiar with techniques for big data analysis in Cloud Computing environments.
  4. 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.
  5. Write comprehensive case studies analyzing and contrasting different cloud computing solutions.
  6. Make recommendations on cloud computing solutions for an enterprise.
  7. 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 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:
    1. Project Description and Plan report.
    2. Oral Presentation.
    3. 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:
Midterm Exam:
Final Exam:

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:
  1. Class, Precept, and Lab participation: 6 hours per week for 13 weeks, totalling to 78 hours.
  2. Study at home: 5 hours per week for 13 weeks, totalling 65 hours.
  3. Group project: 90 hours.
  4. Group project Final Report and Presentation: 7 hours
Consequently, the total workload for successfully completing this course, is estimated to 240 hours on average.


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 page. In particular, we will use material from the following books:

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.