Key Information
About the content
Welcome to the Cloud Computing Applications course, the second part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data! In this second course we continue Cloud Computing Applications by exploring how the Cloud opens up data analytics of huge volumes of data that are static or streamed at high velocity and represent an enormous variety of information. Cloud applications and data analytics represent a disruptive change in the ways that society is informed by, and uses information. We start the first week by introducing some major systems for data analysis including Spark and the major frameworks and distributions of analytics applications including Hortonworks, Cloudera, and MapR. By the middle of week one we introduce the HDFS distributed and robust file system that is used in many applications like Hadoop and finish week one by exploring the powerful MapReduce programming model and how distributed operating systems like YARN and Mesos support a flexible and scalable environment for Big Data analytics. In week two, our course introduces large scale data storage and the difficulties and problems of consensus in enormous stores that use quantities of processors, memories and disks. We discuss eventual consistency, ACID, and BASE and the consensus algorithms used in data centers including Paxos and Zookeeper. Our course presents Distributed Key-Value Stores and in memory databases like Redis used in data centers for performance. Next we present NOSQL Databases. We visit HBase, the scalable, low latency database that supports database operations in applications that use Hadoop. Then again we show how Spark SQL can program SQL queries on huge data. We finish up week two with a presentation on Distributed Publish/Subscribe systems using Kafka, a distributed log messaging system that is finding wide use in connecting Big Data and streaming applications together to form complex systems. Week three moves to fast data real-time streaming and introduces Storm technology that is used widely in industries such as Yahoo. We continue with Spark Streaming, Lambda and Kappa architectures, and a presentation of the Streaming Ecosystem. Week four focuses on Graph Processing, Machine Learning, and Deep Learning. We introduce the ideas of graph processing and present Pregel, Giraph, and Spark GraphX. Then we move to machine learning with examples from Mahout and Spark. Kmeans, Naive Bayes, and fpm are given as examples. Spark ML and Mllib continue the theme of programmability and application construction. The last topic we cover in week four introduces Deep Learning technologies including Theano, Tensor Flow, CNTK, MXnet, and Caffe on Spark.
Syllabus
WEEK 1 : Course Orientation
You will become familiar with the course, your classmates, and our learning environment. The orientation will also help you obtain the technical skills required for the course.
In Module 1, we introduce you to the world of Big Data applications. We start by introducing you to Apache Spark, a common framework used for many different tasks throughout the course. We then introduce some Big Data distro packages, the HDFS file system, and finally the idea of batch-based Big Data processing using the MapReduce programming paradigm.
WEEK 2 : Large Scale Data Storage
In this module, you will learn about large scale data storage technologies and frameworks. We start by exploring the challenges of storing large data in distributed systems. We then discuss in-memory key/value storage systems, NoSQL distributed databases, and distributed publish/subscribe queues.
WEEK 3 : Streaming Systems
This module introduces you to real-time streaming systems, also known as Fast Data. We talk about Apache Storm in length, Apache Spark Streaming, and Lambda and Kappa architectures. Finally, we contrast all these technologies as a streaming ecosystem.
WEEK 4 : Graph Processing and Machine Learning
In this module, we discuss the applications of Big Data. In particular, we focus on two topics: graph processing, where massive graphs (such as the web graph) are processed for information, and machine learning, where massive amounts of data are used to train models such as clustering algorithms and frequent pattern mining. We also introduce you to deep learning, where large data sets are used to train neural networks with effective results.
Prerequisites : This course is intended for practitioners. We introduce a wide range of Big Data technologies and frameworks that are very commonly used across computer industry. We assume you are familiar with some programming language (such as Python or Java), and are now interested to take your knowledge to the next step by leveraging "frameworks" that do much of the heavy lifting involved in distributed Big Data systems. Most of the code snippets introduced in the lectures can be read as pseudocode.
Instructors
Reza Farivar
Data Engineering Manager at Capital One, Adjunct Research Assistant Professor of Computer Science
Department of Computer Science
Roy H. Campbell
Professor of Computer Science
Department of Computer Science
Content Designer

Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.
Introduces major Big data technologies and products and their use-cases. There are some "rough edges" as this course has clearly been built from videos from former courses, and as usual with Coursera - there are numerous errors in the subtitles/transcripts, Problematic if you're deaf or find following spoken English difficult. Still - the lecturers are very enthusiastic and you can see that they really tried hard to explain the Big data technologies - so 4 stars rounded to 5.


This course is only informative. It provides good information of current big data technology and tool. It would be good if course also provide some assignment to complete so that course gives some hands on on technology.

Introduces major Big data technologies and products and their use-cases. There are some "rough edges" as this course has clearly been built from videos from former courses, and as usual with Coursera - there are numerous errors in the subtitles/transcripts, Problematic if you're deaf or find following spoken English difficult. Still - the lecturers are very enthusiastic and you can see that they really tried hard to explain the Big data technologies - so 4 stars rounded to 5.

The course was focused too much on theory. It didn't have any programming assignments, which made the course less interesting.

The content is very good, the course gives a wide overview on the topics. On the other hand for me it was a bit slow and found many repetitions in the course videos, the exams could have been harder and could have helped to deepen understanding a bit more. I was lacking the programming assignments, as well.

This course is really useful to get an overview of the cloud technologies if you are ether curious know what's out there, or if you are trying to determine which technologies you should focus on for the problem you are trying to solve. I believe the course is a lot more relevant if you tried out some cloud framework (i.e. play with one of the Docker or Vagrant VM demos) The lecturers are clear, and the audio and slides are of good quality. One of the most valuable pieces of information from this course (that you cannot easily discern from reading documentation on each framework) is how the lectures link strengths or weaknesses in a technology or algorithm to its inner-workings. One small nitpick is that the quiz questions could be improved. A lot of them is regurgitation of definitions (or regurgitation of the order of bullet points in a slide somewhere), rather than analytical style questions that require the user to think of the concepts. The end result is that the quizzes are very easy but not valuable. I assume this course had assignments before, but they appear to have been removed.