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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Go To University, Not For CS

163 点作者 jordanmessina将近 15 年前

40 条评论

wheels将近 15 年前
It was a great post right up until the part where he started talking about computer science. It left me with the feeling that either Zed did not study computer science, and is just talking out of his ass, or went through a very bad computer science program and has generalized that all of them must be that bad.<p>How arrogant can you be? There's nothing for you to learn from 100 years of algorithms, complexity theory, language or operating systems design? Nothing?! All you need is code?
评论 #1391882 未加载
评论 #1391792 未加载
评论 #1391390 未加载
评论 #1391899 未加载
评论 #1392417 未加载
评论 #1391994 未加载
评论 #1392122 未加载
评论 #1392306 未加载
评论 #1391377 未加载
archgoon将近 15 年前
It's difficult to take this person's point seriously when he claims<p>&#62;Another way to explain the shallowness of Computer Science is that it's the only discipline that eschews paradox. Even mathematics has reams of unanswered questions and potential paradox in its core philosophy. In Computer Science, there's none.<p>No unanswered questions? Rubbish, 'P=NP' anyone? Correctness of the assumption of the Church-Turing hypothesis (which is falsifiable if not provable) ? Granted, I'm not sure exactly what he means by "eschews paradox", but I assume this is mostly because the author doesn't really know himself. If he simply means "lacks counter-intuitive ideas", than he's dead wrong. I'll put forward the Halting Problem as an obvious example. Counter-intuitive if for no other reason than people are simply <i>used</i> to problems being solvable.
评论 #1391919 未加载
评论 #1391613 未加载
评论 #1391367 未加载
acangiano将近 15 年前
&#62; Another way to explain the shallowness of Computer Science<p>&#62; is that it's the only discipline that eschews paradox.<p>&#62; Even mathematics has reams of unanswered questions and<p>&#62; potential paradox in its core philosophy. In Computer<p>&#62; Science, there's none. It's assumed that all of it is<p>&#62; pretty much solved and your job as an undergraduate is<p>&#62; to just learn to get a job in this totally solved area<p>&#62; of expertise.<p>Zed is confusing software engineering with computer science. CS is a branch of applied mathematics, and it's not different from mathematics. There are unsolved problems and plenty of areas that require further research.
评论 #1391394 未加载
评论 #1391409 未加载
评论 #1391417 未加载
评论 #1391935 未加载
评论 #1391443 未加载
评论 #1392524 未加载
Emore将近 15 年前
I must thoroughly disagree.<p>First off, I agree on the importance of culture. But equating a CS degree with coding is just plain wrong; Dijkstra has a nice quote on this. CS is and should be applied mathematics, and what more timeless topic is there than math?<p>Secondly, there are some serious doubts whether university teaches you to think independently. As a counter argument, read "The Disadvantage of an Elite Education"[1]. Summary of this article: university teaches you--if you're somewhat ambitious--to become an excellent sheep. In other words, it promotes you into being the same mediocre person as anyone else.<p>That said, I still believe there's a ton of things to be gained from spending four years in a university: network, culture, more-than-average-but-still-pretty-mediocre ability to think, fun, and being inside a solid recruitment base for cool companies.<p>[1] <a href="http://www.theamericanscholar.org/the-disadvantages-of-an-elite-education/" rel="nofollow">http://www.theamericanscholar.org/the-disadvantages-of-an-el...</a>
评论 #1391397 未加载
beloch将近 15 年前
A university CS program that only teaches you how to code is nothing more than a technical degree. Some universities do this. Many, besides MIT, do not. They should teach everything from hardware architecture to compiler design to basic quantum computing in a decent undergrad program. Some of those will be advanced options. That's fine. Depth comes at the cost of specialization, and every CS grad should have a tiny bit of depth somewhere. The basic first year courses often do not assume knowledge of coding, but they should have a point <i>besides</i> learning to code.<p>I think better advice for students choosing a program would be to go to University, spend a year studying as many different things as you can, including CS, to see what engages you. Learn how to code at the same time. You might be happier as a physicist who knows how to code than a computer scientist who wishes he knew more physics. There are plenty of coding jobs a CS grad can't do.
philwelch将近 15 年前
My main regret about university isn't that I studied CS, but that I didn't study mathematics. Coming out of high school, I didn't have the faintest idea what mathematics really was. I <i>did</i> study philosophy, but the parts that appealed to me most were, frankly, the most similar to mathematics (symbolic logic and proof-writing). And then when I studied CS, my favorite parts...were mathematics again! All quite ironic for someone who always hated what he <i>thought</i> mathematics was.
评论 #1392493 未加载
b3b0p将近 15 年前
Don't go to a school that teaches programming.<p>There are many fine schools besides MIT, CMU, Caltech, etc. Saying you should disregard CS as your major because you aren't able to attend one of the elite schools is downright depressing. There are many great schools for an undergraduate that have an excellent CS curriculum.<p>Any programming at the schools I attended were optional 0 credit labs. And except for the CS 1 and 2 intro classes, there was no designated programming language, you could use any language you wanted. Some chose Ruby, Python, or Java while some others chose C or C++. They were more concerned about your ability to design and implement a proper working solution to the problem given.
评论 #1391516 未加载
madmanslitany将近 15 年前
I doubt this is actually what happened, but I can picture Zed finishing a post suggesting that students take some time to learn about culture while at university.<p>Then he decided that he wasn't going to piss off and fire up his usual quota with just that so he added an opening and closing attacking a CS education. I'm in pretty decisive disagreement with him on what he says about CS here, but there's a valuable point in here.<p>CS students, and engineers in general, are a little too dismissive of the liberal arts. There are some genuine reasons for this, but Zed is right in that it's supreme arrogance to think we have nothing to learn from thousands of years of human achievement in the arts. Ultimately, culture is how humanity expresses itself with the time and energy we've bought for it by making life easier with technological progress. Taking some time to understand the human condition through culture before we transform it would be a good thing.<p>Plus, on a personal level, meeting people who aren't fellow engineers is generally a good thing. Guys, there are a lot more girls outside of CS than there are therein... Hell, girls, that goes for you too if you just want to talk to another girl for once.
评论 #1391844 未加载
amohr将近 15 年前
If all you really want to do is code, my guess is all the art history and romantic literature classes in the world won't result in a necessarily cultured person. Culture doesn't just come from exposure, it comes from receptiveness.<p>As Dorothy Parker said "You can lead a whore to culture, but you can't make her think"<p>I think this post would be much more accurate if Zed had chosen a more fitting marquis word. There's tons of things that you learn in college but wouldn't pick up going straight to work. What I think has been most useful, for me, that I would not have picked up on my own is writing for different audiences.<p>In high school, you most likely wrote like a high school student: (generally speaking) unrefined, undirected, and usually lacking a clearly defined audience. When you get to college, you get used to the academic environment - you learn to communicate an idea efficiently to someone who isn't an english teacher. It's where you learn that all those "rules" they taught you aren't as steadfast as they would have liked you to believe. It is ok to start sentences with "And" or "But" and end with a preposition.
评论 #1391976 未加载
dustingetz将近 15 年前
i agree, culture is important.<p>but, how much money is it worth? is it worth 20k? 50k? 200k?<p>on the flip side, not all of us are brilliant alpha programmers with entrepreneur-class egos. the labor-class parents of one of my best friends are incredibly proud of his BigCo software job, and BigCos don't hire without a degree. The cynic in me wants to call a [software] degree an average person's investment.
评论 #1391413 未加载
curiousfiddler将近 15 年前
Zed, unfortunately or fortunately there are good and bad universities (in terms of CS). If you are in a good university, a lot of professors will teach you lessons which will last a lifetime. You must go check the video lectures on youtube by UC Berkley, MIT and Stanford. They will teach you the most important lesson, time and again, till it becomes a habit for you - its all about the fundamentals. They will teach you that computer science is as much programming as it is applied mathematics (&#38; lot more). I went to a bad school. Teachers were not confident in their subjects, they could not inspire me and I must confess I wasn't smart enough to inspire myself. 4 years later, now I have taken a break from my work, and I am revisiting my fundamentals with the help of the open course ware available on the net and boy, I sure have missed a lot!
评论 #1391874 未加载
thecombjelly将近 15 年前
I agree. I went through my junior year of a CS degree and dropped out because it wasn't worth it. If I was to do it over again, I would definitely have chosen a different degree. I'm 100% certain that doing a different degree, I would have turned out a better programmer and better at something else. CS (or any programming degrees) are not as intellectually challenging as they should be. If you want to learn how to program than, I have yet to find any degree that will teach you much about becoming a good programmer, so I would recommend going to school for something else.
评论 #1391505 未加载
johnl87将近 15 年前
I regret studying CS. I would have rather gone for CE and learned more in depth about how the computer works. It seems like all the computer engineers at my school are really good coders too, and they understand the hardware better. Opens up more jobs where you can do more hardcore coding like drivers and stuff.
allend将近 15 年前
CS != Programming. Honestly. No, really.<p>Personal data points, third party anecdotes even less so, are not a reliable way to extrapolate how CS (or any major) is taught outside of the MITs of the world. Your experiences, shockingly, are one among many, and remain yours.<p>That said ...<p>The culture thing is spot on. That is what getting an education is all about.
donaq将近 15 年前
Huh. I'm not sure whether to agree or disagree with this. On the one hand, I learned a lot of interesting CS stuff (algorithms, complexity theory, cryptography, parallel computing, compiler techniques, operating systems design, etc) while doing computer engineering in a university in Singapore. As far as I know, the CS courses in both the older universities in my country also teach the same things sans the hardware stuff we also learned in CE. These are useful things to know which would have been very hard for me to learn outside of university, and we're not MIT.<p>On the other hand, there are a lot of other sources of accreditation available here that conduct courses exactly like those Zed mentioned. In those cases, I would have to agree that it's not worth the money to take those courses. Then again, they're usually not called CS over here. They have names like Business IT or some such. IMO, you cannot call yourself a CS course unless you teach, you know, CS, which is pretty much the case here. What's the situation in the States? Are there a lot of courses teaching you how to code Java billed as CS?<p><i>p.s. of course I've forgotten most of the CS stuff that I've learned in university, but just knowing that they're there if I need them and gaining the big picture How Things Work was worth the time spent and makes me a better programmer.</i>
hga将近 15 年前
tl;dr: Don't major in it unless you're attending one of Stanford, U.C. Berkeley, CMU or MIT.<p>OK, that's in part my spin---he only mentions MIT---but it's also my considered recommendation post-the dot.com crash. If you plan on/desire to stay programming, I think you <i>really</i> need to be severe about approaching this, seeing as how the normal career of a programmer is over by age 35-40; beating that is going to take a <i>lot</i> more than going to a Javaschool or just starting with your native programming talent.<p>ADDED EVEN LATER: see this other posting in this thread for two exceptions to the 35-40 problem: <a href="http://news.ycombinator.com/item?id=1391516" rel="nofollow">http://news.ycombinator.com/item?id=1391516</a><p>ADDED: going into serious debt to attend a Javaschool for the purposes of becoming a better software developer strikes me as a particularly bad bargain nowadays. If you don't have what it takes to be an autodidact after graduation <i>for the rest of your career</i> you should think really hard about getting into this field to begin with.<p>On the other hand, now that we're in what looks to be a long Great Recession at best, this may be your best bet, it's just probably not a good one if you don't get into the best school you can and engage in serious extra career long effort.
评论 #1391392 未加载
评论 #1391364 未加载
DrSprout将近 15 年前
&#62;Universities are the last place where people actually attempt to expand human knowledge through research and are willing to teach you their subject. It's the one place where you can go study something entirely and totally useless like Art History or History and Philosophy of Science and nobody is going to ask you why.<p>And then immediately thereafter:<p>&#62;Except for a few places like MIT, Computer Science is a pointless discipline with no culture.<p>While I agree with some of the points made in the article (do go to college, because you'll be a better person for it, regardless.) This is where the article completely loses cohesion.<p>The way I see it, there are two ways you can teach computer science, and in both it is useful to you as a programmer, provided you apply yourself.<p>1. You are taking software engineering, learning to code. It may not broaden your horizons, but you spend four years looking at code and writing code in a structured environment, you're going to get better at coding.<p>2. It is a hopelessly abstract mathematical endeavor that has nothing to do with programming. If that's the case, it's just like philosophy of science. Despite its apparent inanity, simply the act of dissecting the how and why of computing will affect you as a person, enhancing the way you look at the world.
Osiris将近 15 年前
I started University in Computer Science, and then after some time abroad in Mexico, I switched to International Relations and studied politics and economics.<p>My plans to go into International Business haven't yet materialized and I'm currently in IT, including both web and Windows client development.<p>Being a one-man programming team means I have to learn a lot by myself and don't have the expertise of others to lean on. Because of that, I feel I'm held back from my potential. For example, I'm having a hard time teaching myself how to do TDD, or learning new languages or techniques.<p>I think a CS degree would have given me a great background to be a better programmer. So, I wouldn't discount it and I think you still learn the culture because of all the GenEd classes you have to take in University.
mattchew将近 15 年前
&#62; Chances are you'll end up going to some crappy Java school ... &#62; This is what Universities do ... they train people to think ...<p>So your average university can't teach me to code, but it can impart to me the wisdom of the ages. Not my experience.<p>At least at a state university, most kids are there to party and walk out with a credential that (they hope) gets them an agreeable, good paying job. That is the culture that the university has to share, at least by default.<p>Yes, you can get more out of university than that, and some do. But the idea that your horizons will be broadened and you will acquire culture and Learn How To Think just because you had to pay a pile of money get in the doors . . . no, I'm afraid not.
评论 #1391490 未加载
gcheong将近 15 年前
I really appreciated my CS education after reading the following from Apple's core data documentation:<p>"There are many situations where you may need to find existing objects (objects already saved in a store) for a set of discrete input values. A simple solution is to create a loop, then for each value in turn execute a fetch to determine whether there is a matching persisted object and so on. This pattern does not scale well. If you profile your application with this pattern, you typically find the fetch to be one of the more expensive operations in the loop (compared to just iterating over a collection of items). Even worse, this pattern turns an O(n) problem into an O(n^2) problem."
评论 #1392995 未加载
stipes将近 15 年前
I'll throw in my voice that a "regular" University can still have a good CS program. I am at a large state university. My theoretical courses have been, by and large, quite good.<p>Our introductory course is based on SICP and Scheme (with a little Python at the end). Our second course is roughly about OO, taught with Java (but without letting us use most of the libraries at all).<p>The design of our program is that you choose an emphasis (I'm in network security; there's also networks, graphics, AI, etc., and yes, software engineering). All emphases have theoretical elements, at least to some degree.<p>I have also had great experiences doing research with professors, who are <i>very</i> open to undergraduates.
watty将近 15 年前
I disagree with this article. I thought I could code prior to university but had no idea. If you have a chance to go to school, go. If you want to be a software developer, major in CS. Definitely have a minor or double major too.
robryan将近 15 年前
While I agree that your not always learning useful things in a CS degree for someone to have left high school and said they already know everything the CS degree and industry will teach them would be very very surprising.<p>Personally I have little interest in the alternate university path he is suggesting, I would probably eventually get sick of it and quit. That's not to say I don't find a broad range of subject interesting, just that I'd rather pick up that other stuff online in small chunks when it interests me and spend the 4 years I have of study to focus on something that really interests me like CS.
mehta将近 15 年前
Love the post. Having done college and then post-grad, I have to say that I missed out on the immense opportunities of learning about culture, art, history and so many more things.<p>Additionally, One thing that that the article did not mention is the environment in the CS departments(just for hanging out... and getting new ideas) which is way more better then the things you'll learn in class.
meric将近 15 年前
I agree with this article about CS to some extent but I don't fully agree.<p>I already knew how to program in Java (poorly) before going to university to study a double degree in Commerce and Software Engineering (which is just CS + 1 more year).<p>So you have someone who's a proto-programmer - learning programming but not quite getting there yet.<p>I don't go to any of the few places like 'MIT'. We have `learned` python, C, Java and c++, so far. (I put the learned in quasiquotes because my classmates tend to completely forget the language after the course finishes.)<p>Sure, some courses like Project Management is completely useless, but I do study courses about machine learning, and how to design algorithms.<p>I'm now in third year and I feel that going to university to learn software engineering has made me a much better programmer than I would have been without it. Stuff like Object Oriented Design and unit testing, I wouldn't have gone and learned it myself... It would take a university to teach me that.<p>Funny... I was just having a discussion with my lecturer the other day... He was complaining the university's courses were too `theory` and didn't help students get jobs... especially compared to competing universities. I was telling him the point of university isn't to get students jobs but to teach them how to think. If students wanted a place to teach them so they can get jobs they'd just go to technical colleges. I think he was convinced... hopefully.<p>What about my commerce degree? Well its mostly boring but occasionally something really interesting comes up... like e-business and economics. I've only done commerce because my dad made me to.<p>The article makes me think though, maybe I should've gone for a Commerce/Science degree majoring in Mathematics instead. Or a Commerce/Engineering majoring in Electrical engineering...
评论 #1391763 未加载
markbao将近 15 年前
&#62; You my friend, are an idiot. I hate to tell this to you, but your lack of education makes you that way. Your failure to expose yourself to literature, art, poetry, science (real science, the icky kind) has made you stupid. Another data point against you is that you learned to code and you are questioning whether you can get something out of a university education. How arrogant can you be? There's nothing for you to learn from 2000 years of Philosophy, Biology, Physics, History? Nothing?! All you need is code?<p>This is inaccurate, but excusable since I assume Zed hasn't been to high school in a good number of years. Things have changed greatly from then—high school courses are far more rigorous than what he describes as "failure to expose yourself to &#60;x&#62;"—and if you're going to a top 30th percentile school, chances are that you took an AP class as well, if not more than one.
评论 #1391462 未加载
stcredzero将近 15 年前
<i>In Computer Science, you only get an expansion of the envelope when some corporation makes a new toy everyone goes crazy over, not realizing it's just like that other toy someone else came up with 10 or 20 years ago.</i><p>This is an unintended admission by Zed that he's working off of 2nd or 3rd hand knowledge.
pedrokost将近 15 年前
I will go to University for Computing. I am one of the apparently few people who love studying - not the act of studying,but the reason to study. Any interaction with people increases my ability to think and speak. This is a quote from somwhere: "The rate of cultural and economic progress depends on the rate at which ideas are having sex." Educational facilities (even if they limit your creativity)increase the rate at which ideas have sex and that's good. After spending two years in an International Baccalaureate program I have found that I have completely changed my way of thinking and speaking. I changed. I am more grown up. There are many people - those who don't understand the reason to spend years in school - who can't even understand me anymore. I ceased to speak in terms of e.g. temperature, but in terms of heat radiation and entropy change. Common people can't understand me. That seems pointless, but it has made my brain more agile in analyzing things that are more complex and that would take too much work to resolve with 'common language'.<p>This is the power of education. I agree, you don't have to study CS, but for gods sake, if you want to be a programmer don't study a humanistic subject (except maybe philosophy). Study something that can push your brain to think and to create complex in-brain connections.<p>The reason I say don't study something like history is because I believe that in some decades simple facts won't matter much, only analyzing the facts will. I believe that in less than 50 years we will have computers connected to our brains that will be able to hold all the facts we learn and even perform simple analysis. But the complex tasks will be left to the brain, and so one must learn to increase its mental processing capacity and not to increase memory capacity The other reason for studying CS are connections. Meeting people, potential partners, employers and all the rest. You don't get that if you don't study CS. University is the easy way to come to meet people and get a job. You'd have to have a much better portfolio to get a job if you don't have a technical degree.<p>On the bad side, universities are expensive. But there's hope to earn the money back with a great degree.
评论 #1392821 未加载
ephealy将近 15 年前
Zed wrote "Your entire world has been this horribly inaccurate model of the real world where you were basically trained to be a good little factory worker." Are we sure that university life is any different? I don't discount the value of the liberal arts, but will a college education really encourage the artist within the coder, enabling him to be better? Is it possible that a college education will simply magnify the 'factory worker' training that Zed talks about? Is it not possible for an employer to take a promising coder out of high school, mentor him in the ways of a professional programmer, and provide a cultural education - all without the need for $xx,000 in debt?
sthomps将近 15 年前
Nice post. The world is lacking tons of culture (although you don't always need to go to university to get it, especially if you are a self-learner). Enjoyed the post though.
evo_9将近 15 年前
I thought the point of the article wasn't about the merits of a CS degree, but rather if someone is a pretty sharp person that already knows how to program, should he/she go to college for the experience and to learn about all that other non-programming knowledge out there. I say, hell yes, the more exposure to knowledge the better, and chances are they will be drawn into CS classes because it truly interests them.
steveklabnik将近 15 年前
I think lots of readers here are getting confused with the two kinds of "computer science." We all know CS as a theoretical discipline, close to math. But most American universities, it would seem, don't teach that. This is what Zed is talking about, the "computer science" that makes up one of these degrees.<p>Maybe, I'm just overly bitter, but he's absolutely right about the current state of undergraduate level curriculum.
评论 #1393030 未加载
swolchok将近 15 年前
People will most certainly ask you why you studied Art History in college if it turns out that you came out the other end with no marketable skills, especially when articles about your woes show up in the New York Times as though your poor planning and choice of topic did not lead directly to your inability to find work.
评论 #1391373 未加载
moolave将近 15 年前
One good friend of mine best said it, (although university may not be the only place to get all your programming skills honed) it is one of the best places to meet future connections in business or just on a collaboration of a tech project.
reader5000将近 15 年前
You can dole out 40k/yr and isolate yourself from the real world for "culture", or you can go to your local library (where they still are funded) and read a book. Your call!
marstall将近 15 年前
zed shaw is british?
georgieporgie将近 15 年前
My take, for what it's worth:<p>I was a major nerd through high school. We got a great teacher my Sophomore year who taught us all the basics of algorithms, and gave us enough freedom to pursue our own interests. I taught myself 8086 assembly language, and thereby grasped pointers in a way my classmates couldn't.<p>Fast forward to college. I wasted my time for four years. The most memorable CS things I learned were i, j, and k as iterators (in other words: some accepted formatting which makes reading each others' code easier), SQL (not well, and how hard would it be to pick this up on my own?), and finite automatons.<p>The memorable non-CS things are vastly more numerable. Anthropology, physics, philosophy, and mathematics.<p>Ten years down the road, I've found that most of my career has consisted of a) finding and fixing bugs and b) gluing code together. I have devised precisely <i>one</i> original algorithm (I don't mean simply writing fresh code, but writing an original algorithm). An <i>awareness</i> of computational complexity has been necessary, but a deep understanding of algorithms has not.<p>Here's the kicker: getting a job without a lot of algorithm and puzzle talent proves difficult. Of course, I find this hilarious in the face of my career experience. If I were brilliant at algorithms and puzzle solving, I would have been terribly, terribly bored for virtually <i>all</i> of my career. It's been my experience that interviewers tend to overestimate the complexity of the tasks their team faces each day.<p>So, I would advise a young'un who already has substantial computer talent to pursue education in a different area. You'll meet more interesting people, develop your character, and have the option of a very different career path if you tire of software or vice-versa.<p>Of course, all of this goes out the window if you truly want to be a computer scientist. But it seems to me there are at least ten well-paying "code gluing" jobs for every one research scientist position, so I hardly see this as defining necessity for a career.
forlucy将近 15 年前
I'm probably wasting my time posting here.<p>He's completely wrong about CS as a subject of study in general but very right about the problems with CS as a formal academic subject of study. Academia is a religion of sorts. It's primary goal is the replication of the academic system itself, control over a generation who desire an education whereas actual education of people is merely a secondary objective. Just one quote from Chomsky among many regarding education : "A lot of the educational system is designed for that, if you think about it, it's designed for obedience and passivity."<p>Education is Ignorance, Noam Chomsky - <a href="http://www.chomsky.info/books/warfare02.htm" rel="nofollow">http://www.chomsky.info/books/warfare02.htm</a>
c00p3r将近 15 年前
Yet another coder converted to a great teacher of humanity?
petercooper将近 15 年前
After reading this, I'd recommend "Subtlety" by Sarah Palin and "How to Manage Your Debt" by Kostas Karamanlis.