When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales.
In this course, you will learn the landscape of relevant systems, the principles on which they rely, their tradeoffs, and how to evaluate their utility against your requirements. You will learn how practical systems were derived from the frontier of research in computer science and what systems are coming on the horizon. Cloud computing, SQL and NoSQL databases, MapReduce and the ecosystem it spawned, Spark and its contemporaries, and specialized systems for graphs and arrays will be covered.
You will also learn the history and context of data science, the skills, challenges, and methodologies the term implies, and how to structure a data science project. At the end of this course, you will be able to:
Learning Goals:
1. Describe common patterns, challenges, and approaches associated with data science projects, and what makes them different from projects in related fields.
2. Identify and use the programming models associated with scalable data manipulation, including relational algebra, mapreduce, and other data flow models.
3. Use database technology adapted for large-scale analytics, including the concepts driving parallel databases, parallel query processing, and in-database analytics
4. Evaluate key-value stores and NoSQL systems, describe their tradeoffs with comparable systems, the details of important examples in the space, and future trends.
5. “Think” in MapReduce to effectively write algorithms for systems including Hadoop and Spark. You will understand their limitations, design details, their relationship to databases, and their associated ecosystem of algorithms, extensions, and languages.
write programs in Spark
6. Describe the landscape of specialized Big Data systems for graphs, arrays, and streams
Understand the terminology and recurring principles associated with data science, and understand the structure of data science projects and emerging methodologies to approach them. Why does this emerging field exist? How does it relate to other fields? How does this course distinguish itself? What do data science projects look like, and how should they be approached? What are some examples of data science projects?
What's included
22 videos4 readings1 programming assignment
Show info about module content
22 videos•Total 125 minutes
Appetite Whetting: Politics•6 minutes
Appetite Whetting: Extreme Weather•2 minutes
Appetite Whetting: Digital Humanities•8 minutes
Appetite Whetting: Bibliometrics•4 minutes
Appetite Whetting: Food, Music, Public Health•5 minutes
Appetite Whetting: Public Health cont'd, Earthquakes, Legal•4 minutes
Characterizing Data Science•5 minutes
Characterizing Data Science, cont'd•6 minutes
Distinguishing Data Science from Related Topics•4 minutes
Supplementary: Resources for Learning Python•10 minutes
Supplementary: Class Virtual Machine•10 minutes
Supplementary: Github Instructions•10 minutes
1 programming assignment•Total 180 minutes
Twitter Sentiment Analysis•180 minutes
Relational Databases and the Relational Algebra
Module 2•5 hours to complete
Module details
Relational Databases are the workhouse of large-scale data management. Although originally motivated by problems in enterprise operations, they have proven remarkably capable for analytics as well. But most importantly, the principles underlying relational databases are universal in managing, manipulating, and analyzing data at scale. Even as the landscape of large-scale data systems has expanded dramatically in the last decade, relational models and languages have remained a unifying concept. For working with large-scale data, there is no more important programming model to learn.
The MapReduce programming model (as distinct from its implementations) was proposed as a simplifying abstraction for parallel manipulation of massive datasets, and remains an important concept to know when using and evaluating modern big data platforms.
What's included
26 videos1 programming assignment
Show info about module content
26 videos•Total 122 minutes
What Does Scalable Mean?•6 minutes
A Sketch of Algorithmic Complexity•5 minutes
A Sketch of Data-Parallel Algorithms•5 minutes
"Pleasingly Parallel" Algorithms•4 minutes
More General Distributed Algorithms•4 minutes
MapReduce Abstraction•5 minutes
MapReduce Data Model•4 minutes
Map and Reduce Functions•3 minutes
MapReduce Simple Example•4 minutes
MapReduce Simple Example cont'd•3 minutes
MapReduce Example: Word Length Histogram•3 minutes
Simple Social Network Analysis: Counting Friends•4 minutes
Matrix Multiply Overview•6 minutes
Matrix Multiply Illustrated•4 minutes
Shared Nothing Computing•5 minutes
MapReduce Implementation•5 minutes
MapReduce Phases•6 minutes
A Design Space for Large-Scale Data Systems•5 minutes
Parallel and Distributed Query Processing•6 minutes
Teradata Example, MR Extensions•5 minutes
RDBMS vs. MapReduce: Features•7 minutes
RDBMS vs. Hadoop: Grep•6 minutes
RDBMS vs. Hadoop: Select, Aggregate, Join•3 minutes
1 programming assignment•Total 180 minutes
Thinking in MapReduce•180 minutes
NoSQL: Systems and Concepts
Module 4•3 hours to complete
Module details
NoSQL systems are purely about scale rather than analytics, and are arguably less relevant for the practicing data scientist. However, they occupy an important place in many practical big data platform architectures, and data scientists need to understand their limitations and strengths to use them effectively.
What's included
36 videos
Show info about module content
36 videos•Total 166 minutes
NoSQL Context and Roadmap•4 minutes
NoSQL Roundup•4 minutes
Relaxing Consistency Guarantees•4 minutes
Two-Phase Commit and Consensus Protocols•6 minutes
Eventual Consistency•5 minutes
CAP Theorem•4 minutes
Types of NoSQL Systems•4 minutes
ACID, Major Impact Systems•5 minutes
Memcached: Consistent Hashing•3 minutes
Consistent Hashing, cont'd•5 minutes
DynamoDB: Vector Clocks•5 minutes
Vector Clocks, cont'd•5 minutes
CouchDB Overview•4 minutes
CouchB Views•4 minutes
BigTable Overview•5 minutes
BigTable Implementation•6 minutes
HBase, Megastore•4 minutes
Spanner•6 minutes
Spanner cont'd, Google Systems•6 minutes
MapReduce-based Systems•5 minutes
Bringing Back Joins•5 minutes
NoSQL Rebuttal•5 minutes
Almost SQL: Pig•5 minutes
Pig Architecture and Performance•3 minutes
Data Model•4 minutes
Load, Filter, Group•6 minutes
Group, Distinct, Foreach, Flatten•6 minutes
CoGroup, Join•3 minutes
Join Algorithms•4 minutes
Skew•5 minutes
Other Commands•3 minutes
Evaluation Walkthrough•4 minutes
Review•6 minutes
Context•3 minutes
Spark Examples•5 minutes
RDDs, Benefits•6 minutes
Graph Analytics
Module 5•2 hours to complete
Module details
Graph-structured data are increasingly common in data science contexts due to their ubiquity in modeling the communication between entities: people (social networks), computers (Internet communication), cities and countries (transportation networks), or corporations (financial transactions). Learn the common algorithms for extracting information from graph data and how to scale them up.
What's included
21 videos
Show info about module content
21 videos•Total 91 minutes
Graph Overview•6 minutes
Structural Analysis•4 minutes
Degree Histograms, Structure of the Web•4 minutes
Connectivity and Centrality•5 minutes
PageRank•4 minutes
PageRank in more Detail•3 minutes
Traversal Tasks: Spanning Trees and Circuits•5 minutes
Traversal Tasks: Maximum Flow•2 minutes
Pattern Matching•6 minutes
Querying Edge Tables•4 minutes
Relational Algebra and Datalog for Graphs•5 minutes
Since our founding in 1861, the University of Washington has been a hub for learning, innovation, problem solving and community building. Driven by a mission to serve the greater good, our students, faculty and staff tackle today’s most pressing challenges with courage and creativity, making a difference across Washington state — and around the world.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.3
773 reviews
5 stars
56.97%
4 stars
25.19%
3 stars
8.91%
2 stars
4.78%
1 star
4.13%
Showing 3 of 773
H
HA
5·
Reviewed on Jan 10, 2016
Great course that strikes a balance between teaching general principles and concepts, and providing hands-on technical skills and practice.The lessons are well designed and clearly conveyed.
D
DK
5·
Reviewed on Jan 23, 2016
Good! I like the final (optional) project on running on a large dataset through EC2. The lectures aren't as polished and compact as they could be but certainly a very valuable course.
W
WE
4·
Reviewed on Oct 3, 2016
Definitely need some background in R or Python and the lectures are a bit old. Seem to be from around 2013 when this first came out but most of the info is still relevant.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.