How to Teach Yourself Data Science in 2020
By: Travis Tang, Voon Hao
Tags: Sql, Data Science, Data Visualization, Python, R

This is close to what we encounter at work as an analyst — we use different techniques that we’ve learnt to extract information from the same database. The following is the entity-relationship diagram of the SQLZoo question ‘Help Desk’. Given this, you’re asked to show the manager and number of calls received for each hour of the day on 2017–08–12. (Try it yourself here!)

Other resources that I used include Zachary Thomas’ SQL Questions and Leetcode.

2. Data Manipulation with R and Python

To start learning about the programming and the tools needed for data science, one cannot run away from R and/or Python. They are very popular programming languages which are used for data manipulation, visualization and wrangling. The question or R vs Python is an age-old question that deserves another post on its own. My take?

It doesn’t matter whether you pick R or python— once you master one, you can easily pick up the other.

My journey with coding in python and R started with the code-along-with-me sites like CodeAcademy, Datacamp, Dataquest, SoloLearn and Udemy. These sites provide you with the self-paced classes organized by languages or packages. Each breaks concepts down into digestible parts, and gives the user with starter code to fill in the blanks. These sites typically walk you through a simple demonstration, and you will get a chance to practice the concept immediately afterwards by exercises. Some offer project-based exercises afterwards.

Today, I will focus on two of my favourites, Datacamp and Dataquest.

Please keep in mind — down below you’ll find an affiliate link to the courses. That doesn’t mean anything to you, as the price is identical, but I’ll get a small commission if you decide to make a purchase.

DataCamp

DataCamp offers video lectures taught by professionals in the field and fill-in-the-blank exercises. The video lectures are mostly succinct and efficient.

Image by author

One part I love about DataCamp is the up-to-date courses that are organized into career paths in SQL, R and python. This takes away the pain of planning your curriculum — now you only need to follow your path of interest. Some of the paths include:

Data Science in Python/R

Data Analyst in Python/R/SQL

Statistician in R

Machine Learning Scientist in Python/R

Python/R programmer

Personally, I started my R education with Data Science in R, which provided a rather detailed introduction to the tidyverse in R, which is a collection of incredibly useful data packages to organize, manipulate and visualize data, which most notably includes ggplot2 (for data visualization), dplyr (for data manipulation) and stringr (for string manipulation).

My favorite packages in R. Image by author.

However, I do have my complaint about DataCamp — that is the poor retention of information after completing DataCamp. With the fill-in-the-blank format, it is easy to guess what is needed in the blank without really understanding the concept. When I was a student on the platform, I tried completing as many courses as I could in the shortest possible time. I skimmed through the code and filled in the blanks without understanding the bigger picture. If I could restart my learning on DataCamp again, I would take my time in digesting and understanding the code better as a whole, not just the parts that I was asked to fill.

DataQuest

Image by author

Dataquest is very similar to DataCamp. It focuses on using code-along exercises to illuminate programming concepts. Like Datacamp, it offers a wide variety of courses in R, Python and SQL, though it is somewhat less extensive than those in DataCamp. For instance, However, unlike Datacamp, Dataquest does not offer video lectures.

Some of the tracks offered by Dataquest includes:

Data Analyst in R/Python

Data Science in Python

Data Engineering

DataQuest’s content is generally more difficult than those in DataCamp. There were also fewer ‘fill-in-the-blank’ format exercises. Though it took longer, my knowledge retention on DataQuest was better.

Another great feature about the DataQuest is the monthly call with a mentor who will review your resume and provide technical guidance. While I did not personally get in touch with a mentor, I would have in hindsight, since it would definitely have helped me progress much faster.

3. Data Visualization

Data visualization is the key to present the insights you drew from your data. After learning the technical skills of creating charts using python and R, I learnt the principles of data visualization from a book, Storytelling with Data by Cole Knaflic.

Sending a message with numbers. Photo by Alexander Sinn on Unsplash

This book is platform-agnotistic. In other words, it does not focus on any particular software but teaches the general principles of data visualization with enlightening examples. Some of the key pointers you can expect to learn from this book are:

Understand the context

Choose an effective visual

Eliminate clutter

Draw attention where you want it

Think like a designer

Tell a story

I thought I knew data visualization, until I read this book.

After digesting the book, I was able to create a (somewhat) visually pleasing chart that address the police brutality against blacks. One of the main learning points from the book applied here was to draw attention where you want it. This was done by highlighting the African American line with a bright yellow — reminiscent of the BLM color — while ensuring that the rest of the chart remained in the background with duller shades like white and grey.

Data visualization techniques applied to a chart that highlights police brutality. Image by author.

Next Steps

In this post, I covered the steps I’ve taken in learning programming from scratch. With these courses, you now have the necessary skills to manipulate data! However, there is still a pretty long way to go. In the next posts, I will cover

Part 2 —Mathematics, Probability and Statistics

Part 3 — Computer Science Fundamentals

Part 4— Machine Learning (Read it here)

If you have any questions, feel free to connect with me on LinkedIn. All the best, and good luck!

Other Readings

If you enjoyed this blog post, feel free to read my other articles on Machine Learning:

Translation

This article has been translated to Russian thanks to Denis Iurchenko.

References

[1] Dhar, V. (2013). “Data science and prediction”. Communications of the ACM. 56 (12): 64–73. doi:10.1145/2500499. S2CID 6107147. Archived from the original on 9 November 2014. Retrieved 2 September 2015.