Learn Programming by Making Visualizations
// David Miller
Making interactive visualizations is an exciting way to also learn computer programming. That’s what Obama did. You can learn both programming and visualization skills in two ways: (a) though web devevelopment and (b) through data analysis.
- Data analysis: Use packages in R and Python to create visualizations that are less customizable, but still cover many common uses.
Table of pros and cons here: Web development: Highly customizable, Data analysis:
Columns: description, flexibility, development time, learning time, what skills you will pick up, core technologies/languages.
As detailed above, each route has its pros and cons, but both involve learning some computer programming. If you haven’t programmed before, then great! Making visualizations is a fun way to learn. If you have programmed, then making visualizations will extend both your programming and communication skills.
When learning visualization skills, I found many great individual blog posts and tutorials, but struggled in finding a curriculum that pieced together all of these learning resources. Hence, my blog will take will take a more “meta” approach that will outline various learning pathways and direct you to relevant resources.
- CodeSchool’s course on Chrome DevTools: I highly highly highly recommend that you learn how to use a web development environment like Chrome DevTools or Firebug before getting deep into making visualizations. I didn’t myself, which was a rookie mistake that I now regret. Like Codecademy’s courses, CodeSchool’s course on DevTools is interactive and I also highly recommend it.
- Chapter 3 from Scott Murray’s book: Provides a brief, highly accessible overview of core web development technologies. It’s a fairly dense summary though, so I recommend using it as a “reference guide” for when you get deeper into more specific topics.
Think I’ve missed a route for learning interactive data visualization? Tell me so in the comments!
||Who will be most interested
Learning to create even a simple histogram can take time, but you develop invaluable web and programming skills along the way. The potential for creating new types of graphics is almost limitless. Data might need to be preprocessed or analyzed first in R/Python.
|People aiming to…
- learn computer programming skills more generally
- develop user design and web development experience
- create novel and highly customizable visualizations
||Use packages such as ggvis and rCharts to create visualizations in R and Python that are less customizable, but still cover many common uses.
You can create sexy interactive graphics with just a few lines of codes, but will be limited by the libraries’ pre-existing chart types (e.g., bar charts). However, the much quicker development time is attractive, especially if you already know R/Python.
|People aiming to…
- create interactive graphics rapidly with less concern for customizability
- learn the most important languages to the data science community (R & Python)
- extend existing familiarity with R/Python