289 karma · joined June 4, 2012
Also, there are people who have learned everything online. They are out there - thousands- heck- tens of thousands of them on the web. Granted, maybe gSchool will help educate some people who can't learn themselves. To those people the 20k will be worth it.
And I've been trying to calculate how good of an investment these programs are. They help with job placement, which is valuable. Then again, the market is so hot for developers now that anyone who self-studies for 6 months could find a job fairly easily on his own.
As for the instruction itself, there are so many resources online (free, I might add) that it seems almost wasteful to drop 20k to learn when you could learn for free, assuming one possesses sufficient self-motivation and knows where to look.
Finally, there is the possibility of a potential huge opportunity cost one can't overlook:
the option of finding a paying jr developer job where one learns on-site. Instead of -20k you get 30k (based on 60k/year working for 1/2 year) and I assume end up roughly even in coding ability. That's $50,000 extra in your pocket, with demonstrable real-world experience rather than "school" experience.
MIT's 6.00x has a strict weekly structure.
Udacity's courses have all eliminated the schedule and are now always-open, self-paced.
Most of Coursera's courses are structured.
If you want your friends to actually become programmers I'd recommend that you push both an Intro course as well as codeacademy for language practice. Codeacademy by itself isn't going to get you anywhere. The tutorials don't provide a solid enough foundation to actually implement anything meaningful. As a beginner programmer I went through every Python tutorial in < 30 hours. I used them as Python language practice, which worked well as a supplement to the core Intro courses. Both Udacity and 6.00x use python so they work well with codeacademy's python tutorials.
Or am I incorrect in thinking the two are discrete concepts unable to be separated?
I thought SSH was run through terminal command line. ie. all text. I can understand coding in vim with python or ruby through the command line. I'm not sure how its done with languages that need an IDE? like java
I'm really looking forward to the increases in human skill and potential that comes from educating millions from around the world. That creative genius who never how to code, now has the skills to write innovative software. Or the millions of more average people who've increased their potential - that's valuable as well. Think about what the world would be like if everyone was educated up to the college-level. I think human advancement in science, culture, technology, and the arts would accelerate tremendously.
For instance, what are your options on Windows or Mac? And are the languages you can do this with limited to Ruby, Python, or Javascript?
6.00x (MIT's edX Intro to CS course), Python https://www.edx.org/courses/MITx/6.00x/2012_Fall/info
CS101 (Udacity's Intro to CS course), Python http://www.udacity.com/overview/Course/cs101/
Python the Hard way (Zed Shaw's online book), Python http://learnpythonthehardway.org/book/
Code Academy, (Python track), Python http://www.codecademy.com/tracks/python
I consider 6.00x and CS101 to be my CS foundation and Python Hard way and Code Academy to be brush-up on the Python/programming. Working through all these in tandem really hits my brain in 4 different but complementary angles.
1) 'Typical' CS masters program. (1-1.5 years) Accepts students with the requisite Undergraduate CS experience. (eg. at least Intro to CS, Data Structures, and Computation)
2) The Undergraduate CS Masters degree: (2-3 years) For Students with no CS/programming experience This is basically an undergraduate CS degree, only it counts as a Masters.
3) Mixed Program: (2.5-3 years) A masters in CS, with the concomitant courses, but requires you to take the undergraduate courses first, which may tack on 1.5 -2 years by my estimate of your situation.
Option 1) is not a likely option for you. If you manage to get accepted to one of these schools, you will be looking at 3) Mixed Program.
Option 2) is a good choice if you are pressed on time or finances, and want the prestige of a Masters degree, and don't care too much about taking Masters-level CS courses.
Another option is to get your second bachelor's in CS. Which is basically Option 2) but you don't get to call it a Masters.
One recommendation: A lot of the upper CS courses have prerequisites- namely Intro to CS and Data Structures, as well as Calc I and Calc II.
You could take these at the college if need be but IMHO you could and should learn these subjects through self-study, because you'll save money and time. Then when you enter University you can hit the ground running with the more advanced courses.
FYI your facebook sign in link isn't working for me. (Chrome) ALso, if it syncs to google.. why can't we sign in with google?
I would guess a lot of hackers on HN started young and already have several years of experience by the time they hit college. And by that point they might not even need to choose to study CS, instead rounding out themselves by studying other interests.
6.00x (MIT's edX Intro to CS course), Python https://www.edx.org/courses/MITx/6.00x/2012_Fall/info
CS101 (Udacity's Intro to CS course), Python http://www.udacity.com/overview/Course/cs101/CourseRev/apr20...
Python the Hard way (Zed Shaw's online book), Python http://learnpythonthehardway.org/book/
Code Academy, (Python track), Python http://www.codecademy.com/tracks/python
I consider 6.00x and CS101 to be my CS foundation and Python Hard way and Code Academy to be brush-up on the Python/programming. Working through all these in tandem really hits my brain in 4 different but complementary angles.
The code checkers give you immediate feedback with test suites that are more comprehensive than what students would (or could, in most cases) design themselves.
sure there's no professorial feedback on your code, but 90% of the time those comments you receive back on your printed out code will go unread. Not to mention the lead time, often as long as two weeks, from the time you submit to the time you receive back comments, often makes the comments worthless.
as for style, my Uni Intro to CS courses didn't check my style either. I find 6.00x and CS101 to be vastly superior in almost every respect.
finally, 6.00x and CS101 actually provide you with the "correct" answers after you've passed their tests with an adequate solution. I've a few times found myself hitting my head and thinking, "Why didn't I think of that! That's more elegant than my solution.", and going back and attempting to implement their solution. Try finding that in anything other than an online course.
The trust my mother had in dropbox is now gone, and probably will remain so for the next couple years.
I've considered the M.Sc in CS but I honestly don't have the background for it. I need to retake Calc. I don't have any algorithms or data structures knowledge. I have taken literally no CS courses as well. Isn't a Masters in CS more advanced than the Undergrad Curriculum? Or am I able to take undergrad courses in the Masters program and get a M.Sc?