The course will combine group reading and discussion of influential publications in cloud computing, some lectures by instructor and by invited speakers, independent review of talks coupled with classroom discussion, and a large project.
For the most part, the course will be flipped, with most of the material independently studied, and then group discussion of the material.
The project will be done by teams of 3 to 5 students working with a mentor; depending on the project an industry leader and/or developer with a relavent project, or a senior graduate student or a postdoc working on a relavent research project. It will exploit the MOC as well as industry clouds (Amazon AWS, Microsoft AWS, Rackspace, ...)
Course will give students:
- understanding of cloud computing at the IaaS level in general, and open stack in particular
- an understanding of key Big Data platforms
- understanding and experience with working as part of an agile team, with experience in running and participating in scrums, planning sessions, ...
- extensive experience with github, agile tools, and various technologies specific to the projects students take on
- an artifact that they will have developed that, if successful, will be part of a broader initiative
- Orran Krieger (okrieg at bu dot edu) Office Hours: Tue 10:00 - 12:00 and Thu 10:00 - 12:00 @ 3 Cummington, either room 451 (lab) or 587 (office),
- Ata Turk (ataturk at bu dot edu) Office Hours: Tue 10:00 - 11:00 and Thu 10:00 - 11:00 @ 3 Cummington, room 593G,
- Peter Desnoyers (pjd at ccs dot neu dot edu)
- Michael Daitzman (michael.daitzman at vecna dot com)
- Raja Sambasivasan,
This course assumes students have a strong programming background. You will have substantial problems completing the projects if you don't have signficant programming experience, and we strongly suggest that you avoid this course, or at least come talk to the instructors if you have any concerns.
For BU EC students/grads: Undergrads must have taken EC327 or equivalent and preferably another software course, EC330 or EC440, before taking this course. Graduate students must have taken a rigorous programming class recently, such as EC504 or equivalent (or have major software design experience in industry).
For BU CS students/grads: This course assumes students have a strong programming background. Undergrads must have taken CS350 Operating Systems (preferably CS552 as well), CS 460 Database Systems (preferably CS562 as well), and CS 455 Computer Networks (preferably but not must) courses. Graduate students must have taken a rigorous programming class recently, (or have major software design experience).
Each week we will be covering on average two research papers and one practitioner paper or other teaching material. You will be expected to read, review and discuss. These papers will likely require that you find and read additional material as necessary to ensure your comprehension. Do not underestimate the amount of work this can be. You will be required to submit a written review of the papers prior to class. You will also be expected to actively participate in the in class discussion. Each student is expected to lead one more of the class discussions by summarizing the paper and seeding discussions with questions and observations based on the paper.
In addition, to the weekly papers, there will be a major project. This will be teams of 3 to 5 students, starting from the course beginning, with a mentor, from industry, senior graduate student, or one of the instructors.
The project is due by the end of the exam week. The project presentations will be given in the form of a final poster and a demo. There will also be demos scheduled throughout the course to demonstrate regular progress.
The list of projects for this term (more to be added here):
- Automated Pull Requests
- Scheduling Internals in Kubernetes
- RBAC Check in Middleware
- Security and Compliance Scanning for Containers
- Cloud DevOps Resources
- Cloud Dataverse
- Cloud Datacenter Scheduling and Resource Allocation: Integrating HIL and QUADS in MOC
- OpenStack Networking Plugins: Optimizing Performance
- Radiology in the Cloud
- Tracing Openstack
- Aircraft Engine Predictive Maintenance Project
- Replicating Data Science Models in the Cloud
- OpenStack Network Plugins Development
- Location-aware computing in the hybrid cloud
- Integrating BMI into QUADS
Check out an example demos from previous years to get a feel of what is required from you in this year's demos.
Some example final demos:
- Visualizing MBTA Performance
- Cloud Scheduler for Next Generation DataCenters
- Adding Trusted Platform Module support to OpenStack
- paper discussions, summaries, and reviews (written and verbal) 30%
- project proposal 10%
- bi-weekly project demo and verbal status in aggregate 30%
- final project result and report 30%
There is no final exam.
Evaluation of project will involve evaluation of demo, poster, code reviews, weekly review of agile progress, and mentor and project partner reviews.
This syllabus can change as the course progresses, so please check back frequently to see what we will cover next.
The first two weeks we will do course intro, agile methods, and project pitches, as well as some paper reviews. After that. each week we will cover two papers or talks on cloud computing, one discussion topic on agile development or have a speaker about a recent cloud technology, and spend one hour on demos from a subset of the projects. Project teams will be expected to give a demo every second week.Course calendar: Course Lectures: