Course: Cloud and Distributed Computing

Project ID
Project Categories
This course is meant to introduce graduate students at the University of Mississippi to concepts and tools related to cloud and distributed computing today. In addition to reading and discussing academic papers in the subject area every week, students are also expected to implement a significant class project. The principal goal of the project is to get some initial experience in cloud computing environments. A small number of students (no more than six or seven) will likely want to use FutureGrid resources for their project.

Course Dates: This class has just begun, and students must complete their projects by December 10, 2013. Extension: 1 month for students with programming in-completes.

Course Syllabus:

Cloud and Distributed Computing

ENGR 691 Section 62 Fall 2013 MWF 10-11 Weir 106 (but may move)

Instructor Dr. Philip Rhodes Office Hours Weir 205 MW 11-12, 1-2 And by appointment


Many of us store large numbers of files and documents using cloud storage, taking advantage of their enormous storage capacity and wide availability across multiple devices. Companies use similar services, and also use cloud computing to perform massive amounts of computation. Cloud computing is really just a variant of distributed computing, in which many separate machines communicate and coordinate to accomplish a particular task.

Cloud users don’t have to buy the hardware required for storage and computation, but instead simply rent the capacity from the provider when it is needed. This low cost and flexible model has made cloud computing an astonishingly popular technology in recent years, but it presents its own set of challenges and tradeoffs. We’ll examine fundamental design issues, including reliability, performance, privacy, and security.


This course will be a discussion format. Readings will be assigned each week, and a member of the class will be chosen at random to lead the discussion for each class session. Keeping up with the readings will ensure that you are able to competently lead the discussion when your turn comes around.

An important part of the course will be the completion of a final project. The final project includes implementation, report, and presentation components, and should be a significant effort. It is therefore important that you begin thinking about the topic of your project early, and begin work as soon as practical. It’s always a shame when you find yourself in the middle of an interesting project, but without enough time to accomplish as much as you’d like.


Evaluation of performance will be based upon the project, two tests, and class participation. One or two assignments may also be given. You may elect not to take the final exam, in which case your grade for the course will be determined by the remainder of your course work.

Project 50%

Midterm 20%

Final 20%

Participation 30%

Professional Conduct All students in CSCI 691 are expected to conduct themselves in a professional manner according to the Honor Code of the School of Engineering found at the Information Technology Appropriate Use Policy, found at the M Book, and any other relevant policies. Student Disabilities Services Statement "It is the responsibility of any student with a disability who requests a reasonable accommodation to contact the Office of Disability Services (915-7128). Contact will then be made by that office through the student to the instructor of this class. The instructor will then be happy to work with the student so that a reasonable accommodation of any disability can be made."

Use of FutureSystems
Students will use FG to implement projects that will be their initial experience with cloud computing. Ideally, each student will choose a particular environment and implement one (or several smaller ) programs that demonstrate the power of the technology.
Scale of Use
This is a very small graduate level course. Not all students will necessarily use FG, since we have other options available. Six or seven FG users is the most we will see. Of those users, resource use need not be very high. If students must be capped at some maximum number of nodes, that should be no problem.