I Dropped Out of School to Create My Own Data Science Master’s — Here’s My Curriculum

With the recent advances in affordable, reputable online education, going back to college/university seems irresponsible

David Venturi
6 min readApr 19, 2016


Note: I wrote this article in 2016 so the curriculum is now outdated. Find my latest course recommendations for the aspiring data pro here (updated for 2024).

I dropped out of a top computer science program to teach myself data science using online resources like Udacity, edX, and Coursera. The decision was not difficult. I could learn the content I wanted to faster, more efficiently, and for a fraction of the cost. I already had a university degree and, perhaps more importantly, I already had the university experience. Paying $30K+ to go back to school seemed irresponsible.

Here are my curriculum choices and the rationale behind them. Using thousands of course ratings and reviews from Class Central, I selected the best computer science, data science, and machine learning courses from world-class institutions like Harvard, Stanford, MIT, Berkeley, Google, and Facebook. You can read my detailed reviews for most of these courses here on Medium or on my personal website —

My curriculum covers both Python and R, which are the two most popular programming languages for data science.

Note: In May 2017, I paused my progress in this program because I joined Udacity as a Content Developer. Another benefit of personalized online education — flexibility!

Bridging Module

A solid computer science foundation

Bridging Module

Why a bridging module?

I wanted a solid computer science foundation before I started learning data science. My engineering background gave me a head start on the math and stats. Completing these three courses means I will have completed a standard first-year computer science curriculum, plus the full mathematical and statistical core.

The following courses from my undergrad chemical engineering program are also core computer science courses:

  • ✔ Linear Algebra
  • ✔ Calculus
  • ✔ Multivariable Calculus
  • ✔ Statistics I
  • ✔ Statistics II

Data Science Core

The fundamentals

Listed below are the individual courses contained within the Nanodegree. The estimated timeline for graduation is 378 hours.

Three courses from the Udacity Data Analyst Nanodegree

Why the Udacity Data Analyst Nanodegree?

First and foremost, it received stellar reviews. Second, I wanted a consistent learning experience for my introduction to the field. The Data Analyst Nanodegree offered a combination of breadth, depth, and cohesiveness that a combination of content from various providers would be hard pressed to provide. I am also a fan of their “less passive listening (no long lectures) and more active doing” approach to education.

What is a Udacity Nanodegree?

Machine Learning

Learning from data

Stanford University, TensorFlow (Google’s open source software library for machine learning), and The University of California, Berkeley

Software Engineering

Best practices

Listed below are the individual courses contained within Johns Hopkins University’s “Mastering Software Development in R Specialization” on Coursera:

Johns Hopkins University’s “Mastering Software Development in R Specialization” on Coursera

Why software engineering?

The role of software engineering in data science is covered in great detail here by Alec Smith (a data science recruiter) and here by Roger Peng (Johns Hopkins University professor and “Mastering Software Development in R Specialization” creator). A quote from the former:

A lot of data science work is software engineering. Not always in the sense of designing robust systems, but simply writing software. A lot of tasks you can automate and if you want to run experiments, you have to write code, and if you can do it fast, it makes a huge difference.

And from the Mastering Software Development in R Specialization page:

As the field of data science evolves, it has become clear that software development skills are essential for producing useful data science results and products. You will learn modern software development practices to build tools that are highly reusable, modular, and suitable for use in a team-based environment or a community of developers.

Back End Development

Storing and manipulating data

Why back end development?

This Quora page and this Udacity article suggest that back end development and data science can be a useful combination. These Udacity courses, which are the back end courses in their Full Stack Web Developer Nanodegree, along with Stanford’s top-ranked databases course, add an aspect of data engineering to the curriculum.

Additional Resources

Filling in the gaps. Suggestions welcome!

This section is fluid. Additional resources will be added as I progress through the curriculum.

That’s it!

Many thanks to Dhawal Shah of Class Central, as the ratings and reviews from his online course search engine (plus a few insider tips) helped guide the above curriculum choices.

If you have any recommendations for the curriculum, the above subject material in general, or would like to chat about your own educational goals, please don’t hesitate to contact me.