We will cover the following topics:
- Software-defined networks (SDN)
- Programmable networks
- Big data systems
- Cloud storage
The class is graded as follows:
- Project (45%)
- Proposal (5%)
- Checkpoints (10%)
- Midterm presentation (10%)
- Poster presentation (10%)
- Final paper (10%)
- Paper reviews (30%)
- Final exam (10%)
- Two assignments (10%)
- Participation (5%)
The project is a main component of this course. The goal is to eihter build a functional system or conduct high-quality novel research related to cloud computing that, by the end of the semester, would be publishable as a paper in a top-quality workshop like HotNets or HotCloud, and when expanded to a full paper would be publishable in a top-quality conference. You may work in groups of 2 to 4 people. The steps in the project are as follows:
- Project proposal: During the first month of the class, you should think about the topic you want to work on and find partners. You are welcome (and encouraged) to explore your own ideas. However, you can also talk with the instructor who will suggest some topics (you need to set an appointment). Submit a project proposal as a private note on Piazza. The proposal should be at most one page and inlcude each of the following:
The proposal can be short. It should simply demonstrate that you have a plausible project and know how to attack it. The instructor will give a grade for the proposal, and either approve the project or ask for a revision.
- the problem you plan to address
- what will be your first steps to attack the problem
- what is the most closely related work, with either (a) citations of at least 2 similar systems (if you are building a system), or (b) at least 3 academic paper citations (if you are working on a research project). You should explain why your proposed problem is different than those or why your proposed solution is better. You should actively search for related work, not just cite systems and papers that the instructor mentions.
- Who the people on your team are and how you plan to partition the work among the team
- Checkpoints: Each project should have a website. We will have a lab to demonstrate how to build this. Every two weeks from the date that you submit your proposals, each team should post a status report on its website describing the progress since the last checkpoint and each member's contribution.
- Midterm presentation: Give a presentation in class describing what problem you are solving, why existing approaches will not solve your problem, your solution approach, and your progress in your solution. You must demonstrate progress in your solution.
- Final paper: This is a short paper suitable for submission to a workshop. It should clearly state the system being built or the problem being solved, its importance, related work, your approach, evaluation, and results, conclusion, discussion of limitations, and future work. The paper should be at most 8 pages. But you will be judged on results, not pagecount!
- Poster presentation: At the end of the course, during the final exam period, we will have a poster session. This will be an opportunity for the instructor to ask questions about your project, and also for other students and faculty in the department to see the cool work that you've done.
Dates for the above steps will be announced on Piazza. In general, you are encouraged to meet with the instructor and seek advice on the project as often as you like.
Can a project be shared with another course's project or independent research?
It is OK, and often a good idea, to work on a class project that complements your other ongoing projects and has a related topic. However, you should identify the piece of the larger project that you are working on for this course, with separate pieces for other courses. Check with your other instructors as well.
For each class, we will have one assigned paper that you should read prior to class and be ready to discuss during the class. You should submit one paper review for each class on Pizza publicly (so that it is visible to the instructor and other students) by 5:00pm the day before the lecture for which the paper was assigned.
This review should be relatively short (about one paragraph). It should not summarize the paper or repeat it; we have all read the paper already. Instead your review should inlcude at least two comments on the paper that supply information not in the paper itself. For example, a comment might be:
- a suggestion to build on or extend the paper's ideas in future work
- a criticism of the paper
- an advantage of the paper (not discussed in the paper)
- an alternative solution for the solutions discussed in the paper
- a response to another student's comment
You are encouraged to read and comment on the other students' reviews. However, please write down notes on your own thoughts independently prior to reading other students' reviews.
Collaborating with other students to write reviews is not permitted. Your reviews should ideally include original ideas that do not appear in the other students' reviews. However, If you independently make similar points, that is acceptable.
Each review will be given a score in the [0,2] range. We will ignore the 2 lowest paper review grades which means that you may skip any 2 paper reviews without affecting your grade. You will receive a deduction of one letter grade for missing more than 2 reviews.
There will be 2 assignments during the semester which includes introducing several tools for experimental research in cloud computing and written questions covering roughly the first 1/3 and 2/3 of the course. You may work alone or in groups of 2 for assignments.
For reviews, assignemnts, and project milestons: up to 24 hours, 30% deduction, with no submissions accepted past 24 hours late.
We accommodate special medical circumstances, such as death in the family or hospitalization, with appropriate documentation. We cannot accommodate excuses such as "My laptop died".
You are expected to attend all sessions of the class. The general policy is that a student will automatically receive a deduction of one letter grade for missing more than 2 lectures.
Class sessions combine lectures, discussions of reading, and presentations by students. In all cases, the class is focused around discussion. Please comment, question, and interact! I ask that you do not use laptops during class
. This way, we will all be maximally engaged.
There will be a final exam covering all the topics we discuss in the course as well as the papers that you review.
Hopkins Disability Accommodations
We are committed to providing access for all qualified students, including those with disabilities. For more information, you are encouraged to review the guidelines here
and to contact the Office of Institutional Equity.
Academic Honesty and Cheating
The author of all writing, ideas, and other work must be clearly credited. For example, if your presentation of a past paper uses some slides from the author, you must credit the author.
The standard penalty for a first instance of cheating is a grade of zero on the assignment in question, plus a reduction of one full letter grade in your final course grade.
For details, please see the departmental honor code