UVa Spring 2014
CS4501 Cloud Computing |
The "Cloud" is many things. To businesses, it can be a way
to scale their information systems without needing to buy a huge number of
servers. To Wall Street, it is the next Big Thing in tech. To scientists, it can
be the way to analyze their terabytes of data. To the average person, it can be
a way to store and access their information from any device at any time.
In this class, we will investigate
Cloud Computing from all of these perspectives. In
short, we are interested both in how these cloud
systems are designed/built
and
how
they are used.
The goals for the class are:
Investigate virtualization, as it is an essential underpinning of cloud platforms.
Investigate the architectural foundations of the various cloud platforms -- i.e., Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS)
Investigate current state of the art of cloud research, particularly as it pertains to major open-source cloud frameworks such as Eucalyptus and OpenStack.
Investigate the architectures of major cloud-based systems such as Facebook.
Gain first-hand experience using major cloud platforms including Amazon Web Services, Google App Engine, Microsoft Windows Azure, Heroku, and/or others.
Gain first-hand experience with major cloud data frameworks
("Big Data"!) including
Hadoop.
This class will emphasize hands-on
experience via programming assignments.
It is anticipated that assignment will be using Java, C#,
Python, and/or Ruby.
Instructor | Marty Humphrey |
Office | Rice Hall 307 |
My office hours | TBD |
humphrey AT cs.virginia.edu | |
Class Meeting Time | Mon/Wed 3:30-4:45 in Olsson Hall 120 |
WWW | https://s3.amazonaws.com/uva-cloud-class/index.html |
Prerequisites | CS 2150 (Program and Data Representation) |
Textbook | None |
Coursework (subject to change before Jan 15 2014)
What | When / How Many | Weight |
Readings (Web) | Every class | |
Class participation | Every class | 10% |
Programming Assignments | 4-6 | 50% |
Midterm Exam | midpoint of class | 20% |
Final Exam | During exam week -- time/day set by registrar | 20% |
More Details
It is highly recommended, but not mandatory, that students attend every class.
Assignments are due at the beginning of class on the day that the assignment is due. For each 24 hours that your assignment is late, 10% will be deducted. For example, if an assignment is due Fri at 5pm, and you submit it to Collab at 7pm Sat, 20 points will be deducted. No assignment will be accepted more than 72 hours (3 days) after the due date.
The course will be conducted according to the UVA honor system. Homeworks and exams are to be completed by the individual. I expect a signed honor pledge on all homework, quizzes, and exams; more importantly, I expect you to adhere to the intent of the pledge. Cooperative efforts at understanding the material and the assignments of the course are encouraged. For the programming projects, the algorithms and programs submitted by a group must be fully developed and written by the group submitting them. Each written homework must be developed and written only by the student submitting it.
Do NOT wait until the last minute to do the readings and / or the project. In any software project, you must anticipate and plan for unexpected events (such as a machine crashing at an inopportune time).
If you are having difficulty with a particular concept of the class, please let me know. If you don't understanding something, there's a good chance that others in the class are confused as well.
It is required (out of courtesy for your fellow
classmates) that cell phones and other neat devices be turned off before
entering class. This requirement is based on a resolution passed by the
student council.
Laptops are permitted in class
but I retain the right to ask you to turn it off and put it away,
particularly if (a) they're being used for non-CS4501 purposes or (b)
they're distracting other students.