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 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: TBD @ MCS 208
- Ata Turk (ataturk at bu dot edu)
- TF: Jonathan Chamberlain jdchambo at bu dot edu
- Michael Daitzman (msd 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.click here to see a list of proposed projects
- 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, project pitches, and agile methods. We will then and start on a weekly basis covering two papers or talks on cloud computing and spend on session on demos from a subset of the projects. Project teams will be expected to give a demo every second week.Course calendar: