DANIEL BOURKE

@mrdbourke

My Self-Created Artificial Intelligence Masters Degree

September 6th 2017

University pathways were too expensive, so I decided to create my own.

Who’s teaching who?

Note: This article is a perpetual work in progress and is up to date as of 17 May 2019.

2019 Update: I’ve added some more curriculum and other resources (the Learning How to Learn course and the 100-page machine learning book). They are all still in order of completion.

2018 Update: 9-months into my curriculum, I got hired as a Machine Learning Engineer at Max Kelsen, a technology company in Brisbane!

Me in 15-seconds

I live in Brisbane, Australia.

I graduated in 2015 with a Dual Major in Food Science and Nutrition. It took me five years to do a three-year undergraduate degree.

I thought I wanted to be a doctor. Probably because I was following what my friends were doing rather than creating my own path.

I’m a fitness nut. And I love food. Marrying my love for food and fitness with my studies was one of the best I ever did.

The most valuable lesson I learned from five years as an undergraduate was if you’re truly interested in what you’re learning, studying is no longer a chore.

I learned how to learn.

If you had told me this piece of wisdom before starting university, I would’ve listened and understood but not put it into action. I was still under the impression studying would always be a painful task. Wisdom must be learned not taught.

Why study Artificial Intelligence?

This whole revolution of Artificial Intelligence (AI) fascinates me. AI, coupled with other technologies has the power to make the world a better place. It also has the power to the world a worse place. I’m an advocate for the good side.

Advancements in AI have been happening for decades. Computing power has only recently reached a stage where it is accessible enough to enable people like me to work on these technologies from my bedroom.

Rather than stand by and watch this paradigm shift happen without fully understanding it, at the start of 2017, I decided to start learning about it.

My Goals

  1. Be dangerous enough to use AI as a tool to bring value to the world. I’m not learning these technologies for the sake of learning. I’m going to use what I learn to build something epic.
  2. Combine AI with my knowledge of fitness and nutrition to help the world move more and eat better. I know I won’t ever be the worlds leading expert in AI or fitness or nutrition as singular disciplines but I can be a leader in the crossover of the three.
  3. Inspire others to embark on their own learning journey. By writing about my journey and sharing what I’ve learned, I want to encourage others to choose themselves and create their own paths.

My Curriculum

I went in reverse when I began my studies. I dived straight in the deep end (literally) and signed up for a Deep Learning course without ever writing a single line of Python code.

I scared myself to the point I emailed support asking whether I was eligible for a refund. Luckily, I didn’t take the refund.

After learning more about the field, I matured a little and started to get an idea of where I want to take my studies. More thought is starting to go into where I spend my time.

I’m not looking to be the best Artificial Intelligence Engineer or the most hireable. My focus is a foundation of knowledge I can use to build things.

My curriculum is not as robust as it could be, instead, it’s being built on the fly, learning what I need to know to get to the next step.

If you have any advice for me, including courses I should look at or skills I should work on, please feel free to let me know in the comments, my email or Twitter.

Key

  • ✅ = course fully completed
  • ✳️ = course partially completed or in progress
  • No symbols for math or books
Two incredible resources for starting to learn Computer Science and programming. Sources: Treehouse, Harvard CS50

Why these?

At the beginning of 2017, I had no idea what data science was, let alone AI. I wrote my first line of Python code in February. These courses are to give me a foundation across Python programming, Computer Science and Data Science.

Advanced Courses

Three of the best resources to learn AI online. Sources: Udacity, deeplearning.ai, fast.ai

Why these?

I stumbled upon Udacity’s Deep Learning Nanodegree Foundations (DLND) and was won over by Siraj Raval. I had a slight interest in AI and machine learning but his introductory videos on YouTube got me hooked. This was the first course I started with.

From the DLND, my learning journey has grown with a focus on the crossover of AI and health.

Books

Currently Reading

If you’re starting out, put these two books in your library and read them cover to cover.

Why these?

Sometimes a more traditional route is needed rather than always being in front of a screen. Zed’s book on Python helped immensely alongside the Treehouse Python track.

The last time I did a statistics course was the first semester of my undergraduate degree. I failed. Naked Statistics has helped me start to think with more of a statistics mindset. It’s written a way that takes away the jargon and gives real-world examples of complex statistics concepts.

Learning AI without the holy grail of AI textbooks — Artificial Intelligence: A Modern Approach — wouldn’t really be learning AI.

Deep Learning with Python is perhaps the best introduction to AI, Deep Learning and Python so far. Its author, François Chollet, is the author of Keras, a popular deep learning framework and currently works on deep learning at Google.

Hands-on Machine Learning is another incredible resource. This book is most aligned with what I do day to day as a Machine Learning Engineer.

The Hundred-Page Machine Learning Book is a new edition for 2019. I wish I had this book when I started out. You can read it in a day. We’re getting one for the office and going to use it as a go-to resource.

Math

Source: Khan Academy

Why these?

My high school math skills needed some refining once I started learning about Machine Learning and Deep Learning. Thanks to various frameworks and libraries, much of the math work is done behind the scenes.

Having a general understanding of the math that goes into these technologies has helped me immensely.

Why these?

My personality type is ENFP. Essentially, I’m more extroverted than introverted (only slightly). Too long in front of a computer screen and I get weird. As previously mentioned, I’m using Meetup to find and meet people who are interested in what I am.

Siraj Raval is a wizard. His YouTube channel was my main inspiration for learning about AI and eventually creating my own AI Masters Degree. Watching his videos led to me documenting my learning journey on YouTube. If you’re looking to learn more about AI, I’d highly recommend his channel.

FreeCodeCamp is where I’ll go if I need to brush up on web technologies outside of the Python stack I’m currently learning. After all, if you build something with AI, you’re going to need a way to deliver it to the world. They have one of the best online communities I’ve ever seen. If you’re looking to get into web development, this is your starting point.

I’ve already mentioned the most valuable skill I learned after five years of university was learning how to learn. But I figured it out the hard way. The Learning How to Learn course on Coursera should be a compulsory course for every student. Learning How to Learn is the ultimate skill because you can apply it to anything else.

The use of cloud technologies is a requirement for any machine learning engineer or data scientist. If you want people to use the things you make, you have to distribute them. Cloud computing helps you do that. I’ve chosen Google Cloud to be my current cloud vendor. And I used the Google Cloud Data Engineering Specialization on Coursera to upskill myself. To see more, see the article, How I Passed the Google Cloud Data Professional Certification Exam.

How do I stay on top of everything?

I’m tracking all of this using a public Trello board. I find keeping things visual and as simple as they can be is how I work best. Feel free to follow along with my progress.

What my Trello board looks like as of 13 September 2017 (it gets updated as I learn/add more to the curriculum).

Why create my own path?

During my studies at university, I often found myself asking lecturers and professors,

Will this be on the test?

What I really meant was,

I’m not going to learn this unless it’s on the final exam.

This article by Seth Godin hits the nail on the head.

I’ve spent enough time at university this decade.

I did, however, use two main criteria when deciding how I was going to learn.

  1. Cost
  2. Flexibility

In terms of cost, a postgraduate degree in Computer Science at the universities in my area was between $20,000 AUD and $30,000 AUD per year (a minimum of two years). I’ll use the low-end for the sake of future comparisons.

Based on my previous experience at university, it was anything but flexible. Strict due dates, medical certificates for basically any absence, strict class times, one-time-only lectures, a 70-minute round trip commute from where I live to my closest campus, etc. These are not bad things but when you compare it to the alternative of online learning, things start to look a little different.

Online learning was the clear winner in terms of flexibility. Being able to study at my own pace is a big plus. I slow down on the concepts I have trouble with and fast on everything else. I miss a deadline because of an unforeseen event? It’s on me. No one else.

Online learning is not all roses. What you gain in flexibility, you lose in actual human interactions. After a day of studying in front of my computer, results in me becoming an introverted zombie. I’m using local Meetups to compensate for this.

Online learning also doesn’t come with as much prestige as what would a university (yet). Some of the courses I’ve completed don’t provide a verified certificate. I’m not worried about that. My goal is to gain enough knowledge to put these technologies into practice and bring value to the world.

I’ll use what I build as proof of my capabilities rather than a certificate.

Paying for courses

Instead of accumulating more student debt, I chose to use the money I would’ve spent on two years doing a Computer Science Masters towards funding my own learning journey.

I pay for all of my courses up front. To do this, when I started the curriculum, I drove Uber on the weekends. And after being hired as a Machine Learning Engineer I still pay for them up front.

What’s next?

You can consider this article a work-in-progress of my self-created AI Masters Degree curriculum. I’ll keep it updated as I go along with the courses I’m learning and the projects I’m working on.

I’m sharing my journey through weekly YouTube videos and daily blog posts.

Have advice for me or learning about AI? I’d love to hear from you!

Say Hi on: YouTube | Twitter | Email | GitHub | Patreon | LinkedIn

More by DANIEL BOURKE

More Related Stories