Skip to content
Free Course

Data Visualization and D3.js


Communicating with Data

About this Course

Learn the fundamentals of data visualization and practice communicating with data. This course covers how to apply design principles, human perception, color theory, and effective storytelling to data visualization. If you present data to others, aspire to be an analyst or data scientist, or if you’d like to become more technical with visualization tools, then you can grow your skills with this course.

The course does not cover exploratory approaches to discover insights about data. Instead, the course focuses on how to visually encode and present data to an audience once an insight has been found.

This course is part of the Data Analyst Nanodegree.

Course Cost
Approx. 7 weeks
Skill Level
Included in Product

Rich Learning ContentRich Learning Content

Interactive QuizzesInteractive Quizzes

Taught by Industry ProsTaught by Industry Pros

Self-Paced LearningSelf-Paced Learning

Course Leads

Ryan Orban

Ryan Orban


Chris Saden

Chris Saden


Jonathan Dinu

Jonathan Dinu


What You Will Learn

Prerequisites and Requirements

Regardless of your programming background, you can learn about data visualization and design principles in Lesson 1a and Lesson 2a without the following recommended background.

To succeed in this course, you should to be familiar with basic programming principles, including data types (strings, arrays, booleans, etc.), if else statements, and for loops. You should also be able to describe concepts like functions and objects. Our Intro to Computer Science and Programming Fundamentals with Python courses are great places to get started.

Basic knowledge of HTML and CSS (structuring and styling a web page) is not required but highly recommended. We suggest taking the Intro to HTML and CSS course if you have no experience with HTML or CSS.

This course is unique in that the final project can be completed using either dimple.js or d3.js. The visualization library, dimple.js, is easier to use than d3.js and requires less background knowledge. Furthermore, a graphic can be created in considerably fewer lines of code using dimple.js as opposed to d3.js.

So why should you learn d3.js?

Data Driven Documents (d3.js) allows you to build highly customized graphics. If you would like to gain more technical skills and learn more about Javascript and open web standards, then you should complete Lesson 3 and Lesson 4 in order to prepare for the final project.

If you would like to complete the final project using d3.js, you should have some experience reading and using documentation. For example, you should be able to code a for loop in Javascript or be able to look up the syntax to work with strings and arrays in Javascript. We recommend taking the Javascript Basics course if you have little to no experience with Javascript.

See the Technology Requirements for using Udacity.

Why Take This Course

Learn by doing! You will analyze existing data visualization and create new ones to learn about the field. At it’s core, data visualization is a form of communication. Learn how to be a great communicator and how to enable readers to walk away from your graphics with insight and understanding. This course also makes use of open web standards (HTML, CSS, and SVG) to create data visualizations.

You can also learn how to...

  • communicate clearly with the best visual representation of your data
  • tell stories, spark discussion, and create calls to actions for readers
  • design graphics like ones from the NYTimes and other media companies
  • how to use open web technologies to create an online portfolio of your work
  • use visualization libraries (dimple.js and D3.js) to create graphics
What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals