Instructor: Dr. Marios D. Dikaiakos,
Professor Teaching Assistant: Dr. Pyrros Bratskas, STF ECTS Credits: 8 Semester: Fall 2024 Academic Year: 2024-2025 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:Moodle Teaching Schedule: Three hours of lectures, one hour of precept, and two hours of lab per
week
Lectures:
Friday, 14:00-17:00, Building ΘΕΕ01, Room 148.
Recitation:
Friday, 17:00-18:00 (online or Building ΘΕΕ01, Room 148).
Lab:
Tuesday, 16:30-18:00 (online or Building ΘΕΕ01, Lab Β121).
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.
The link to the course is posted on the course's Resources web page and
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
The link to the course is posted on the course's Resources web page and
Schedule web page.
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.
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.
Textbooks
Marinescu, D. Cloud Computing: Theory and Practice. Morgan Kaufmann, 2017.
Ian Foster and Dennis B. Gannon, "Cloud Computing for Science and Engineering", MIT Press (2017).
Jeff Nickoloff and Stephen Kuenzli, "Docker In Action," Manning (2019). First
version was available on Github.
Betsy Beyer at al. "Site Reliability Engineering," O'Reily (2016).
Rajkumar Buyya and Satish Narayana Srirama, eds. "Fog and Edge Computing," Wiley (2019).
Thomas Earl and Zaigham Mahmood and Ricardo Puttini. "Cloud Computing: Concepts, Technology and
Architecture," Pearson (2014).
Other instructions
All students are entitled to attend lectures and labs without disturbances and unjustified interruptions. Everyone is
therefore requested to preserve this right, respecting the start and end time of the lessons, the cleanliness of the
auditoriums and laboratory spaces and in general academic freedom.
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.
Use of Generative AI Tools
The field of Artificial Intelligence (AI) is undergoing rapid developments. Generative Artificial Intelligence tools, such as ChatGPT/ChatPDF, allow the generation of written text, audio and images with highly realistic results. The University of Cyprus (UCY) is committed in the ethical and responsible use of AI based on specific principles for its utilization and on the appropriate preparedness of its staff and students. The following principles/recommendations regarding the utilization of AI in the educational process are in effect, starting in the Fall Semester 2023-2024, and will be revised at regular time intervals.
GENERAL CONTEXT OF USE
UCY encourages experimentation with available AI tools that aid the process of comprehension and learning, given that their use does not violate applicable ethical principles. It is noted that, AI tools must be utilised in combination with critical thinking, while also acknowledging their sometimes potentially serious weaknesses. Implementation of such practices, can potentially lead to the constructive enhancement of the teaching and learning process.
Instructors may allow students to use AI tools in coursework assignments for the purpose of searching and cross-referencing information, to the extent that such use contributes to the achievement of the learning objectives.
TRANSPARENCY AND QUALITY ASSURANCE
When AI tools are used in coursework assignments, students must explicitly and accurately declare any AI tools used and how these were utilized in the process.
It is noted that the use of AI tools by students can contribute to the cultivation of critical thinking skills, through the evaluation of the quality of the assistance/responses
generated by the AI tool(s).
Specific instructions for the use of AI by students may be provided by the instructors as part of the course syllabus or as part of the written
guidelines of a coursework assignment/examination, based on the unique characteristics of a course.
Instructors are encouraged to adapt the assessment methods for coursework assignments/examinations in order to ensure the integrity of the assessment process
(e.g., take-home exams and thesis assessments may be supplemented by an oral examination).
ETHICAL USE AND ACCOUNTABILITY
Verbatim copying from text generated by AI tools is prohibited. Instructors have the option of using plagiarism detection tools that
recognize AI-generated text. It is noted, however, that plagiarism detection tools may have a margin of error. In the
event of plagiarism, further disciplinary action may be taken in accordance with the
Undergraduate Studies Rules (pages 35-43) for undergraduate students and with the
Postgraduate Studies Rules (pages 48-57)
for postgraduate students (Additional information on how students can recognize and avoid plagiarism in general, are provided in the electronic booklet guide of the University of Cyprus Library entitled "ACADEMIC PLAGIARISM: How to identify and avoid it”.)
It is noted that AI tools should be utilized with great caution, with regards to the data submitted to them as input (personal or confidential data, copyrighted information, etc.) and to the results that arise from their use. It is also important to consider that, currently popular AI tools generate algorithmically-derived responses based on existing text which is available online, without confirmation of the accuracy and timeliness of these responses in comparison to valid scientific information sources.
Users of AI tools are solely responsible for confirming the accuracy of data and ensuring unbiased and ethical conduct.
For more information, please consult the
guidelines of the University of Cyprus.