CSE356: Cloud Computing (v3)
Mondays & Tuesdays 6:05-7:25PM in Heavy Engineering 201
The goal of this course is to introduce advanced-year undergraduate students to the field of Cloud Computing. This course will explain how large-scale systems such as Google, Netflix, Wikipedia, and Twitter are built and provide students with the foundation needed to join or start a company that creates such systems.
Creating online services capable of handling millions of users requires a different mindset compared to traditional software development and deployment. Rather than building monolithic software packages from the ground up, bringing up modern online services calls for architecting systems by gluing together mature existing technologies deployed across many unreliable servers, working in concert to provide high-availability robust services. In this course, students will be exposed to the concepts and technologies behind deploying and scaling online services on the computing resources available in modern datacenters.
Students will gain theoretical and hands-on knowledge of concepts and software packages used to create modern online services. In lecture, the students will be introduced to high-level concepts of cloud computing and will receive an overview of the server software, libraries, and tools used for developing and deploying cloud applications. The concepts introduced in lecture will be reinforced by small hands-on homework assignments that put those concepts into practice. Ultimately, a final course project will have students combine these technologies to develop and deploy a robust and scalable online service on a public cloud infrastructure.
Likely course topics will include: introduction to cloud services, virtualization, paravirtualization, advanced networking, web services, server-side scripting languages and frameworks, cloud programming paradigms, cloud deployment and machine management, scale-up vs scale-out, cloud storage, cloud service topologies, message serialization and transport, load balancing, content distribution networks, machine learning, security, authentication, QoS, managing tail latencies, performance monitoring
Public cloud credits for this course are generously donated by UpCloud.
- ~10 homeworks – 20
- Warm-up Project 1 – 10 (due: Sep 21)
- Warm-up Project 2 – 10 (due: Oct 5)
- Course Project – 40 (due: Dec 5)
- Mid-term 1 – 10 (Oct 5)
- Mid-term 2 – 10 (Dec 5)
For the homeworks, you must work individually. For the projects, you may work in groups of any size, however, groups larger than two must explicitly request permission from the instructor.
If you work alone, you submit your own work. If you work with partners, you submit your assignments jointly. Whether or not you work in a group, you may discuss the assignment details, designs, debugging techniques, or anything else with anyone you like in general terms, but you may not provide, receive, or take code to or from anyone outside of your group (unmodified third-party open-source libraries and packages are permitted). The code that you submit must be your own work and only your own work. Any evidence that source code has been copied, shared, or transmitted in any way between non-partners will be regarded as evidence of academic dishonesty.
You must declare your group via the course web interface. You may change group composition for each assignment, as long as each change is announced within 5 days of that assignment’s handout.
Larger group sizes allow you to take on more challenging projects. To balance out the advantages of a larger group compared to individuals working alone, grading strictness depends on the size of the group. In the past, large groups have succeeded in submitting amazing projects. However, beware of accepting deadbeats into your group: they are likely to hurt your grade beyond repair.
Some more-specific guidelines for the assignments:
- You may not look at code from previous years of this course.
- You may not look at code from similar courses at other universities.
Assignment Hand-in Policy
All deadlines are 4:44PM on the due date. Submissions will be accepted on or after the due date. Assignments submitted after the due date will be assessed a 1-point per day penalty (multiplied by the number of group members) for each late day, in 24-hour increments.
Course Mailing List
Subscription to the course mailing list is mandatory.
This term we will be using Piazza for class discussion. The system is designed to getting you help quickly and efficiently from classmates, TAs, and the instructor. Rather than emailing questions to the teaching staff, you should post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org.
Find our class page at: https://piazza.com/stonybrook/fall2022/cse356
Critical Incident Management
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Student Conduct and Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.
Student Accessibility Support Center Statement
If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at email@example.com. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and the Student Accessibility Support Center. For procedures and information go to the following website: https://ehs.stonybrook.edu//programs/fire-safety/emergency-evacuation/evacuation-guide-disabilities and search Fire Safety and Evacuation and Disabilities.
Academic Integrity Statement
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html