Syllabus
CMPE 789 — Special Topics: Modern Cloud Computing
Course information
| Item | Information |
|---|---|
| Instructor | Chongzhou Fang (cxfeec@rit.edu) |
| Teaching Assistant | Vedant Khairnar (vk6145@rit.edu) |
| Lecture | Tue Thu 5:00 PM – 6:15 PM |
| Classroom | GLE-1129 |
| Office Hours | Tue Thu 4:00 PM – 5:00 PM (@ GLE-3435) |
| Course Materials |
Cloud Computing: Theory and Practice, 2nd Edition External documentation; research papers (links provided) |
Description
This course introduces modern cloud computing systems and their design and development principles. The course covers fundamental concepts and technologies behind cloud systems, including concurrency and parallelism, cloud networks, data storage systems, cloud hardware and software infrastructure, major cloud computing paradigms, resource management and scheduling, virtualization, cloud security, and cloud application development and performance optimization. This course will also cover advanced topics such as heterogeneous computing, machine learning in cloud environments, cloud and IoT integration, and future cloud infrastructures. Students will explore these concepts through a combination of lectures, hands-on assignments, and a course project.
Prerequisite: (CMPE-550 or equivalent) and (CMPE-570 or equivalent)
Class Hours: 2.5 lecture hours / week
Course policy documents
- Syllabus (this document)
Course learning outcomes
Upon successful completion of this course, students will be able to:
- Develop, optimize, and deploy cloud applications and services on public cloud platforms;
- Understand cloud system design principles and apply cloud resource management and scheduling techniques to design and deploy small-scale cloud infrastructures;
- Analyze and utilize heterogeneous computing resources, such as GPUs and accelerators, to improve cloud application performance;
- Apply cloud application development and performance optimization techniques to build scalable and efficient cloud services;
- Understand security challenges and protection mechanisms in cloud computing environments;
- Gain knowledge in emerging topics and trends in cloud computing, including machine learning in cloud environments, cloud–IoT integration, and future cloud infrastructures.
Course materials
- Lecture slides
- External documentation
- Selected papers
All will be posted on MyCourses and GitHub.
Class time and participation
Prior to each lecture, lecture notes and reading materials will be posted on course website. Students are expected to review the assigned materials before attending class to prepare for in-class activities and discussions.
Class time will focus on lectures and concept discussions. Active participation is expected throughout the semester. Students are encouraged to ask questions, engage in discussions, and contribute to classroom activities to deepen their understanding of course materials.
Students participating in project presentations are expected to prepare presentation slides and organize their materials in a clear and logical manner. Presentations should effectively communicate project motivation, technical approach, implementation details, experimental results, and conclusions.
Communication
Students are encouraged to communicate with the instructor and teaching assistant through email, the course Slack channel, and office hours. The course Slack channel should be used for general questions, discussions, and course-related announcements whenever appropriate, while email may be used for private matters.
Students are responsible for regularly checking the email account registered
with MyCourses, as important course announcements and communications may be
sent through this address. Students are also strongly encouraged to use
their RIT email accounts for course communication, as emails sent from
non-rit.edu domains may be filtered by RIT email systems and
may not be reliably delivered.
Homework, quizzes, and project
Homework
Homework 1–4 will include both concept review questions and programming assignments related to course materials. Concept review questions are designed to reinforce students’ understanding of key cloud computing concepts and technologies. Programming assignments will involve hands-on tasks in cloud computing environments. Students are expected to use public cloud platforms and/or cloud simulators to implement, deploy, and evaluate cloud applications and systems.
HW 5 will be a 6-page literature review report focusing on one of the advanced topics selected by the student.
Homework assignments are due at 11:59pm on the due date. Late submissions are penalized 10% per day.
Quiz
Quizzes are scheduled every two weeks on Tuesdays in class, beginning in Week 3. Quiz questions may include concept understanding questions as well as simple calculation problems related to course materials.
Students are expected to take quizzes in person during the scheduled class time. Missing a quiz without prior approval or documented accommodation will result in a score of zero for that quiz.
Semester project
In parallel with other course activities, students are expected to complete a semester project. The project may take one of the following forms:
- A research-oriented project exploring novel cloud computing technologies or systems;
- A sophisticated cloud-based application/system that incorporates at least two technologies related to the Advanced Topics covered in class (see the course schedule).
The semester project consists of the following stages:
- Team Formation: Each project team may consist of at most two students. Team formation must be completed before the deadline listed in the course schedule.
- Project Idea Approval: Each team must submit a one-paragraph project description to the instructor via email and obtain written approval before proceeding.
- Project Proposal: Each team is required to submit a four-page proposal describing the project idea, background, technical approach, expected milestones, and preliminary results. An in-class presentation is also required.
- Project Checkpoint: Each team is required to submit progress reports (1–2 pages each) to summarize project progress, implementation status, and intermediate results.
- Project Conclusion: Each team is required to deliver an in-class final presentation during the last week of instruction. A final project report (10 pages) is due on the university-defined last day of instruction in the following week.
Homework and report submission format
Students are expected to use the USENIX LaTeX template when preparing responses to homework questions as well as all project reports. Project reports should also follow the class report guidelines. All written submissions must be submitted in PDF format.
For programming assignments and project deliverables involving code, students are encouraged to submit source code through GitHub repositories. Submission through MyCourses file upload is also permitted when appropriate.
Grading policy
Any issues with a particular grade must be resolved within one week from when that grade is announced. The final grade consists of the following components:
| Component | Percentage |
|---|---|
| Homework | 30% (6% each; lowest score among HW1–HW4 dropped) |
| Quiz | 10% (2% each; lowest score dropped) |
| Project Proposal | 10% |
| Project Checkpoint Report | 10% |
| Paper Presentation | 5% |
| Project Presentation: Proposal and Preliminary Results | 5% |
| Final Project Presentation | 10% |
| Final Project Report | 20% |
| Bonus: Class Attendance | 5% |
The rubric for letter grade determination is listed below.
| Letter Grade | Total Points |
|---|---|
| A | > 92 |
| A- | 90 – 91 |
| B+ | 88 – 89 |
| B | 82 – 87 |
| B- | 80 – 81 |
| C+ | 78 – 79 |
| C | 72 – 77 |
| C- | 70 – 71 |
| D | 65 – 69 |
| F | < 64 |
Usage of generative AI
The use of generative AI tools is permitted for finding related literature and report polishing. For the semester project, the use of generative AI for code generation is allowed. However, teams must submit a complete record of AI interactions, including prompts and generated outputs, together with the final report. Excessive reliance on AI-generated content, as determined by the instructor, may result in deductions in project evaluation.
The use of generative AI to generate solutions for homework assignments, including both concept understanding questions and programming assignments, is not permitted.
Students are responsible for verifying the correctness of all submitted content. Assignments containing fabricated or hallucinated information, including nonexistent references or technical claims, will receive a score of zero.
Extenuating circumstance
At the discretion of the instructor, an extenuating circumstance (e.g., extreme medical emergency, family death, etc.) may be considered for exception(s) to course policy. Prior arrangement with the instructor and applicable official documentation of the circumstance are required.
Academic honesty
Although students are strongly encouraged to talk with each other and with the instructor to learn course material, each student must individually complete homework and quizzes. Copying assignments (including programs where various changes are made to make them “different”) from any source (including internet sources and generative AI) is not permitted; all students involved in such copying receive a grade of zero for copied assignments, regardless of who copied from whom. Any questions or concerns about this policy should be discussed with the instructor. All conduct in this course is governed by the academic integrity statement below. Additionally, it is expected that students respect their peers and the instructor such that no one takes unfair advantage of anyone else associated with the course.
RIT syllabus required policies
Academic accommodations statement
RIT is committed to providing academic accommodations to students with disabilities. If you would like to request academic accommodations such as testing modifications due to a disability, please contact the Disability Services Office (DSO). Contact information for the DSO and information about how to request accommodations can be found at rit.edu/dso. After a student receives academic accommodation approval, it is imperative that the student contact the instructor as early as possible to work out whatever arrangement is necessary.
Academic integrity statement
All conduct in this course is governed by the KGCOE Academic Honesty Policy, RIT Honor Code (P03.0), and RIT Student Academic Integrity Policy (D08.0).
Title IX statement
RIT is committed to providing a safe learning environment, free of harassment and discrimination as articulated in university policies. RIT’s policies require faculty to share information about incidents of gender-based discrimination and harassment with RIT’s Title IX coordinator or deputy coordinators when incidents are stated to them directly. The information you provide to a non-confidential resource, including faculty, will be relayed only as necessary for the Title IX Coordinator to investigate and/or seek resolution. Even RIT Offices and employees who cannot guarantee confidentiality will maintain your privacy to the greatest extent possible. If an individual discloses information during a public awareness event, a protest, during a class project, or advocacy event, RIT is not obligated to investigate based on this public disclosure. RIT may however use this information to further educate faculty, staff, and students about prevention efforts and available resources. Title IX rights and resources at RIT, including links for non-confidential reporting of an incident of gender-based discrimination and/or harassment, as well as for confidential discussion of a concern about them, can be found at rit.edu/fa/compliance/content/title-ix.