The course covers all aspects of the cloud architecture stack, from Software as a Service (large-scale biology and graphics applications), Platform as a Service (MapReduce (Hadoop), Iterative MapReduce (Twister) and NoSQL (HBase)), to Infrastructure as a Service (low-level virtualization technologies).
In this course you will learn basic concepts in Cloud Computing, including how to write your own software using key cloud programming models and tools to support data mining and data analysis applications.
This course uses MOOC technology (Google Course Builder) but is conducted in a more structured fashion with a mix of recorded lectures, programming labs and forum discussions. Each week we will post on Oncourse the instructions as to work to be done. Note all grading and forum discussion will use Oncourse.Register Now!
B649 Cloud Computing online is a programming intensive course. It has similar requirements to the CS graduate level residential version. Students are expected to have weekly (or biweekly) programming homework. General programming experience with Windows or Linux using Java (2-3 years) and scripts is required. A background in parallel and cluster computing is a plus, although not necessary.
At the end of this course, you will have learned key concepts in cloud computing and enough programming to be able to solve data analysis problems on your own.
The class has several projects that will allow students to get firsthand experience with the technologies taught here. Projects are performed on VirtualBox Appliances or academic clouds like FutureGrid.
|Unit 1 - Cloud Computing Fundamentals|
|Unit 2 - How to Run VMs (IaaS)|
|Unit 3 - How to Run MapReduce (PaaS)|
|Unit 4 - How to Run Iterative MapReduce (PaaS)|
|Unit 5 - How to Store Data (NoSQL)|
|Unit 6 - Internet of Things|
|Unit 7 - How to Build a Search Engine (SaaS)|
Judy Qiu is an Assistant Professor in the School of Informatics and Computing at Indiana University. Her research interests focus on data-intensive computing at the intersection of cloud and multicore technologies, with an emphasis on life science applications using MapReduce as well as traditional parallel and distributed computing approaches.
The course progress is the percentage of mandatory items completed for the course.
|Exams (50%) - Midterm (20%), Final (30%)|
|Written Assignments (10%)|
|Projects (30%) - 8 Projects: [Hadoop WordCount (5), Hadoop PageRank (5), Hadoop Blast (5), HBase WordCount (5), Building an Inverted Index (20), Pig PageRank (20), Pig K-Means (20), Build a Search Engine (20)]|
This site has been constructed with all manner of digital media in mind. Whether you use a laptop, PC, or portable device, you're free to take your courses without any difficulty. The site will adapt its look and features accordingly with no additional effort on your part. Log in on the go or at your leisure.
Lessons in this course will be uploaded on a weekly basis. The difficulty of the topics covered in these online lectures is demonstrated by way of a color coding system. 'Green' is basic, 'Yellow' is intermediate, and 'Red' is advanced. We will build up to more difficult concepts as the class progresses.
Take part in online assignments that will teach you the course material in hands-on examples. You will apply actual code designed to calculate website page ranking, word count, and even build your own search engine. More than a dry tutorial, this is your chance to find out how some of the most widely used applications on the Internet work on a fundamental level.