My journey from Quantum to AI
Some Background
Towards the end of my PhD in quantum computing, I started exploring the world of quantum machine learning (QML). Back then, QML was still a very young field (honestly, it still is), and everything about it felt incredibly exciting. But I also felt a strong need to deepen my understanding of the fundamentals of machine learning, especially since I was far more fluent in quantum than in classical ML. So after graduation, I spent about 4–5 months learning more. Little did I know that this would end up steering me into an entirely new career.
At the time, data science was being hailed as the “sexiest job” and this was just before COVID. Those few months of study actually helped me secure a spot in AI Singapore’s AI Apprentice Programme, which had a notoriously low acceptance rate. I had intentionally structured my learning plan to cover both the theoretical foundations and the hands-on practical aspects of ML and data science.
(It wasn’t until much later that I decided to shore up my fundamentals in high-performance computing and GPU programming through Georgia Institute of Technology’s CS master — but that’s a story for another day.)
Here, I’m listing all the materials I studied during those 4–5 months. Keep in mind that I already had (pretty) advanced math training and experience in C/C++ programming from my undergraduate studies and PhD before making the transition. Still, I expect that anyone with a STEM background will find this list useful to figure out where to start.
Courses and useful materials
My self-study journey was powered mostly by Coursera and DataCamp.
Introductory C Programming Specialization by Duke University
This specialization consist of 4 courses:
- Programming Fundamentals
- Writing, Running, and Fixing Code in C
- Pointers, Arrays, and Recursion
- Interacting with the System and Managing Memory
C is the root of most modern programming languages and has had a significant influence on all of them. I first learned C during my undergraduate CS classes and later again during my PhD. I figured a quick refresher course would be a nice way to spend my free time. While C isn’t strictly necessary for ML/NLP (most of it is done in Python), it later became very useful when I started diving into distributed computing, HPC and CUDA.
Certificate
Notes and Solutions
Verdict: nice introduction if you have never programmed in your life.
Python for Everybody Specialization by University of Michigan
This specialization consist of 5 courses:
- Programming for Everybody (Getting Started with Python)
- Python Data Structures
- Using Python to Access Web Data
- Using Databases with Python
- Capstone: Retrieving, Processing, and Visualizing Data with Python
This specialization (and the next) from University of Michigan is one of the most popular specialization on Coursera in learning Python. Overall I feel that if you are already comfortable with programming, this one can be skipped. It gives an overview of Python in a functional way.
Certificate
Notes and Solutions
Verdict: If you are new to programming this is a good one to start, else go for the next one.
Python 3 Programming Specialization by University of Michigan
This specialization consit of 5 courses:
- Python Basics
- Python Functions, Files, and Dictionaries
- Data Collection and Processing with Python
- Python Classes and Inheritance
- Python Project: Software Engineering and Image Manipulation
This series of courses will teach you everything you need to know about Python, both in terms of functional development as well as some of the more theoretical aspect of OOP. If you already know programming and want to learn Python, start with this specialization instead of the one above.
Certificate
Notes and Solutions
Verdict: Excellent courses on learning Python, one of the best.
Mathematics for Machine Learning by Imperial College London
This specialization consist of 3 courses:
- Mathematics for Machine Learning: Linear Algebra
- Mathematics for Machine Learning: Multivariate Calculus
- Mathematics for Machine Learning: PCA
This specialization will cover some of the most important maths used in ML. I think in general this serve as a refresher course on maths and also taught me certain mathematica techniques can be utilized in a special way in ML. Overall I think this course is a nice complementary to the programming courses in my self-study journey.
Verdict: If you are not happy with the black box magic behind ML, this specialization is an excellent choices. However, you do need some UG math fundation.
Machine Learning by Andrew Ng
This course has been revamped and now part of the 3-course specialization. This course by Andrew Ng is perhaps the most famous course in the world and the beginning of many data scientist’s journey. Absolutely GOAT and must take.
Certificate
Notes and Solution
Verdict: OG course, a must take.
Deep Learning Specialization by DeepLearning.AI
This specialization is again taught by Andrew Ng. This series of courses are slightly more mathematical than his ML courses (his most repeated phrase in the ML class is: “if you do not understand the maths, don’t worry about it.”). However, I do with he could dive in a bit deeper into the maths portion but I guess he has to strike a balance in this audience. This specialization has 5 courses:
- Neural Networks and Deep Learning
- Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization
- Structuring Machine Learning Projects
- Convolutional Neural Networks
- Sequence Models
Overall I find these courses high-quality and covers till pre-transformer era.
Certificate
Notes and Solution
Verdict: I personaly feel this is a must-take courses as well, especially you want to cover all basics in deep learning up till transformers.
Algorithms Specialization by Stanford
I took this specilization purely for interest as I do not have formal CS training back then and algorithm practice (and later, LeetCode) is an activity I always enjoy learning.
- Divide and Conquer, Sorting and Searching, and Randomized Algorithms
- Graph Search, Shortest Paths, and Data Structures
- Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
- Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
Certificate
Notes and Solution
Verdict: If you have a CS background, skip this, else take this if you are interested in algorithm. I like the lecturer very much.
TensorFlow Developer Professional Certificate by DeepLearning.AI
This specialization teach you the fundamental of TensorFlow and prepare you for the certificate. However, given the declining popularty of TF, I would not recommend this. Please spend your time on PyTorch.
- Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
- Convolutional Neural Networks in TensorFlow
- Natural Language Processing in TensorFlow
- Sequences, Time Series and Prediction
Certificate
Notes and Solutions
Verdict: If you want to learn about TF, go for it. Else I would focus on PyTorch.
TensorFlow: Advanced Techniques Specialization by DeepLearning.AI
Again this specialization is about TF. Although I like the materials but unfortunately TF is not being used very often now.
- Custom Models, Layers, and Loss Functions with TensorFlow
- Custom and Distributed Training with TensorFlow
- Advanced Computer Vision with TensorFlow
- Generative Deep Learning with TensorFlow
Certificate
Notes and Solutions
Verdict: Same as above, only take this if you are interested in TF else pass.
DataCamp
For DataCamp there are many career tracks and each contains a dozen courses covering from basics to advanced topcis. I have completed 4 tracks during my self-study journey:
Python developer (7 courses)
Cover the basics of Python development
CertificateMachine Learning Fundamental (8 courses)
Cover most of the library used in data science.
CertificateData Scientist with Python (37 courses)
This is a very long series but also a very good one. It teaches you basic stuff like Pandas/SQL all the way to different modelling techniques used in scikit-learn, Keras and PyTorch.
CertificateData Analyst with Python (15 courses)
This is largely a subset of the track above, with some addition on SQL.
Certificate
All the 4 tracks have significant amount of overlapping courses so the actual amount of courses taken is much less. Also keep in mind that the course here is much shorter than those in Coursea, I would personally just call them modules instead.
Verdict: I actually learned alot from these modules and I would say it covers comprehensively on the tools I need for the transition.
AWS Cloud Practitioner and Solutions Architect Associate
As the last step to conclude my self-study, I actually studied and passed these AWS exam to earn the certificate. I personally feel that they are very useful in my daily work. I used Stephane Maarek’s Udemy courses for both Cloud Practitioner and Solution Architect Associate.
These courses are the best of their kind and I have made comprehensive notes on these exams.
Cloud Practitioner Certificate
Solution Architect Associate Certificate
Verdict: Cloud computing is pretty much standard knowledge now and I feel it is a must to know about these technologies.
Afterthought
As you can see I have crammed a lot of materials in the short span of 4-5 months of full-time self-study and I feel it is totally worth it. I hope this list of study materials is helpful if you come from a STEM background like me. If you are still not satisfied by all these courses, perhaps it is time to consider a proper CS master, like what I did after a few years of working. This is a much tougher route but at the same time much more rewarding. I will cover some of my OMSCS journey later on.