Thursday, March 20, 2014

Udacity CS 101 versus Stanford's CS 101

I am currently learning Javascript, It's funny how many different ways there are to learn: tutorials, classes or just simply making something which is what I am doing currently.

I am still taking Udacity's CS 101 converting the Python into Ruby, which is going well. I did half of Stanford's CS 101 course but ended up stopping because although a nice introductory course, it doesn't teach you how to write code which is in actuality the hard part and takes skill which can't be faked.

I am realizing more and more that a lot of online places (that charge you $25-$30 a month just to use their courses) actually aren't super concerned, if in the end of taking their courses for a year, if you are really able to write any code on your own or not.

When I originally started learning how to code I naively thought that the more expensive a class was the better it would be and the faster I would learn. I think most places are more concerned about getting you to come back each month and pay them some more money.

Not that they are all bad but I do have some bad stories that I may or may not share in the future about some of my own experiences.

It has taken me a long time to also figure out how to spend my learning time ONLY on things that will help me become better at coding. I can sit at a computer and spend 3 hours learning cool things about I.T. but am now learning that I can do that for the rest of my life and still not be able to solve coding challenges.

The emphasis I realize is for myself and wanting to become a really good web developer. I need to spend 90% of my learning time actually writing or playing with code. Sounds stupid I know but that is why I dropped Stanford CS 101.

Stanford CS 101 is a great course, great teacher and it's FREE! But, you really won't learn much about how to code, which is the toughest part of coding. I would say maybe 20% of the class is actually coding exercises. It's a good basic CS overview if you want one. Just don't expect to improve your coding skills from it. 

Udacity CS 101 on the other hand is just the opposite. It starts off deceptively easy and then ramps up the coding challenges and becomes tough quite quickly. I don't think I could recommend it for an absolute beginner because it assumes you already can code and have STRONG logic and problem solving skills. Which probably isn't the case if you are just starting out.

The good news is Udacity's CS 101 really DOES teach you how to code. There is tons of coding challenges for every Unit and then LOTS of additional optional homework for each unit. Just so you know when I say lots I'm talking 15 or more additional optional homework assignments per unit, which can be challenging.

That's one of the many reasons why I am just on Unit 3 of 11 in Udacity's course and the fact that I am doing all of the optional homework by converting Python to a Ruby. Which is teaching me how to look through the Ruby docs better. 

What is funny is that while both classes are called CS 101 and are college level classes, Stanford's CS 101 can be done in 1 week if you work hard. While Udacity's CS 101 will take all of 7 weeks and probably even more while working hard on the coding assignments. Unless of course you just Google and paste in someone else's code. I am assuming that you really want to learn how to code, meaning that you personally have some coding skills and can solve some coding challenges on your own.

That my friends is the hardest part. You can find really cool frameworks like Rails and in a handful of commands have something up and running but the actual ability to know how to code (meaning solve coding challenges not just run a command) is a much slower and harder process yet still enjoyable process.

I'm making a class for this fall that I'm thinking I will do on Skillshare. It will be a beginner's class and focus on making a website from start to finish for a client in real life and in the end you should walk away with a profit. It would be cool to show students how to actually make some money while learning to code versus always paying $30 and having to eat those costs.

My idea will be something close to spend $20 for the class and then I will walk you through step by step, in a real life project, while you make your own as well. At the end of the course you sell yours for $100 (or more) netting you at the very least $80 or so depending on the exact dollar amounts.

There are SO many cool, dirty secrets that no one tells you about but EVERYONE who makes projects in real life does except for the noobs who have no clue.

Anyway that's this fall. I want to help new developers learn how to code quicker. I want to show others how to cut through all the clutter and make the learning to code journey fun and dare I say profitable.

Keep coding peeps!