Schedule
BU: Tue, Thu 12:00-2:00pm @ PHO211 at BUNU: Tue, Fri 13:35-3:15pm @ 108 West Willage H (440 Huntington Ave)
Invited talks and Agile Development Lectures: Tue, 2:00-3:00pm @ CAS211 at BU
Announcements
Links
As part of the class, we will be using and referring to:
- Click here for current schedule, this will be changing all the time, so check this frequently.
- Click here for the list of projects.
- Piazza (used for paper reviews and class discussions)
Course Outline
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
Instructors
- Orran Krieger (okrieg at bu dot edu) Office Hour: Tue 10:00 - 11:00 and Thu 10:00 - 11:00 @ 3 Cummington, room 451,
- Peter Desnoyers (pjd at ccs dot neu dot edu) Office Hours: Tue 10:00 - 11:00 and Thu 10:00 - 11:00 @ 334 West Village H, Northeastern
- Ata Turk (ataturk at bu dot edu) Office Hour: Tue 10:00 - 11:00 and Thu 10:00 - 11:00 @ PHO404 or PHO422,
- Michael Daitzman (michael.daitzman at vecna dot com), Office Hour: Thursday 14:00 - 16:00 @ PHO404 or PHO422,
- Jason Hennessey (henn at bu dot edu) Office Hour: Wed 14:00 - 16:00 @ 3 Cummington, room: 553 or 451
Prerequisites
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).
For Northeastern students: This course assumes students have a strong programming background. In particular, MS students should have taken CS 5010, PDP. Industrial programming experience will be helpful, but is not required.
Workload
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.
Projects
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 are:
- Automated Release Notes
- Network traffic collection in the MOC
- Lambda on OpenStack or “Functions as a Service
- Seamless migration between Bare Metal and VMs with OpenStack
- Hybrid cloud services model
- Network Function Containerization
- Container Code Classification
- Learning Analytics
- Cloud Gateway
- Network Programmability as a Cloud Service
- Building a Network Marketplace with XIA
- Flink on Apache Bigtop
- K8PetStore: Deploying a data driven app on Kubernetes with autoscaling
- Cloud Resource Library
- ElasticTest Development
- Cloud and SDN Orchestration
- Adding Trusted Platform Module support to OpenStack
- Cloud Scheduler for Next Generation DataCenters - NOTE this project is mentored at Northeastern
- MOC Monitoring (MOCMon) Platform v2.0
- Magnum Kubernetes Orchestration
- Visualizing MBTA Subway Performance
- Cloud vSwitch Project
- Radiology in the cloud
- Scalable Data Provenance
- Data Provenance and Containers
- OpenDaylight Spectrometer
- Networking as a Cloud Service
- MBTA Alerts and Performance Anlaysis
There is no final exam.
Grading
- 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%
Evaluation of project will involve evaluation of demo, poster, code reviews, weekly review of agile progress, and mentor and project partner reviews.
Syllabus
This syllabus is changing 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 syllabus: