You are now able to learn anything you want at a fraction of the cost of a physical institution thanks to the advent of MOOCS, or Massive Open Online Courses. Udacity even guarantees that you'll land a software engineering or data scientist job, or your money back.
Patrick Winston, one of the most recognized names in the field of Artificial Intelligence, has his MIT lectures open for anyone to watch.
It's tantalizing to see hundreds of classes from Machine Learning by Stanford, Intro to Electronics by UC Berkeley, to a poetry class taught by Harvard. The opportunities to do great things with your newfound knowledge are only limited by your imagination.
However, one has to realize that the incentives aren't the same in a MOOC. Here are some of the lessons I've learned thus far having taken a few MOOCs.
The Onus Is On You
Completion rates for MOOCs are around 2 and 10 percent, which highlights one major challenge when doing a MOOC; it's up to you to stay on track.
It's much harder to complete a MOOC because you have to keep motivated on your own without a teacher checking in on you weekly, or having the social pressure of being ranked versus your peers.
These online classes will push you just as hard as traditional courses. So be prepared to work hard.
Free Courses Don't Penalize Lazyness
Motivation is cheap. It is not permanent. And once you're 5 weeks into a computer science class, your motivation to complete the MOOC will be long gone.
What you need is discipline. Ensure that you do the challenging things despite your mood or attitude. You'll thank yourself later.
Since these classes are free, there is no financial penalty for dropping out. And if you do choose to pay for a class for the sake of attaining a certificate as proof of course completion, the prices are still not sufficiently high to cause much financial damage if you choose to stop taking a course.
Seriously assess the time commitment for a class before you take one. Additionally, create a schedule that you'll adhere to.
Know Your Limits
Read through the prerequisites of a course. It's hard enough having to learn tough (but interesting) concepts on your own. Don't put yourself in a situation where you're learning twice as much simply because you thought you could pick up on a prerequisite as the class progressed.
I'm not saying it's not doable - but you're essentially doubling the time commitment and workload.
Take MOOCS with friends
Staying motivated throughout the class can be tough when you're on your own. This is why I suggest you register for MOOCs in pairs.
Some weeks you'll be down, but your friend will motivate you to work. The inverse will also be true.
Find Pseudo TA's
A Teacher's Assistant is an invaluable resource within the learning process. TA's are the people who help break down the high-level concepts that a professor talked about within a lecture.
It helps to find someone who has an understanding of the subject matter so that you can ask them questions whenever you are totally stumped. This keeps you motivated and not mentally fatigued.
As an example; when I was taking CS50x, I had software engineers and other coders that I could lean on when topics got way out of my understanding. These peers didn't tell me the answers to solutions. Rather, they broke down tough concepts into digestible chunks that allowed me to comprehend the problem.
Find mentors that will help you better understand tough ideas.
With these things in mind, you'll be poised to be among the few who actually complete a MOOC.