If you want to learn a new skill in Data Science, it can be really tough to decide which course to take.
When I was looking for my first online Data Science coding course in 2019, I couldn’t get over this feeling of analysis paralysis and I spent way too long trying to decide between different options. Then, when I finally made a decision and spent £20 on a course, I soon found that it was the wrong one for me, and I didn’t even finish it.
Since my disastrous first attempt in 2019, I’ve taken (and finished!) many other courses and have learned important lessons about how to pick the right course and maximise its value. In this article, I’ll share some of the best courses I’ve taken and share 5 key considerations that I use to help me decide between courses. This is the advice I wish I’d heard back in 2019, and, if it’s helpful for you, it would mean a lot if you clicked my ‘Follow’ button — only 1% of my readers do!
One of the biggest misnomers I’ve encountered among Data Science learners is that $$$ courses = better courses.
Truth be told, however, some of the best resources are completely free. Free platforms like YouTube, freeCodeCamp and Towards Data Science host thousands of high-quality online courses covering virtually every data skill, and they’re always my first port of call whenever I need to learn something. Because they’re free, it’s really easy to “try before you buy,” which means they’re a great way to test the course’s suitability before you commit to spending money or embarking on the whole course.
For example, when I needed to learn git/GitHub in 2021, I tried a bunch of different free courses on YouTube and eventually decided on this one by Tech With Tim. It was short (40 mins), free, and had lots of social proof (high views/ratings), and covered everything that I needed to get me up and running. If you’re starting a new topic from scratch, it’s much better to try a small course (like a YouTube one) rather than committing to a full marathon course. You can always migrate to a paid course later (if you need), but why start with paid if you haven’t first checked the quality of the free options?
Here are some of the excellent free courses I can thoroughly recommend (these aren’t affiliate links or anything like that, they’re literally just free courses that I’ve taken and enjoyed):
The first online course I took was a generalist Python course. While it was an excellent course, it wasn’t particularly focused on Data Science use cases of Python (my learning objective), and I was being forced to complete modules on areas in which I had no interest (e.g., web app development, geospatial analysis). It quickly became boring/unproductive, and before long I’d ditched it.
To avoid making this kind of mistake, my advice to you is to start with a course which is tailored towards a small and specific goal, and then build on it later.
For example, rather than taking on a lofty goal like “learn to code,” try breaking this down into a smaller goal like “learn to code like a Data Scientist.” Then, break this down further into an even smaller goal by picking a specific language (e.g., Python), and then pick a Python course which focuses on a specific skill like data analysis (e.g., a course like this one) or machine learning (e.g., a course like this one).
This is the approach that has worked best for me with Python: I began by learning Python for a very specific purpose (data analysis), and have since expanded on this to learn other things (like web development or machine learning) as and when I’ve needed.
Lots of eLearning platforms have in-built code editors which allow you to write and execute code within the browser/app. The advantage of this is that it’s super easy to just start coding, without any installations or setup. If you pick a course on a mobile-friendly platform/app like Enki, you can even code along while you’re on your commute or sat on the toilet.
The disadvantage of courses like these is that you don’t necessarily learn how to run code “in the wild” outside of that specific eLearning platform.
If your goal is just to learn the syntax and “try it out,” then courses with in-built coding editors are a great solution. Courses on sites like CodeAcademy, DataCamp and freeCodeCamp are fantastic for this purpose.
If, however, you want to learn on real-world systems, try finding a course that encourages you to “code along” by yourself. For example, of the ones I’ve already mentioned, courses like the SQL Tutorial — Full Database Course for Beginners are great for this.
Streaks are the #1 best way to build momentum with a course.
I’m currently on a 324-day streak with Arabic on Duolingo, and, while there’s still a long way to go, I know a heck of a lot more Arabic now than I did 324 days ago. On some days, I spend 30 minutes on Duolingo. On others I spend 2. But, by focusing on the streak, it helps me stay consistent and ensures I do something even on days where I have low motivation.
It’s exactly the same with coding courses.
If you’re studying an online course alongside work or university, chances are that your motivation and availability will fluctuate a lot. By committing to maintaining a streak, you ensure that you stay consistent even on the busy days. In the long run, this is also far more sustainable than “binge-studying.” Memory curves mean that we easily forget what we learn on a single day, and it’s only when we regularly revisit topics that the learning sinks in.
Consequently, when you’re deciding between courses, try to find one that enables you to build small streaks. If the course is a 10-hour non-interactive lecture, it might be difficult to do “2-minute stints” on busy days, and you’ll be inclined not to bother. If, by contrast, the course includes lots of example questions and small exercises, it’ll be much easier to fit in quick episodes and maintain a streak.
If committing to a daily streak is unrealistic, why not try a weekly streak? Can you do a little every week for the next 52?
When my grandma tried to kick her smoking habit back in the 1960s, she made herself a promise: if she went three months without smoking, she’d buy herself a new watch using the money which she would have spent on cigarettes.
I’ve always loved that story, and, while it happened 60 years ago, I think it still holds a lot of wisdom for us in 2023.
If your only goal is to “complete” the whole course, you’re setting yourself up for a long hard slog. If instead you break that goal down into mini-goals (e.g., “complete this chapter”) and continuously reward yourself for meeting those mini-goals, you’ll find it much easier to stay motivated.
For example, when I was taking the IBM Data Science Professional Certificate, I would try to reward myself at the end of each chapter with a small sugary treat and by applying what I’d just learned on my online portfolio. These may seem like trivial rewards, but they actually really helped me to stay motivated because there was always something tangible to aim for in the short-term.