TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

My outdated Computer Science degree: Was it a waste of time?

23 点作者 rayvega超过 13 年前

22 条评论

acabal超过 13 年前
My university's CS curriculum didn't teach us to use any technologies at all, besides extremely basic Unix and C++. If you wanted to build anything outside of GCC then it was up to you. And you still had to figure out how to set up makefiles on your own.<p>CS isn't about learning technologies. It's about learning the math and science behind computation theory. You don't learn things like Visual Studio 2010 or how to set up an EC2 instance or how to build iPhone apps. You learn how to build a compiler, the data structures behind file- and operating-systems, and networking fundamentals (among many other things of course) so that you can then learn specific technologies on your own.<p>If you know why TCP was invented and the core networking stack, and you know what a compiler is and how it does its magic, and when to use a linked list instead of a dictionary, then you have the tools to figure out how to build an iPhone app--or how to use any other computer technology--on your own time.<p>Edit: I also want to add that CS does change, and learning networking or something like RDBMS theory might not have been common 10 or 20 years ago. But there's few fields worth learning that don't change in that sort of timespan. Core CS principles do change, but probably not much slower or faster than things like physics or medicine. You probably wouldn't argue that a physics degree is worthless because 10 years ago they didn't teach the Higgs Boson (or whatever, I'm not a physicist :) )
ben1040超过 13 年前
"Computer science is no more about computers than astronomy is about telescopes."<p>--Dijkstra<p>I think half of my CS curriculum in college was done as pencil &#38; paper assignments. Logic, algorithmic analysis, and the like. You learn enough "computer stuff" to be able to use it as a vehicle for learning how to <i>think</i>.<p>We learned enough of Java in CS101 to explain abstract data types, encapsulation, invariants, etc. We learned enough C++ to explore OO design by patterns. We learned enough assembly to explore low level stuff like how a call stack actually works. We learned enough Lisp to explore language concepts. And so forth.<p>Anything else, well, that was yours to learn in an internship, or on the side with whatever project you want to do to explore it. And employability after graduation was pretty much correlated to how willing you were to work harder than what was required in coursework.
评论 #3608324 未加载
gatlin超过 13 年前
Algorithm analysis, graph theory, information theory, higher order logic, number theory, and problem solving (et al) haven't changed much in a while. I realize in the article he points out specific technological stuff but a good CS program <i>uses</i> technology to drive home larger principles and ideas. I don't think CS degrees will be outdated any time soon.
评论 #3608759 未加载
jeffreymcmanus超过 13 年前
The problem is that most people in academic computer science programs really want to learn software engineering. The related problem is that most employers want to hire software engineers rather than computer scientists.
评论 #3608603 未加载
adestefan超过 13 年前
<i>Contrary to other degrees like English, History, Law, Civil Engineering, Biology, Dentistry, Medicine and many others, in Computer Science what you learning is not necessarily augmenting previous learning, but replacing it.</i><p>What a complete load of shit. People in technology <i>love</i> to reinvent the wheel, mostly because they don't know someone already did that wheel about 8 times. It's very rare to find an idea that is completely new and unique.
kylemaxwell超过 13 年前
Remember, "computer science" is not the same as learning specific technologies. You may not learn the ins and outs a specific codec, but you should understand signal processing and maybe even some coding theory. (This isn't a rebuttal to the author, who clearly understands this.)<p>Also, at the risk of repeating myself, CS != IT.
idm超过 13 年前
Computer Science involves neither Computers nor Science - and that's not a bad thing, at all.<p>On the contrary, the mathematical, logical, and algorithmic underpinnings generalize to all sorts of issues, which apply at all scales of computation. Algorithms for governance? Traffic planning? Applications in other sciences (e.g. biology, medicine, etc)? Yep - all of these. The concepts are completely agnostic to the computational substrate, and I don't think this is going to become obsolete any time soon.<p>For what it's worth, I'll unpack my first sentence a little more, which is admittedly inaccurate due to its absoluteness. I did take several CS classes that actually involved computers, but a surprising amount of the learning took place during lecture, and every test I ever took was written on paper.<p>As for "science," I am really riffing on empiricism. the closest CS gets is writing inductive proofs, but this is very different from the empirical underpinnings of other sciences, which tend to rely on statistical inference instead of induction as the primary tool for discovering "truth." ...which is yet another reason why CS is valuable.
评论 #3608326 未加载
tehjones超过 13 年前
Good job the doctor running my treatment stays up to date with modern techniques instead of bemoaning the age of her qualification.<p>The degree should teach you the techniques to manage your own learning. It is a piece of paper that certifies you can work by yourself or in groups on non trivial tasks, with insight and advice from a more experiences peer.<p>The majority of my lecturers at university were behind the latest technology, so how could they teach them.
the_bear超过 13 年前
I graduated from a pretty good CS program in 2007 without having ever written a single line of HTML, CSS, or javascript. I also didn't use a database at any point in my college classes. I know that computer science is supposed to be about theory, but that theory should be taught with relevant technologies.<p>I learned exactly one thing in college that has helped me as a professional programmer. That is that I enjoy programming. Everything else I learned through internships, freelancing, and side-projects.
评论 #3608385 未加载
ryanpers超过 13 年前
If you view a computer science degree, as teaching you particular sub-technologies (eg: CORBA, HTTP, etc), then sure, it is inevitable that one thinks of a CS degree as a time-limited paper slip.<p>This is the very definition of vocational training.<p>But there is so much more to computer science, and technology than vocational training. I hate to say it, but your math classes and algorithm analysis classes? They were some of the most important classes you took. Even classes like compilers are not invalid, even though we dont quite build compilers in the same way as the dragon book says we should. But some things are the same, and the nature of them does not change as fast as people think. For example, parsing has a number of approaches, but they are all inter-related, and learning about one in depth lets you understand why that approach is not ideal or what kinds of tradeoffs one is making.<p>Another example... as much as operating systems have evolved, many aspects of them just .. have... not ... changed. EG: IPC in modern Unix systems. Pretty much all the same as 1995 (the first year I coded sockets).<p>This is pretty much the general education vs vocational argument all over again.
mathattack超过 13 年前
I recall a friend 20 years ago talking about his dad getting a Phd in vacuum technology. Sometimes I feel lime that today. I still don't think my degree was wasted.<p>- A CS degree in any era signals persistence and an ability to solve non-BS problems that have a distinct right answer.<p>- Modern technology is so much fun, I am happy to learn it.<p>- Google and StackOverflow have made learning specific technologies so much easier. No more staying up until 2 with no resources.<p>- The earlier you get into the field, the more likely you will know things at the bottom - memory management, database tuning, etc.<p>This isn't meant to imply that CS is easy now. There is a larger body of knowledge to master with many moving parts. Just that an old degree isn't so worthless. (Neither is a 20 year old Physics degree)
ori_b超过 13 年前
The theory hasn't gotten outdated. Most of the software world is still built off of concepts from the 1960s and 1970s. If your computer science degree did not teach the concepts behind the tools, then yes, it was a waste of time.
justinlau超过 13 年前
Investing yourself in the topsoil of shiny new technologies instead of sending roots down deep will set you up for rapid obsolesence. My CS program taught the latter, and it's served me well for almost a decade.
ww520超过 13 年前
Education is for acquiring abilities, not just knowledge. Seeing that you have kept up with the current technology stacks with ease, I'd say that CS degree has served you well.
brianobush超过 13 年前
Hate to break the news to you, but school is not about teaching you every concept past, present or future. School is teaching you how to learn, dissect and digest concepts on your own. The principles are there and you have learned them, it is up to you to take those skills and apply them to your domain.<p>I went to undergrad in the same time frame and credit my schooling for the fundamentals. Now go build your house on that foundation and never stop building!
rsynnott超过 13 年前
It's not actually generally meant to be vocational training... Or, at least, if it is, it shouldn't be called 'computer science'.
tincholio超过 13 年前
It seems that it was a waste of time on this particular case, as he clearly did not understand what CS is about.
bni超过 13 年前
"MVC ... only started getting more attention after Ruby on Rails launched around 2004"<p>~year 2000, MVC was all the rage in J2EE development, Struts etc.<p>Probably was invented and even popular long before that also in other environments.
mathattack超过 13 年前
Is there a comparable struggle between academic teachings and practical application in engineering? Do EEs, ChemEs or MechEs have these discussions? I would thing this hits them too.
hollerith超过 13 年前
&#62;At the time, the Web didn’t exist. It was invented in 1993<p>Uh, no.
评论 #3608077 未加载
评论 #3608080 未加载
feralchimp超过 13 年前
Is a music degree 'outdated' if one doesn't learn to play the piano parts to Adele hits, or create synth patches like Skrillex?
j45超过 13 年前
Would you say any of your cs degree was up to date?