This document introduces D3.js, a JavaScript library for data visualization. It discusses what data visualization is, who pioneered early graphical methods, and provides examples of NY Times interactive visualizations built with D3.js. It outlines the basic flow and concepts of D3.js, including data binding, scales that normalize data to output ranges, and method chaining to link data to DOM elements. Samples and galleries of D3.js visualizations are provided for learning.