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.
- Lectures:
- Tuesday/Friday, 10:30-12:00.
- Recitation:
- Tuesday, 9:30-10:30.
Objectives
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:
- Understand and explain various basic concepts related to Cloud computing technologies: clusters, data
centers, middleware, Cloud computing models (IaaS, PaaS, SaaS), Fog, and Edge.
- Identify, understand, and explain principles, concepts and terminology related to
virtualization, containers, and microservices.
- Experiment with and apply Docker containers, Docker Swarm and Kubernetes.
- Understand, describe, experiment with, and apply the Microservice application-development paradigm and
related tools.
- Gain a broad view of the recent research literature in Cloud, Fog and Edge computing.
- Analyze and evaluate research ideas, especially for infrastructure and applications based
on advanced Cloud, Fog and Edge computing technologies.
- Undertake literature surveys, identify and formulate open research problems, and write-up
scientific summaries and survey papers.
- 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:
- 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.
- 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:
- Problem: What is the paper trying to solve? How real is the problem?
- Key idea: What is the main idea in the solution?
- 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?
- Critique: Is there anything you would change in the solution? What about in the way the
authors presented or evaluated the solution?
- 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.
- 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:
- Project Description and Plan report.
- Oral Presentation.
- 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:
- 40%
- Writing Assignments and Participation:
- 10%
- Term Project:
- 30%
- Final Exam:
- 20%
Attention:
- Each presentation will be graded with : A, B, C or F (F for absence in presentation). Two "F" marks throughout
the course will
result in a zero grade for the "in-class presentation" part of the final grade.
- Each note will be graded with: A, B, C or F (F for notes not submitted). Notes will be accepted only from
students present in class.
Four "F" marks will result in a zero grade for the “Writing Assignments and Participation” part of the final
grade.
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 and Recitation participation: 4 hours per week for 13 weeks, totalling to 52
hours.
- Study at home: 3 hours per week for 13 weeks, totalling 39 hours.
- In-class Presentations (study, preparation, and presentation): 60 hours
- Group project: 80 hours.
- Group project Final Report and Presentation: 10 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 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.