The Five C's of Online Learning

This post originally appeared on Quora as my answer to 'Udacity or Coursera for AI machine learning and data science courses?'


Tea or coffee?

Burger or sandwich?

Rain or sunshine?

Pushups or pull-ups?

Can you see the pattern?

Similar but different. It’s the same with Udacity and Coursera.

I used both of them for my self-created AI Masters Degree. And they both offer incredibly high-quality content.

The short answer: both.

Keep scrolling for a longer version.

Let’s go through the five C’s of online learning.

If you’ve seen my work, you know I’m a big fan of digging your own path and online platforms like Udacity and Coursera are the perfect shovel. But doing this right requires thought around five pillars.


When you imagine the best version of yourself 3–5 years in the future, what are they doing?

Does it align with what’s being offered by Udacity or Coursera?

Is the future you a machine learning engineer at a technology company?

Or have you decided to take the leap on your latest idea and go full startup mode?

It doesn’t matter what the goal is. All of them are valid. Mine is different to yours and yours will be different to the other students in your cohort.

The important part is an insatiable curiosity. In Japanese, this curiosity is referred to as ikigai or your reason for getting up in the morning.

Day to day, you won’t be bounding out of bed running to the laptop to get into the latest class or complete the assignment you’re stuck on.

There will be days where everything else except studying seems like a better option.

Don’t beat yourself up over it. It happens. Take a break. Rest.

Even with all the drive in the world, you still need gas.


Sam was telling me about a book he read over the holidays.

‘There were some things I agreed with but some things I didn’t.’

My insatiable curiosity kicked in.

‘What did you disagree with?’

I was more interested in that. He said it was a good book. What were the things he didn’t like?

Why didn’t he like those things?

The contrast is where you learn the most.

When someone agrees with you, you don’t have to back up your argument. You don’t have to explain why.

But have you ever heard two smart people argue?

I want to hear more of those conversations.

When two smart people argue, you’ve got an opportunity to learn the most.

If they're both smart, why do they disagree?

What are their reasons for disagreeing?

Take this philosophy and apply it to learning online through Udacity or Coursera.

If they’re like tea and coffee, where's the difference?

When I did the Deep Learning Nanodegree on Udacity, I felt like I had a wide (but shallow) introduction to deep learning.

Then when I did Andrew Ng’s after, I could feel the knowledge compounding.

Andrew Ng’s teachings didn’t disagree with Udacity’s, they offered a different point of view.

The value is in the contrast.


Both partner with world-leading organisations.

Both have world class quality teachers.

Both have state of the art learning platforms.

When it comes to content, you won’t be disappointed by either.

I’ve done multiple courses on both platforms and I rate them among the best courses I’ve ever done. And I went to university for 5-years.

Udacity Nanodegrees tend to go for longer than Coursera.

For example, the Artificial Intelligence Nanodegree is two terms both about 3–4 months long.

Whereas Coursera Specializations (although at times a similar length), you can dip in and out of.

For example, complete part 1 of a Specialization, take a break and return to the next part when you’re ready. I’m doing this for the Applied Data Science with Python Specialization.

If content is at the top of your decision-making criteria, make a plan of what it is you hope to learn. Then experiment with each of the platforms to see which better suits your learning style.


Udacity has a pay upfront pricing model.

Coursera has a month-to-month pricing model.

There have been times I completed an entire Specialization on Coursera within the first month of signing up, hence only paying for one month.

Whereas, all the Udacity Nanodegree’s I’ve done, I’ve paid the total up front and finished on (or after) the deadline.

This could be Parkinson’s Law at play: things take up as much time as you allow them.

Both platforms offer scholarships as well as financial support services, however, I haven’t had any experience with these.

I drove Uber on weekends for a year to pay for my studies.

I’m a big believer in paying for things.

Especially education.

When I pay for something, I take it more seriously.

Paying for something is a way of saying to yourself, I’m investing my money (and time spent earning it), I better invest my time into too.

All the courses I’ve completed on both platforms have been worth more than the money I spent on them.


You’ve decided on a learning platform.

You’ve decided on a course.

You work through it.

You enjoy it.

Now what do you do?

Do you start the next course?

Do you start applying for jobs?

Does the platform offer any help with getting into the industry?

Udacity has a service which partners students who have completed a Nanodegree with a careers counsellor to help you get a role.

I’ve never got a chance to use this because I was hired through LinkedIn.

What can you do?

Don’t be focused on completing all the courses.

Completing courses is the same as completing tasks. Rewarding. But more tasks don’t necessarily move the needle.

Focus on learning skills.

Once you’ve learned some skills. Practice communicating those skills.


Share your work.

Have a nice GitHub repository with things you’ve built. Stack out your LinkedIn profile. Build a website where people can find you. Talk to people in your industry and ask for their advice.


Because a few digital certificates isn’t a reason to hire someone.

Done all that?

Good. Now remember, the learning never stops. There is no finish line.

This isn’t scary. It’s exciting.

You stop learning when your heart stops beating.

Let’s wrap it up

Both platforms offer some of the highest quality education available.

And I plan on continuing to use them both to learn machine learning, data science and many other things.

But if you can online choose one, remember the five C’s.

  1. Curiosity — Stay curious. Remember it when learning gets tough.

  2. Contrast — Remix different learning resources. All the value in life is at the combination of great things.

  3. Content — What content matches your curiosity? Follow that.

  4. Cost — Cost restrictions are real. But when used right, your education is worth it.

  5. Continuation — Learn skills, apply them, share them, repeat.


I’ve written and made videos about these topics in the past. You might find some of the resources below valuable.


When does it all start to make sense?

I read a post on LinkedIn the other day which talked about how someone had been coding Python for 10-years but still looks up some basic functions every day.

I've been a machine learning engineer for 8-months and I do the same.

If you could see my Stack Overflow history, you’d find a bunch of things which you'd expect to find in the first chapter of a book on Pandas.

It's my own fault. I could take the time and learn all the functions off by heart. Then I wouldn't have to look them up every time.

But what happens when they change? Or if the library gets updated?

It's hard to change a way of doing things if it’s the way you've always done it. So learning a programming language off by heart may be helpful but it could lead to problems down the road.

I'm a fan of learning what you need to learn when you need to learn it and not being deterred by your previous learnings.

This kind of firey curiosity is extinguished in school. Instead of crossing knowledge roadblocks when they come, the curriculum tries to prepare you for every single one.

What's more important than knowing what to do in every situation is knowing how to figure out what to do. Knowing how to ask questions, knowing how (and being willing) to be wrong.

So when does it all start to make sense?

Someone asked me this the other day. They had been coding Python and working on a few projects but still running into a few struggle points.

I replied back with my experience of things still not making sense at times and an answer similar to the above.

I prefer things not to make sense every so often. If everything made sense, the world would be a pretty boring place.

I'm not a fan of boring. And I know you aren't either.

Creating and deploying data science/machine learning pipelines on the cloud still doesn’t make sense to me. But I'm getting there. The Data Engineering on Google Cloud Specialization on Coursera has been helping. Part 4 was all about streaming data. I talk about it more in my latest video.

Some thoughts on university versus learning online for data science

Zac emailed me asking a question.

Keep on working and keep looking for new opportunities in the field…
Go back to uni and finish the last 18 months of my degree.

He just finished an internship and has about 18-months left at university before he finishes his computer science degree.

It’s a tough choice.

I sat and thought about it for a while. Then replied to the email with some unedited thoughts.

And I’m sharing them here, also unedited. Bear in mind, I’ve never been to university to study computer science.


Here’s how I see it, I’m gonna write a few thoughts out loud.

Where do you want to be/see yourself in 3-5 years? 

It sounds like you’re pretty switched on to where your skillset lies (aka, teaching yourself, working on things which interest you).

Might be worth having a think about which one better suits the ideal version of you in 3-5 years.

Does that ideal version of you require a university degree? Or could that version of you get by without one?

Which one is the most uncomfortable in the short term?

I’m very long term focused (I have to remind myself of this every day). So whenever I come up to a hard decision, I ask myself, ‘Which one is hardest in the short term?’

I treat short term as anything under 2-3 years (the starting era of the ideal version of yourself).

18-months isn’t really the longest time

How much of a rush are you in?

Could you stick out the 18-months, share your work online through an online portfolio, upskill yourself through various other courses (and jump ahead of others) and come out with a degree AND some extra skills.

Get after it

This is countering the above point.

If you think you have the balls to chase after it (sounds like you already do), why do you need university to be a gatekeeper?

Sure, not having an official degree may shut you off from some companies, but to me, a piece a paper never really meant much. Especially when the best quality materials in world are available online.

I have a colleague doing a data science masters at UQ and he said he has learned way more since working with Max Kelsen than at university.

Put it this way, I was driving Uber this time last year. But I followed through with my curriculum, shared my work online and got found by an awesome company.

Share your work

Whichever path you choose, I can’t emphasis this enough. Make sure people can find you online.

If you’re not going to get a degree. Be the person who’s name comes up on others LinkedIn feeds for data science posts. Have some good Medium articles, share what you’ve been doing.

It’ll feel weird in the start. Trust me. But then you’ll realise the potential of it.

All of sudden, you can become an expert in your field by being the one to communicate the skills you’re learning.

How did I do?

What would you do in Zac’s situation? Learn online and look for more work experience? Or stick out the 18-months of computer science?

'What's the one thing you'd do over again?'

I get asked often what's the one machine learning course I'd take over again.

'What's the one fitness habit you'd do again?'

'What’s the one thing I can do….?'

There is no one thing.

Even if there was, there would be no point doing it because everyone else would be doing it.

You're capable of making the change you want to see in the world.

Whatever it is. Bettering yourself, learning a new skill, travelling to that place.

The only real gatekeeper is the one in your head. The one who decides to listen to the naysayers.

But the catch is, you're also your biggest naysayer.

Now you know this. You don't have to be. Not anymore.

The one thing I'd do over again is starting sooner. Starting my own learning journey. Starting my own creative studio. Starting to share my work. All sooner.

How to Learn Deep Learning in 2 Months

‘Hi, I’m a machine learning engineer from Google.’

‘Hello everyone, I’m a software engineering at Intuit.’

‘Good morning, my name is Sandy, I’m a freelance data scientist.’


I was scared to post my introduction.

What was I going to say?

‘Hi, I’m Daniel, I quit the first programming course I signed up to, so now I’m here to try again.’

I probably could’ve said that. That’s actually not too bad. At least it was the truth.

It was a week before the Udacity Deep Learning Nanodegree began. Everyone was introducing themselves in the Slack channel.

I was the odd one out. It seemed everyone had already some experience with machine learning or data science and here I was writing my first line of Python 3-weeks prior.

The course went on. I graduated 4-months later.

Then I went on and did Udacity’s AI Nanodegree as part of my online AI Masters Degree.

And Andrew Ng’s course on Coursera.

Then I got hired as a machine learning engineer.

All in the space of a year.

But 2 months? Woah.

That’s some ambition. I love it.

Let’s be clear though, the field of deep learning and all the other encompassing crafts is huge. You’ve seen that photo of the iceberg right? The one where most of it is under water and only the top 10% of it sticks out of the water. Yeah, that’s like deep learning.

The art of building deep learning neural networks can be picked up in a couple of months by someone with a little programming experience.

So how would you do it?

Done some Python work before? Go ahead with these steps. If not, learn some Python first and come back.

These two books will help you go from a deep learning rookie to a deep learning practitioner.

‘But Daniel, these books cost money?’

You’re right. But the education is worth it. Especially since $100 worth of books, if used correctly, could give you provide you the skills for a $100,000+ role. Or better still, provide you with the skills to build something incredible.

If you can’t afford these books, I’d recommend Siraj Raval’s or Sentdex’s YouTube channel.

‘I’ve got a little longer than two months.’

Putting together a deep learning model is often one of the last pieces of the puzzle.

Even the best deep learning models won’t help anyone if there’s no data for them to learn on.

Deep learning is the combination of statistics, programming, math and engineering. Maybe a few more things.

If you’ve got longer than two months, I’d still recommend the two books above. As well as any of the courses I’ve mentioned.

But the key thing is to try out what you’ve learned.

Find a problem which interests you and see if you can apply deep learning to it.

‘Yeah, people always say that, find something that interests you, but I’m not interested in anything…’

Not interested in anything?

Then what pisses you off?

Maybe you’re pissed off at the amount of homeless in your city. How can you use deep learning to find more people a home?

Or perhaps you don’t like the state of the healthcare system, does deep learning have a place in building a healthier world?

A major part of being a good deep learning engineer is to seek out new ways of looking at and solving existing problems.

How long per day?

I heard an interview once with a world chess champion.

‘How much do you play per day?’

‘Never more than 3-hours per day.’


‘Yeah, but during those 3-hours, all I’m doing is playing chess.’

3-hours per day? That’s it?

I had to try it. So I did.

I set a timer. One hour, 5-minute break, another hour, 15-minute break, then another hour.

It took me all three hours to get through one function.

The next day I finished the whole assignment in the same timeframe.

I still do this kind of study every day.

Sometimes you may be able to do more. Other days less. But the main thing is to focus on one thing at a time.

Especially if you want to learn deep learning in two months. Block all the other crap out and learn deep learning. I have to remind myself of this all the time.

Never half ass two things, whole ass one thing. You’ll be surprised what you’re capable of.

You might even end up running down your street after finishing your final coding project.

Study hard. Celebrate hard. Screenshot from Learning Intelligence 34:  Finishing the Udacity Artificial Intelligence Nanodegree

Study hard. Celebrate hard. Screenshot from Learning Intelligence 34: Finishing the Udacity Artificial Intelligence Nanodegree


How much math do you need to start learning machine learning or deep learning?

‘I’m studying artificial intelligence.’

‘What?’ my Uber passenger asked, ‘is that like aliens?’

‘It’s more like a combination of math, statistics and programming.’

‘You’ve lost me.’

I didn’t really want to go back to university so I made my own Artificial Intelligence Masters Degree using online courses. I drove Uber on the weekends for 9-months to pay for my studies.

Now 7-months into being a machine learning engineer, I’m still working through it, along with plenty of other online learning resources.

My first line of Python was 3 weeks before starting Udacity’s Deep Learning Nanodegree.

I’d signed up and paid the course fees but I was scared of failing so I emailed Udacity support asking if I could withdraw my payment and enrol at a later date.

Screen Shot 2018-11-23 at 9.15.03 pm.png

I didn’t end up withdrawing my payment.

For 3/4 of the projects, I needed an extension. But I still managed to graduate on time.

The main challenge for me was the programming, not the math.

But to learn the math knowledge I did need, I used Khan Academy.


I was learning on the fly. Every time a concept came up I didn’t know about, I’d spend the next couple of hours learning whatever I could. Most of the time, I bounced between Stack Overflow, Khan Academy and various machine learning blogs.

How much math do you need?

It depends on your goals.

If you want to start implementing deep learning models and achieving some incredible results, I’d argue programming and statistics knowledge are more important than pure math.

However, if you want to pursue deep learning or machine learning research, say, in the form of a PhD, you’ll want a strong math foundation.

The math topics I listed above take years, even decades to fully comprehend. But thanks to deep learning and machine learning frameworks such as Keras and TensorFlow, you can start replicating state of the art deep learning results with as little as a few weeks of Python experience.

The thing with math is, it’s never going away. Math is the language of nature. It’s hard to go wrong brushing up on your math skills.

But if the math is holding you back from jumping in and trying machine learning or deep learning, don’t let it.

A fisherman doesn’t learn how to catch every single fish before he goes fishing. He practices one fish at a time.

The same goes for learning. Rather than trying to learning everything before you start, learn by doing, learn what you need, when you need.


A note from 2048

It may not seem like it now but those extra hours you put into building your skills all added up.

Taking care of your health was also the right thing to do.

And don’t forget to keep reminding those close to you how much you love them.

Keep learning, keep moving, keep loving.


Your 2048 self.

PS the latest episode of Learning Intelligence is out, I’ve been learning all bout the Google Cloud Platform. I’m still a novice when it comes to dev ops but it’s becoming more and more a requirement in my day to day work. So I figured I better start getting on top of it. And make my 2048 self proud.

What to do when you can't get the right answer

If you’ve been stuck on a problem for a while and it’s not leading anywhere, reframe the question.

It’s easy to get stuck in one way of thinking.

All you need is three words.

Read, try, ask.

Read what you can about it.

Try to implement what you’ve read.

And if your eyes can’t see the answer, someone else’s ears may be able to hear the right question. Ask them. Speaking out loud may help you realise what you’re actually trying to do.

We were made to work together.




And again.

Eventually, you’ll be the person people come and ask. Make sure they’re asking the right question.

Four hours per day

Is all you need.

If you want to learn something, the best way to do it is bit by bit.

Cramming for exams in university never worked for me. I remember walking into campus straight to the canteen on exam day.

‘Two Red Bulls please.’

Then my knee would spend the next two-hours in the exam room tapping away but my brain would fail to connect the dots.

The most valuable thing I took away from university was learning how to learn.

By my final year, my marks started to improve. Instead of cramming a couple of days before the exam, I spread my workload out over the semester. Nothing revolutionary by any means. But it was to me.

Now whenever I want to learn something, I do the same. I try do a little per day.

For data science and programming, my brain maxes out at around four hours. After that, the work starts following the law of diminishing returns.

I use the Pomodoro technique.

On big days I’ll aim for 10.

Other days I’ll aim for 8.

It’s simple. You set a timer for 25-minutes and do nothing but the single task you set yourself at the beginning of the day for that 25-minutes. And you repeat the process for however many times you want.

Let’s say you did it 10-times, your day might look like:

8:00 am

Pomodoro 1

5-minute break

Pomodoro 2

5-minute break

Pomodoro 3

5-minute break

Pomodoro 4

30-minute break

10:25 am

Pomodoro 5

5-minute break

Pomodoro 6

5-minute break

Pomodoro 7

5-minute break

Pomodoro 8

60-minute break

1:20 pm

Pomodoro 9

5-minute break

Pomodoro 10

5-minute break

2:20 pm

Now it’s not even 2:30 pm and if you’ve done it right, you’ve got some incredible work done.

You can use the rest of the afternoon to catch up on those things you need to catch up on.

Don’t think 10 lots of 25-minutes (just over 4-hours) is enough time to do what you need?

Try it. You’ll be surprised what you can accomplish in 4-hours of focused work.

The schedule above is similar to how I spent my day the other day. Except I threw in a bit of longer break during the middle of the day to go to training and have a nap.

I was working through the Applied Data Science Specialization with Python by the University of Michigan on Coursera. The lessons and projects have been incredibly close to what I’ve been doing day-to-day as a Machine Learning Engineer at Max Kelsen.

PS best to put your phone out of sight when you’ve got your timer going. I use a Mac App called Be Focused, it’s simple and does exactly the above.

I got high with a stranger in a Japanese hostel lobby - here's what I learned

We were talking on the couch in a hostel lobby in Tokyo. It was snowing outside, the first time in November for 60-years.

My friend had gone to sleep, he had a flight to catch the next morning.

The guy I was talking to was from America.

He had just finished telling me how he brought his vape (electronic cigarette) into Japan. He had a medical permit to smoke cannabis back home.

"Cannabis is highly illegal in Japan, up to a 10-year jail sentence," he told me.

“The Japanese customs have never seen this.” he pulled out a few vials of hashish oil.

I was writing in my journal what I had been up to that day as I was talking to this guy. He had some cool stories and I didn’t want to be rude so I turned off my iPad.

“Want to try some?” he asked.

I didn’t respond he just handed me the vape.

“You just push the button on the top and suck it in.”

“Alright,” I said.

I could hear the liquid bubbling as I held the button down. I had no idea what hashish oil was but I’d heard it was some kind of cannabis plant extract.


I inhaled the vapor.

My eyes dilated immediately. Like the feeling, you get when you look at yourself half asleep in the mirror and try to stretch your face out.

“Take another.” he said.

One was more than enough.



My whole body relaxed. It was like a dozen masseurs had decided to treat me for the evening, all at the same time.

Whatever I was writing was now definitely on pause.

I noticed myself starting to struggle to tie thoughts into a sentence. The words were there in my head but I couldn’t say them to the guy I was talking to.

I laid down on the couch.

“Maybe two was a bit much, my bad, enjoy it dude.”

Time dissolved. Everything was happening at the speed of light and at a stand still at the same time.

I started feeling as if the couch was pushing up against me rather than gravity pulling me down.

The guy was telling me stories about his life back in the US.

“Okay.” was all I could reply.

He had way more hits than me so maybe he was feeling the same. His tolerance was probably way higher.

I turned my head to try look behind the couch. When I moved my body I could feel again. I started shaking my head, with every change in direction I’d get some sense of the world but when I stopped, everything went back to being nonsensical.

“I’m going out to smoke a cigarette. Want to join?” he asked.

“No thank you.” I think I replied.

When he left I tried to get back to writing. I wanted to document my current situation.

As I sat up the demons started creeping in. What I’d done just hit me. I’d just smoked a variant of cannabis in Japan. I could go to jail if they found me.

I needed a way to sober up so I started to text my friends, they had a bit more experience than I did.

An example of what I was sending my friends. There's two more pages.

An example of what I was sending my friends. There's two more pages.

The paranoia started to kick in. I thought the guy was going to try and rob me.

Step 1: Get me high.

Step 2: Take my stuff.

I thought it was such a genius plan.

I decided I better take myself back to my room.

Everything was in slow motion. Seriously slow motion. My room was no more than 20 meters from the lobby.

By the time I put my stuff together in a pile and got myself off the couch, it took me 40-minutes to get back.

My bed was the bottom half of a bunk bed. I was sharing a dorm room with 12 or so other guests. I wondered if they knew how high I was.

I put my stuff in my bag and put my bag next to my pillow. I was travelling with one bag.

Because the rooms had so many people, the bunks had black out curtains so you’d at least get a little privacy.

I managed to close my curtains.

Then it began.

My sheets were white and the curtains completely black. As I laid down, it felt like I was floating through space. The blackness of the curtains was a perfect backdrop for the emptiness of space.

I was on a magic flying bed on a journey through the boundless universe.

The guy above me was doing some kind of update on his Windows laptop which was less than ideal theme music for my adventure but I didn’t have many options.

As I hovered through space with no sense for time, I managed to drift off to sleep. I slept for 14-hours. I woke up 30-minutes past the time I was supposed to check out from the hostel.

The guy who gave me the vape was in the bunk across from me, he had already checked out.

My bag was still next to my head untouched.

I was afraid for no reason.

I packed up my gear, got a photo with my friend on the hostel guest board. And went outside to check out the snow, the first time in 60-years. And the second time I’d ever seen snow. What a day.

Moral of the story?

Get super high in a hostel lobby with a stranger you’ve never met and realise most of our fears are in our mind and not in reality.