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.
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 relevent research project. It will exploit the MOC as well as public clouds (Amazon AWS, Microsoft Azure, Google, IBM, ...)
This course will give students:
- understanding of key cloud computing technologies and 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)
- Peter Desnoyers (p.desnoyers at northeastern dot edu)
- Michael Daitzman (msd at bu dot edu)
- Ata Turk (ataturk at bu dot edu)
This course assumes students have a strong programming background. You will have difficulty 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.
Some example final demos:
- Visualizing MBTA Performance
- Cloud Scheduler for Next Generation DataCenters
- Adding Trusted Platform Module support to OpenStack