As a current college student in CS, I can see how this approach could be valid. A lot of what is taught in classes I could definitely learn on my own initiative, BUT
- at least in my department, diversity is emphasized. Without being required to take classes in the more obscure arenas of computer science, I may never learn methods of thought that will come in handy eventually.
- a huge part of college is the "experience", being in an environment of people who are not all learning the same things. This brings in perspectives from different disciplines, which will help in working with a variety of situations and with a variety of people down the line. And flexibility is everything, especially in CS.
- making connections is important. I'm meeting and studying with many people who I could easily see working with later in life (people in CS, and other fields as well).
I think, while a strictly vocational training program could address these things to a certain degree, a college education does so much more appropriately.
An American liberal arts education is about way more than acquiring particular technical skills; it's about learning how to analyze a space of competing claims and discovering novel ways of combining them to produce insight. In English courses we would sit around and discuss the various ethnic and historical factors that led to particular narratives. We wouldn't just derive mathematical functions in college, we would derive ideas themselves, and then analyze how we came to derive those. I guarantee that these are the same kinds of conversations that lead to truly revolutionary technological ideas and spawn countless brilliant business decisions.
Sure, one can learn how to solve various technical problems on ones own, but where will one get the skills to actually define problems in the first place? (hint: you can't get it by watching lecture videos, not totally)
Completely agree. Not to belabor the point (this topic comes up on HN very often), but college was such an eye opening experience for me, that I feel like our world would be a better and more enlightened place if everyone had the chance to go. It's not just about learning to program (which you can do on your own and on the job), but about challenging your "beliefs" and opinions (which you might find are simply wrong).
Maybe you can learn all of this outside of class, but being forced to challenge your world view is a powerful thing.
Ignorance is one of the biggest problems in this world.
I'm not sure I understand. In what way did college force you to challenge your worldview that reading a lot of books, magazines and Web sites would not?
>> Sure, one can learn how to solve various technical problems on ones own, but where will one get the skills to actually define problems in the first place?
There hasn't always been colleges, some people along the way have obviously developed these skills independently. I don't see why I couldn't do the same if I wanted.
Formal CS education has many merits, but listening to the interview made me realize that aptitude, motivation and a conducive training environment can go an incredibly long way in producing competent developers.
Countries like India have very large populations to draw on and the seed costs there for such an approach are very low.
I am not sure if the same method would work so well in 'developed' countries where there is such a strong 'you need a degree' mindset.
There's probably a big market in the US for efficiently retraining college graduates who got the wrong degree (as long as they can swallow their pride).
Essentially what he has created is a vocational school for programming.
I love programming. I'm self-taught. But when I started studying the mathematical aspects of it - actual computer science - a whole new world opened up to me (and I've barely scratched the surface).
There's a great quote on the back cover of Elements of Programming:
"Yet so-called software engineers often practice their art with little or no idea of the mathematical underpinnings of what they are doing. And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc., on time and with only minor defects." ~ Martin Newell (Adobe)
I believe one can be successful without a mathematical understanding of programming or computer science but I don't believe one can do anything truly innovative without it.
Also if anyone has any experience with the Virginia Tech CS program I'd be interested to talk with you.
You went about it the right way. If you had studied theory first and then written solutions to some toy problems to demonstrate part of some "theory" then you would have been turned off by the whole ordeal.
that's easy: using your brain. self-study. Wikipedia. Lots of other stuff on the Internet. a library. experimentation. exploration. play. try/fail. reading. getting mentors. building things. taking things apart. teaming up with others on collaborative projects, both locally and geo-distributed. acquiring friends with similar interests and learning from one another.
all much faster, cheaper, and more flexible, with less makework, and a pace and curriculum that is more attuned to your unique needs, desires, abilities and circumstances. oh and less likelihood you'll start a career in debt.
works for all fields equally well? of course not. but for some, it rocks.
also, i have a startup in this space so I'm making a bet on the validity and value of this kind of approach.
- at least in my department, diversity is emphasized. Without being required to take classes in the more obscure arenas of computer science, I may never learn methods of thought that will come in handy eventually.
- a huge part of college is the "experience", being in an environment of people who are not all learning the same things. This brings in perspectives from different disciplines, which will help in working with a variety of situations and with a variety of people down the line. And flexibility is everything, especially in CS.
- making connections is important. I'm meeting and studying with many people who I could easily see working with later in life (people in CS, and other fields as well).
I think, while a strictly vocational training program could address these things to a certain degree, a college education does so much more appropriately.
...or at least I hope so. College is EXPENSIVE.