EPL602/DSC516: Cloud Computing

Evaluation and Grading

DSC516/EPL602: Cloud Computing

Objectives, Teaching and Evaluation Methods

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:
  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 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:
    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.

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:
  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.

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.
  • Larry Peterson, Scott Baker, Andy Bavier, Zack Williams, and Bruce Davie, Edge Cloud Operations: A Systems Approach, Systems Approach LLC (June 15, 2022) Github.
  • Luiz André Barroso, Urs Hölzle, and Parthasarathy Ranganatha, "The Datacenter as a Computer: Designing Warehouse-Scale Machines," Third Edition Morgan & Claypool (2019). Also available through Springer.
  • Armando Fox and David Patterson, "Engineering Software as a Service: An Agile Approach Using Cloud Computing", Second Edition, Pogo Press (2021).
  • 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.