Self Learning with Less Time and Money - MIT Challenge

Scott H Young has recently completed an interesting learning experiment where he took online MIT classes towards a computer science degree. For just $2,000 he received the education from MIT using online resources in one year!

Watch his TEDx talk part-way through the MIT experiment. Since the talk he has finished his goal of completing the MIT degree program in 1 year.

While he missed out on the traditional college experience of networking, he saved hundreds of thousands of dollars to teach himself. He called it the education "a la carte."

Checkout his updated blog on what changes he would make if he were to try it again.

Comment

Learning from Experience and Small Groups

When I first started learning iOS development it was hard. I had stumbling blocks all along the way and good reading materials were hard to find. The issues were so frequent that I started blogging about advanced topics to document what I learned. I fought with the old version of Xcode 3 and the learning curve of Xcode 4. Many things were changing (iOS 3.0, 4.0, 5.0, and 6.0), and the only way to remember how I fixed things was to write it down with pictures.

While my original blog is great for advanced topics it fails to help most beginners. That's why I started http://iPhoneDev.tv to connect and teach artists, designers, entrepreneurs, hobbyists, and tech enthusiasts.   

What's Changed?

There are a lot more resources today that make learning easier. Stackoverflow.com has more problems and solutions, Apples' World Wide Developer Conference (WWDC) gives free videos about the latest features on iPhone/iPad/iOS/Mac, and the Big Nerd Ranch books have expanded and re-oriented themselves for beginners.

Learning from Other Experiences

I think the most challenging thing I've learned has been how to rock climb, also known as bouldering. At RIT we have a rock climbing gym (Red Barn) and I never liked it until recently. 

Indoor bouldering has a set of climbing holds (hands/feet) that are in a "route" or path and marked by colored tape. The goal is to traverse the wall from start to finish to complete the route. Where I found frustration as a beginner was that I couldn't "visualize" how I would solve a path, nor could I complete more than a few steps along the way. I think I spent 2-3 months climbing 1-2 times a week and I didn't see improvement. I didn't even finish a full path for the first two months. So much failure ate away and demoralized me. I started each climbing session knowing that I wasn't going to get much further.

The solution I found was to climb with a beginner, because it allowed me to teach the very few things that I had learned to someone else. Teaching in itself is a learning process that re-enforces what we know. I think I became more aware of how I was holding my body, moving on the wall, and how to identify the mistakes with another beginner. It allowed me to see how I looked on the wall, with someone who wasn't great.

Good climbers show you how to do it right, but bad climbers highlight what you're doing wrong. I think the same thing can be applied to any other field of study.

Find a Beginner Programmer and Connect

A coach is just as important as the rest of the team. When you're working on iPhone app development by yourself it's easy to become frustrated and fail to figure out a bug. What you need is another beginner programmer who you can talk about the problems and teach what you've learned. Together you'll learn more than if you both worked in separate silos.

I think a coach is also good for those times that you hit a wall. As an advanced programmer I've seen a lot of the pitfalls and I've been there before. So I know how to get out, but you won't really learn if I give you all the answers. You'll become dependent on me solving your problems and not you solving your problems. As a coach I teach you good form, how to practice, and how to find the answers. 

As you practice and learn to program iPhone apps you need someone, a peer, that can speak the same language with you and not overwhelm your current knowledge level. It's important because they can become a source of motivation and a way to learn more effectively. You can teach them and they can teach you. In the end you'll learn more than you would from just reading a book.

Homework

  1. Find another beginner iPhone programmer or a small group of programmers. (Meetup.com, local iPhone group, or Skillshare group)
  2. Start reading 1-2 chapters a day of Objective-C Programming: The Big Nerd Ranch Guide.
  3. Practice as you read about new topics. Keep Xcode open so that you can try and write code.
  4. Discuss your challenges and how you solved them with another beginner.

Focus on Learning and Ignore Distractions with 8 Productivity Tips

Learning Requires Focus

Being productive and focused is the best way to learn. It's important to build habits that promote focus, otherwise you'll keep falling into the same mental traps.

I tend to live each day reading Twitter or Facebook. While social media sites can provide great insight on iPhone development news, they usually morph into giant time wasters. I often find myself up against a wall writing code, similar to writers block. When I learn something new and something is clicking or I just uncovered a huge bug there's an urge to ignore it and try something easy. 

What do I do? I quickly type facebook.com and 20 minutes later I've forgotten the issue and watched several silly cat videos. Not only have I been unproductive, but I've lost critical temporal knowledge I had 20 minutes ago when the issue first started. I've lost time and knowledge that could have been better used solving the problem. Don't fall temptation for an easy way out. Stick it out, and if you're really lost then step away from the computer and your phone for a short walk.

8 Simple Rules for Productive Days

The easiest way to prevent these mindless excursions is to say no, or to set limits on when you're allowed to visit social media websites. Here are 8 rules that I try to follow each day.
  1. Write a todo list. I write it at night for the next day and keep it short (3-5 items). I can sleep easier and focus harder on exactly what is needed. It really feels good to cross things off a list!
  2. No email before 12pm. If I don't look at email my brain won't worry about responding until later in the day. This definitely helps me focus hard in the first 4 hours of my workday.
  3. No social media before 5pm. Again, this reduces the amount of "new" things my mind can think about. Doing so enables me to relax and just think about my current todo list.
  4. Drink lots of water. I find that I get headaches with too much coffee and not enough water.
  5. Exercise. Each time I stop exercising I lose energy and become overwhelmed with all the work I need to do. Exercise can really help me relax after a long day of work.
  6. Sleep. Setting a regular bedtime and morning wakeup time makes me fresh and ready to go. Without a regular interval it's easy to lose motivation and hard to wake up. 
  7. Wear comfortable clothes. It's amazing how my mood instantly feels better in a soft shirt instead of a coarse shirt. Just thinking about the comfort makes me excited.
  8. Take breaks. I get tense at the computer, especially when I'm in the zone. To combat that I'm trying to relax more with frequent breaks. My favorite is just leaning over and touching my toes for 40 seconds. I also use BreakTime on my Mac.

What focus tips do you have?

Email me or comment below to share what works for you. Everyone's different and there's other things to try.

Need more motivation?

Comment

Build iPhone Apps on Windows with MacInCloud.com

Do you have a Windows PC and want to experiment with iPhone app development?

Affordable Virtual Mac in Web Browser

If buying a new/used Mac computer isn't an option this year, you can try to borrow a Mac or use a service called Mac in Cloud. MacInCloud.com This cloud service allows you to use the Google Chrome web browser or Microsoft's Desktop Remote to connect to a Mac that's in a data center. 

Want to Switch to Mac?

Are you considering switching away from Windows or Linux?

I used to be a die-hard Windows user. I built many computers from scratch and maintained a computer network at home. It was a great learning experience, but there was always something to fix. In 2008 I decided to try a Macbook Pro because you could install Windows on them. I think it was one of the best decisions I've made because it opened so many doors. (Later that year I had an internship at Apple Inc.) 

I think Mac computers are a great alternative to Windows PC's and here's why.

  1. More reliable and better support (AppleCare has replaced my iPad and Macbook at no service charge)
  2. Simplified menus and options
  3. Sexy and sturdy product design
  4. Mac trackpads are far more comfortable and responsive (2-finger scrolling is awesome)
  5. Videos, pictures, and document previews just work with the operating system. You can browse content faster without installing software bloat.

Already use a Mac?

What were your top 3 reasons for switching? Any tips for non-Mac users?