Six months ago I started an MSc in Artificial Intelligence at the University of Bath. Six months before that, I began a crash course in Python and mathematics. This blog post covers the best free resources that I found most helpful. If you are preparing for a degree in AI or computer science and you are from a non-technical background, this post is for you.

My background

My undergraduate degree was a BA in a non-STEM subject (Economics, Politics and International Studies – not quite PPE but nobody knows what EPAIS stands for). I have been working as a product/program manager in tech for more than 15 years, but have had limited exposure to mathematics and programming, either academically or professionally.

Python preparation: University of Helsinki

The Python Programming MOOC from the University of Helsinki is the best resource I have found for learning programming and Python. What I love about this course is the focus on real life practice and fast feedback loops.

There are 179 assignments to complete, all of which you complete in VS Code. Instant feedback is provided via an auto-marker. This emphasis on practice works perfectly for me. You use the same tools you would use as a software engineer (VS Code), and the same approaches (building to meet a suite of tests, later graduating to creating the tests yourself).

I have done numerous other Python courses, but none have kept me as engaged as this one, or succeeded in teaching me in a way that has actually got the knowledge to stick.

Maths preparation

In my maths preparation, I was not quite as lucky as I was with Python. But eventually, I stumbled on three excellent resources:

1. 3Blue1Brown

A friend of mine is an A-level maths teacher. His advice to me is that it’s much more important to understand the principles that mathematical formulae are trying to explain, than it is to be great at memorising formulae and solving equations. Another friend advised me to think visually. When a formula changes, try to visualise how lines or shapes respond to the change.

3Blue1Brown was recommended to me by a software engineer at work. This is THE YouTube channel for anyone trying to learn maths, and wants to do so in a highly visual and practical way. Grant Sanderson is the man behind the channel. He has helped me build a much better understanding of topics in Linear Algebra and Calculus. I’ll be coming back to these videos when I move on to more advanced AI topics such as neural networks in my degree! Read the comments under his videos – I am not his only fan.

2. Paul’s Online Notes

Paul teaches algebra and calculus at Lamar University. He has kindly made many of his notes and practice problems available online. These are tough topics to learn. But the large quantity of practice questions with answers and thorough explanations are an invaluable resource to someone who learns by doing. Which is the only way of learning a topic like maths! I recommend combining Paul’s Online Notes with 3Blue1Brown’s videos.

3. Probability for Data Science

Probability and statistics are very important in AI and data science. I did not do enough preparation on these topics before starting my degree, and I had to study intensively to catch up once the course started.

The best content I have found is Stanley H. Chan’s Probability for Data Science book. Like everything in this blog post, it is online and free. Sadly, the answers to practice questions are unavailable. But the explanations in the book are excellent.

Using AI to learn

AI has also become a far more effective interactive learning resource over the past year, and I am sure it will only get better in the years ahead. In learning step by step with AI, I wrote about some of the prompts I am using to help me learn difficult topics, and about how I am using quiz mode to do regular practice. Give the post a read if you are interested.

How am I doing?

So far so good! If I keep the grade average I have so far, I will be on track for top marks in this degree.