I Dropped Out of College to Create My Own Data Science Mastery - Here's My Curriculum

Sep 22, 2018 | 103230 Views

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

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 - davidventuri.com.

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

Note 1: if you're looking for an online data science curriculum to follow, the link below contains my most up-to-date recommendations. I started creating this project midway through my personal data science master's.

Note 2: 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
  • Intro to Programming Nanodegree (Udacity) (REVIEW)
  • CS50: Introduction to Computer Science (Harvard/edX) (REVIEW)
  • Mathematics for Computer Science (MIT)

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
  • Data Analyst Nanodegree (Udacity) (REVIEW)
Listed below are the individual courses contained within the Nanodegree. The estimated timeline for graduation is 378 hours.

  • Intro to Inferential Statistics
  • Intro to Descriptive Statistics
  • Intro to Data Analysis (Using NumPy and Pandas)
  • Data Wrangling
  • SQL for Data Analysis
  • MongoDB for Data Analysis
  • Data Analysis with R
  • Intro to Machine Learning
  • Data Visualization and D3.js
  • A/B Testing


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.

Machine Learning
Learning from data
  • Machine Learning (Stanford University/Coursera)
  • Creative Applications of Deep Learning with TensorFlow (Kadenze) (IN PROGRESS)
  • Distributed Machine Learning with Apache Spark (University of California, Berkeley/edX)

Software Engineering
Best practices
  • Software Testing (Udacity)
  • Software Debugging (Udacity)
  • ?¢?? How to Use Git & GitHub: Version Control for Code (Udacity)
  • Mastering Software Development in R Specialization (Johns Hopkins University/Coursera) (IN PROGRESS)

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

  • The R Programming Environment
  • Advanced R Programming
  • Building R Packages
  • Building Data Visualization Tools

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 hereby 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
  • Intro to Backend (Udacity)
  • Developing Scalable Apps in Python (Google/Udacity)
  • Configuring Linux Web Servers (Udacity)
  • Linux Command Line Basics (Udacity)
  • Introduction to Databases (Stanford University)

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.




This article was originally published here

Source: HOB