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!

Friday, March 7, 2014

Coding headaches are actually good.

At one time I actually had this idea that I would eventually outrun, this constant learning which can leave you slightly frustrated because you don't quite understand something, or a 'coding headache'.

Well here's the thing, after being hired for 8 months that feeling of always struggling to LEARN, LEARN, LEARN, MORE, MORE, MORE!!! has yet to leave and I now doubt it ever will, which is probably a good thing and not a bad thing after all. I am being to feel just a little more comfortable with being presented with something and not knowing it and then starting to try and figure it out.

This whole learning to code and hopefully one day be a top notched developer is a constant battle for more knowledge and understanding. I can't reveal the details, but all I CAN say is that I absolutely MUST start learning Javascript in the next 3 months no excuses because of some things going on. Another day another dollar, time moves on and in learning to code it's time to buckle down and study during lunches and at night when my 2 & 4 year old are in bed it's time to study some again. Then it's off to work to code and then the cycle repeats itself almost like an infinite loop, until either my head explodes or I am really good one day :-)

My one piece of advice to those who are trying to do like I did and teach themselves to code and then get hired, start getting used to not knowing something and try not to let it scare you. Instead do what I do now when walking through the office doors at work, be grateful and happy that no matter how stressful and swamped you feel, whether or not you get everything perfect, you will leave with more knowledge and information than when you walked through those doors that morning. Embrace it don't fear it, even when you screw up and get chewed out at work (and rightly so) for your mistake. Embrace it don't fear it, just one step closer to the goal of becoming a better developer.

My goal remains the same 4 years and 4 months from now, I want to be working as a senior developer somewhere. Laughable? Crazy? Maybe, I don't care I say make no small plans. Embrace it, don't fear it!

Keep coding peeps!!!