My Data Science Self-Study Curriculum
Welcome to the next 6 months of my data science learning journey!
After being heavily inspired by Daniel Bourke’s AI masters curriculum, I have created my own learning curriculum that I will be following for the next 6 months.
Will this be a challenge for me? Yes.
Will the content be difficult and hard to understand? Probably.
Will I hit roadblocks and hurdles along the way? Almost definitely.
Is it achievable? Absolutely!
Is it for everyone? Maybe. But you get to decide what’s possible for you. If your dream is to learn data science then accept the challenges that await you and get started!
Please remember that everything here is my own opinion and my own way of doing things. You may not agree with it and that’s totally ok! You can create a learning curriculum that aligns to your own goals and beliefs.
Why am I doing this?
Learning data science and machine learning is no small feat. The field is advancing rapidly and it takes continuous study just to keep up. My goal with this learning curriculum is to build up my foundational knowledge and become proficient in machine learning and deep learning. I also want to be able to take on more challenging projects or pick up a new concept faster in the future.
This is not intended to be a beginners guide or something that you should do if you are just getting into data science or programming for the first time. I have a masters degree in statistics so I am already quite comfortable with the math and stats that form the foundations of machine learning. I have also been coding in python for a few years so I’ve already got a good understanding of the basics of programming in python.
However, I have quite a few gaps in my knowledge when it comes to applying machine learning algorithms to real data in python and I also have not properly explored deep learning so that will all be completely new to me.
I am not trying to get through the content in these courses and books as fast as possible just for the sake of saying I did the course. So I will probably be skipping some sections if they don’t feel relevant or if the content is a duplication of something I already learnt in another course.
It is still very important to me that I understand the content and am able to apply it myself. Therefore, my curriculum has a very strong focus on projects. Most of what I learn will be applied in a practical (and realistic) way with new, real-world data sets (not the data given in the course/book).
I will also probably not be trying to get any special certificates as part of the courses that I complete. I don’t particularly care for the testing methods of these courses which are very far removed from real life. Thats why I’ll be completing projects on my own that will give me an indication of my competency and level of understanding as I progress through the content.
How much time will I spending on this?
I roughly estimated how long I think each course will take (including all the projects) and would also like to spend about 4 hours per day, 6 days a week studying. From this I felt that 6 months would be a challenging yet achievable amount of time to complete this curriculum.
Why did I choose these courses/topics?
Once again, I got most of these resources from Daniel Bourke’s website. He has a comprehensive list of some of the best resources to learn data science, machine learning and deep learning. I encourage you to check it out if you’re trying to figure out what kinds of resources are out there for learning this stuff.
Also, the courses I chose can all be taken for free, except for the Udemy course which I got at a ridiculously discounted price. The only caveat is that the Cousera courses do not provide a certificate if taken in their free ‘audit’ mode and there may be some limitations. The only other thing I paid for was the Hands on Machine Learning Kindle book and the other 2 books were given to me as a gift.
For my own curriculum I created 2 sections which I then allocated the material to:
- Foundations & machine learning – covering the general approach to machine learning problems and the various algorithms used in machine learning (such as k-means clustering, regression, decision trees, support vector machines, etc.)
- Deep learning – covering topics related to neural networks, NLP, computer vision, hyperparameter tuning, optimisation, best practices, etc.
How am I tracking my progress?
I created my own Notion page with a kanban board and a calendar. I estimated the amount of time I need to get through each resource and gave each project a deadline. This will be my guide as I progress through the curriculum.
My aim here is to get rid of this question that I often ask myself when learning new things: “ok, what should I do right now and then what’s next?”. Using this curriculum and guide in Notion means that I should always know what I need to be working on at any point and what will be coming up next. A little structure makes me feel better 😊
If things change during this time, then I will simply adjust my timelines in Notion. It’s important to still be flexible to life events, disruptions, other interests and the possibility that some concepts will just take longer for me to grasp than others and I won’t know what I might struggle with until I start.
Each project that I complete will be added to my GitHub and made into a blog post. Project-based blog posts will go up at least every other week. I’ll also be writing other posts on some of the key concepts I’m learning so that I can reinforce the knowledge by distilling the information down into (hopefully) easy-to-read blog posts.
I will also be posting my experiences, interesting facts, new projects and challenges I face to Twitter everyday. There will also be a weekly check-in tweet where I will give an update on my progress in the curriculum and what I’ll be covering during the week.
The Curriculum
Alright, that’s enough chit-chat. Here are links to all the resources I’m using in my curriculum:
Foundations & Machine Learning:
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (Book)
- Python for Data Science and Machine Learning Bootcamp (Udemy course)
Deep Learning:
- Practical Deep Learning for Coders (Fast AI Online Course)
- Deep Learning Specialisation (set of 5 courses on Cousera)
- Full stack deep learning
- Hugging Face course (NLP)
Additional Resources:
Here is a little snippet of my study plan in Notion with timelines:
I hope that by sharing my curriculum you will be inspired to also make a commitment to learning and building in data science!
Follow me on Twitter and join me on my journey. Send me a DM or comment below and let me know your thoughts, I’d love to hear from you!