4 ms·
Hi there, I'll give you my 2 cents worth as I definitely felt the same way and even more so when I went out to work. A CS degree is probably not required for
by gawker 16y ago
Hi there,
I'll give you my 2 cents worth as I definitely felt the same way and even more so when I went out to work.
A CS degree is probably not required for most work out there. Even though some put it as a requirement to narrow the criteria, more often than not, you won't use the skills you learnt for the degree on your job.
Having said that, Computer Science is not about teaching your programming skills nor equipping you with skills where you can immediately use them. All those sorting algorithms that come with programming languages - they were written and optimized by people with a good understanding of CS concepts (note: they may or may not have a degree).
The algorithms in CS are motivated by real problems. The algorithms came about when researchers faced certain issues(i.e. a faster algorithm is needed etc). The degree just teaches you the techniques that people used in the past - and gives insight on how you can create your own or improve one of the existing ones. The undergraduate degrees merely expose you to the techniques but in reality, you will most likely call some function or routine if you want to do it.
And that's just the algorithms part of CS. There's a whole world of optimizing this and that, how to design a fault-tolerant distributed computing system, etc. Again, you may or may not use this. But to invent/create something like Google BigTable or Google File System etc, it is always handy to have the CS knowledge at hand.
Added note:
Of course, you can do this all by yourself but with a professor in front of you (who hopefully is willing to help), you can question the hell out of him/her to get the concepts right. And assignments and tests help train your understanding of these concepts.
- mklappstuhl 16y agoEverything you said sounds to me like parts of higher semesters (6+). We never did analyse an algorithm. We were never encouraged to find better ones. "Designing a fault-tolerant distributed computing system" – I wish there were a course like that. Maybe I just don't see the relations to real world because they teach basics first. But what do I need an engine for if I don't know that I can combine it with 2 axis and 4 tires to make it drive. Short story: I have on course in which we actually program. We are programming in a bad documented functional programming language. This language only works on Linux. When I asked my tutor why this is as it is and that I'd like to try to get it working on Macs he didn't encourage me to do this at all. He already worked a bit on this but had no time at the moment to proceed his work. He could have just send me what he has done and maybe some known problems and maybe I'd have been able to get it working. But he didn't. (Why?)
- gawker 16y agoSadly, the teachers are sometimes not motivated to inspire their students. It might be the case that they are teaching because of the need to do it instead of wanting to do it. Some are just doing it to complete their MScs and PhDs which is a shame. It also does sound like you're much too advanced for the level that you're at. Perhaps you can talk to some professors to do some higher level stuff or to convince them to let you skip levels? (Not sure if it's possible but one can try)