DSC516: Cloud Computing


DSC516: Course Information


This course covers key elements and technologies of Cloud Computing Infrastructures, Services, and Applications. Students who attend this 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. Precepts and labs will help students prepare for AWS Certification.
Instructor: Marios D. Dikaiakos, Professor. »
Teaching Assistant: Dr. Pyrros Bratskas, Special Teaching Staff. »
Prerequisites: Basic knowledge in Programming and Data Structures, Operating Systems, Networking, Parallelism.
Lectures: Thursday, 15:00-17:59, ΘΕΕ01-148.
Recitation: Thursday, 18:00-19:00 (online or ΘΕΕ01-148)
Labs: Friday, 16:30-17:59, ΘΕΕ01-Β121 or online.
Online Forum: Discord


Cloud Computing is a distributed computing paradigm which has become the main mechanism for deploying information technology services over the Internet. Cloud Computing is based on a technology stack that comprises the hardware and operating software of large-scale data centers, a variety of middleware systems and virtualization services that facilitate the management of computing, storage, and networking resources through high-level abstractions, and numerous application-development platforms.

This course covers topics and technologies related to Cloud Computing, focusing on state-of-the-art technologies, current research and emerging issues of relevance. Students will engage in the study of basic concepts, recent literature and experimentation with acknowledged technologies. The precepts and laboratories use primarily materials and learning content by Amazon Web Services Academy, which are designed to help students prepare for AWS Certification.

Students will review and explore, through lectures, discussions, videos, reading and writing assignments, labs, and practice, the following modules organized in three parts:

Part I: Basic Concepts and Models
Part II: Building Blocks
Part III: Cloud Application Programming Paradigms