4 ms·
If you are serious about programming and have the resources to go to a university for a CS degree program by all means do so, there is a hardly a better way to
by stiff 12y ago
If you are serious about programming and have the resources to go to a university for a CS degree program by all means do so, there is a hardly a better way to get at the same time:
A) broad overview of the existing knowledge related to computers
B) evaluation of your own skills and knowledge as compared to others and as compared to what knowledge is out there in the first place
C) high-intellectual-quality contact with other people interested in the same things
I have a CS degree via evening classes, and have been additionally self-studying Mathematics and topics in Computer Science, based on that experience I would estimate that learning a given subject to a basic decent level is at least 2-3 times slower than at the university, and will only work at all if you have any existing basis to work from and assuming you will have the motivation to learn, which also is much harder to get if you are working on your own. I probably wouldn't be able to meaningfully self-study math if I didn't take a really good discrete mathematics class at the university (in parallel with "self studying" the discrete math class at http://aduni.org/ http://aduni.org/, which I think is a really great way to get started with theory).
Working this way through 20-30 subjects, as what you would get in the course of a degree, is for mostly psychological reasons close to impossible, so I think the broad basis is best gained at the university. I personally do regularly reach in my work for things I have learnt in at least 15 university courses, one week it will come handy to know what a hash join is, next week it will be helpful to understand virtual memory and another week I will use some statistics or even things I learnt in supplementary business classes. With my growing interest in mathematics in the last years, I personally really wish I had the time and resources myself to now get at least the first year of a mathematics degree, I know it would take my independent study to a new level and that it will be hard to get to this level of competence otherwise, especially I don't really have anyone to discuss things with.
In general I think people without degree tend to suffer much more often from something akin to:
http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
It's well elaborated here:
http://notch.tumblr.com/post/15782716917/coding-skill-and-the-decline-of-stagnation http://notch.tumblr.com/post/15782716917/coding-skill-and-th...
Those people will often claim that they are doing great without having a degree, but more often then not the gaps show up quickly if their skills are scrutinized. As we are talking of thousands of people here, there are of course exceptions, but in general it is harder to get a honest self-picture if you are not learning among other people.
Then of course you still have to do a lot of self-study during your studies and ever afterwards...
- antihero 12y agoThis comment is partially correct, and partially bullshit. I've been to university and studied computer science. What computer science gives you is a foundation in understanding computing and what's going on at various levels, which simply toying around with languages does not. What a computer science degree generally does not do, is teach you how to be a particularly good programmer. There might be brief parts about patterns and whatnot, but I found there was bugger all about reusable, maintainable, elegant code. There is so much about "programming" that is very much removed from "computer science". This is where the bullshit part comes in - what stiff is saying about the Dunning Kruger effect is quite frankly obnoxious drivel. You can be an excellent programmer by learning to program via toying around, and a degree suits a very specific learning style. I've known many programmers who do not have a degree who are far better than those with a degree. I found a degree very difficult as I have ADHD and am terrible at sitting in a lecture sucking up information, then vomiting it into an exam - it is also not particularly representative of how the knowledge is actually applied. tl;dr CS degree gives you a good foundation and a bunch of in-depth insight into how computers work (and a are good tool to make you realise the breadth of the subject), but are not for everyone as people have different learning styles, and certainly do not make you a great programmer - and are not necessary in order to be one. We just need to remember that the people who invented Computer Science did not have a degree in Computer Science.
- capkutay 12y agoThe people who invented computer science were certainly driven by theoretical and mathematical concepts. Lambda calculus, church numerals, etc all played a role in the formative days of cs
- lomnakkus 12y agoThis might be a bit of a tangent, but "learning styles" have very little supporting evidence (if any): http://www.danielwillingham.com/learning-styles-faq.html http://www.danielwillingham.com/learning-styles-faq.html Just to be clear: I have absolutely no doubt that having ADHD will impact your ability to sit through lectures -- I'm just commenting on the generalisation to "learning styles". And, yes: CS has very little to do with actual programming unless you actively work towards that in terms of your chosen niche of programming.