CS699: Special Topics in Computer Science

Readings in Cloud, Fog, Edge Computing

Evaluation and Grading

CS699: Special Topics in Computer Science
Cloud, Fog, Edge Computing
Objectives and Evaluation

Objectives and Evaluation

Instructor: Dr. Marios D. Dikaiakos, Professor
Teaching Assistant: TBA
ECTS Credits: 8
Semester: Fall
Academic Year: 2020-2021
Course Level: Post-graduate.
Course Type: Restricted choice. Free Elective.
Programme of Study: Restricted choice for the M.Sc. in Computer Science and Ph.D. in Computer Science programs.
Prerequisites: CS601, CS605 or Professors' approval.
Language of instruction: English.
Online Forum: http://piazza.com/ucy.ac.cy/fall2020/epl699
Teaching Schedule: Three hours of lectures and one hour of recitation per week.
Tuesday/Friday, 10:30-12:00.
Tuesday, 9:30-10:30.


The objective of this course is to promote the research and technology culture in the graduate program of the Computer Science Department. The course focuses on mature and emerging technologies for Cloud, Fog and Edge Computing, and aims at reviewing the current and recent scientific literature, with the goal to build an understanding of fundamental concepts, techniques and results that shape the state-of-the-art in Cloud, Fog and Edge Computing infrastructures as well as of prevalent paradigms for developing and deploying applications on these infrastructures.

Learning outcomes and skills

The students who complete this course successfully, will be able to:
  1. Understand and explain various basic concepts related to Cloud computing technologies: clusters, data centers, middleware, Cloud computing models (IaaS, PaaS, SaaS), Fog, and Edge.
  2. Identify, understand, and explain principles, concepts and terminology related to virtualization, containers, and microservices.
  3. Experiment with and apply Docker containers, Docker Swarm and Kubernetes.
  4. Understand, describe, experiment with, and apply the Microservice application-development paradigm and related tools.
  5. Gain a broad view of the recent research literature in Cloud, Fog and Edge computing.
  6. Analyze and evaluate research ideas, especially for infrastructure and applications based on advanced Cloud, Fog and Edge computing technologies.
  7. Undertake literature surveys, identify and formulate open research problems, and write-up scientific summaries and survey papers.
  8. Critically read, appraise and present scientific papers.

Teaching and Learning Methods

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 writing assignments, and actual practice with programming assignments and tools. The course comprises 3 hours of weekly lectures, 1 hour of recitation, reading and writing assignments, and a semester-long group project. Participation of lectures and recitation is obligatory.

In case restrictions to physical attendance are imposed due to the Covid-19 pandemic, part of the lectures and precepts may be delivered online, in a synchronous or asynchronous mode.

In summary, the teaching and learning methods are the following:

  1. Participation to Lectures, 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. Participation to Precepts, where the class will expand on topics covered in the Lectures, through presentation of tools, open discussion, and viewing and discussing of relevant online material.
  2. In-class presentations: Students will be assigned papers on a weekly basis, which they are required to critically read and present in class, leading an ensuing discussion in class about the papers' contribution and related literature. For each paper assigned, you should prepare a 25-30 minute presentation on the paper. If you are presenting, please put Google Slides for your presentation in this folder. In your presentation, cover each of the following:
    1. Problem: What is the paper trying to solve? How real is the problem?
    2. Key idea: What is the main idea in the solution?
    3. Novelty: What is different from previous work, and why? Is it a new problem, a new solution, or a new environment for an existing problem?
    4. Critique: Is there anything you would change in the solution? What about in the way the authors presented or evaluated the solution?
  3. Writing assignments: Each student is expected to take notes on the papers presented in class and the ensuing discussion in class. Notes should be taken in a Google Doc, named as follows: <Lastname,Firstname>:<Date>, and should be added to this folder.
  4. Group projects, where each team of students is expected to work on a project that will be assigned by the professor. Several projects will be done on top 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.

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:
In-class Presentations:
Writing Assignments and Participation:
Term Project:
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 and Recitation participation: 4 hours per week for 13 weeks, totalling to 52 hours.
  2. Study at home: 3 hours per week for 13 weeks, totalling 39 hours.
  3. In-class Presentations (study, preparation, and presentation): 60 hours
  4. Group project: 80 hours.
  5. Group project Final Report and Presentation: 10 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 and papers from the scientific literature. Required and additional readings will be posted on the course outline web page.

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.