Live data from Hacker News

The limited value of a computer science education

nathanmarz.com

111–120 of 163 posts

Re: The limited value of a computer science education

#111

I may have been lucky, but I don't recognize this statement when I think of my own CS curriculum: The vast majority of what a programmer does, forming good abstractions and avoiding complexity, is almost completely untouched by computer science curriculums. That's the majority of what my CS degree covered, in several different programming paradigms. Even the idea that there are "programming paradigms" is something I…

I probably covered more on networking than algorithms. I only did 2 papers on algorithms at university, as well as AI, which covered some more algorithms. I did 2 papers on networking, a paper on computer security, and a paper on web development, and implemented an http client for Operating Systems.

I had 2 classes of data structures + algorithms, a couple more of algorithms and complexity analysis, and algorithms were heavy components of the AI and robotics electives that I took. I had one networking class, also an elective. I had a similar programming language comparison class as the poster you responded to, along with OOP design and a course on software engineering practices.

There were some other math and logic-related courses with some proofs and such, but almost all of that was backed by writing software projects. I didn't write many papers in my computer science classes, but I did a lot of projects, both individually and in groups.

It's interesting to read how different other people's university experiences were.

Re: The limited value of a computer science education

#112
post #95

I have very mixed feelings about this article. For one thing, there are a couple of different kinds of CS programs. The basic division is, or used to be, whether it was more Math or Engineering heavy. In fact, some schools attach the program to a BS in the Math department and others in the engineering with more exposure to EE and Computer Engineering. Neither of these are necessarily helpful for becoming a programmer…

Despite those benefits you list, you still don't think that knowledge makes you a better software engineer? I definitely think that understanding the lower levels helps me write better software, largely for the reasons you list.

I do think it makes you a better engineer, but I also think that the first year or two of working in a group with other developers taught me alot more about becoming a good software developer than alot of what I learned in college. You learn more about how computers work in Uni, but you learn more about how software development groups work by doing software development.

Re: The limited value of a computer science education

#113
post #90

Earlier quoted context omitted.

While it's clear many university institutes and projects have benefited the wider public, I think he was specifically referring to the value of university to an individual, for most people (excepting those who are studying sciences to enter a specific niche field where they wouldn't be able to pick up the necessary skills anywhere else) university is indeed a waste of time and money. I'm a 22 year old developer based…

Once again, you've completely missed the point. I am trying to say that the value of university has nothing to do with your ability to get a job. I'm trying to plead with people to stop trying to compare university with a job or measure the value of a university in terms of a job. If you can't see the value in university, good for you; nobody's forcing you to go.

> Once again, you've completely missed the point.

But, you didn't make an argument for your point in your last statement, and instead made a vague, mysterious assertion:

> Universities are tremendously useful and do many great things for society and humanity.

You even explicitly pointed out this fact:

> I'm not going to provide evidence because I think that any reasonable person will agree with me.

Re: The limited value of a computer science education

#114
post #55

Earlier quoted context omitted.

These are about going to school , though, not getting a CS degree. And 100% of these things could, and probably should, be learned in the real world and not through paying tens of thousands of dollars under the guise of education. I did not go to school for a CS degree, and that has not hampered me in any way when searching for a job in software. All I learned in college was how to game the system of the institution…

> that institutions like that are a societal racket and waste of time and money. This is completely wrong. Universities are tremendously useful and do many great things for society and humanity. I'm not going to provide evidence because I think that any reasonable person will agree with me.

Institutions of academia do many great things.

But what we have is an unholy chimera of academia and occupational training where _everybody_ is pushed to go through it, not just the academics. That's where this two-faced mess of inapplicability comes from.

Re: The limited value of a computer science education

#115
post #55

Earlier quoted context omitted.

> that institutions like that are a societal racket and waste of time and money. This is completely wrong. Universities are tremendously useful and do many great things for society and humanity. I'm not going to provide evidence because I think that any reasonable person will agree with me.

While it's clear many university institutes and projects have benefited the wider public, I think he was specifically referring to the value of university to an individual, for most people (excepting those who are studying sciences to enter a specific niche field where they wouldn't be able to pick up the necessary skills anywhere else) university is indeed a waste of time and money. I'm a 22 year old developer based…

You say "niche field" but in reality we could argue that there are no niche fields as all the information necessary to "self-teach" is probably out there on the internet. What's vastly different is the experience of being taught by someone who has a deep knowledge of the subject, and is willing to share his understanding. While this carries with it the nuances of that particular professor's experiences, it will be much more structured information (and tested, to an extent), and this is a big part of why education at a university is valued so much.

But certainly, university is not the only way to learn. The issue is that there are often too many applicants to jobs already, and recruiters use a university degree as a filter. I think this may be unfair to some people, but the companies also value their time.

Re: The limited value of a computer science education

#116
So I did a 4 year computer science degree about 10 years ago. It's really hard to understand why anyone would bash a degree. What I still find "relevant to practice" from then is:

- Any good CS curriculum is basically a calculus, statistics, linear algebra, real analysis, combinatorics, discrete mathematics course with a bunch of CS modules thrown in on the side

- All the computational intelligence stuff we did (particle swarm optimizers, neural networks, classification algorithms, data mining, ant colony optimization, genetic algorithms, etc.) these things were all cool but not really mainstream back then. It's all the rage right now. I'm really glad I have a good theoretical background in all of that now, it makes it so much easier to jump back into machine learning and analytics. The math I did makes it even easier still.

- I use a lot of "full-stack theoretical understanding" of operating systems, networking, compilers and distributed systems courses to reason about why things could possibly go wrong in production performance problems on large distributed enterprise applications, and how to isolate where the problem is. I do this on a daily basis and am amazed how many professional programmers don't understand what's going on "under the hood". It's almost a Dunning-Kruger effect situation where people don't even know what they don't know.

Then this doesn't even begin to mention things like formal methods, software architecture, computer graphics, database theory, etc. Oh, and the philosophy courses, which really went into logic and critical thinking.

A CS degree is completely mind-expanding if you get it from a good institution.

Re: The limited value of a computer science education

#117

Annoyingly, there isn't much in the way of change on the horizon for this problem, people seem to like things the way they are. The problem is that there is no good formalized educational standard for software development training. So instead Computer Science gets shoehorned in as a substitute. This leads both to sub-standard Computer Science degree programs from a pure CS perspective (because they are primarily just…

One interpretation of CS (that I personally subscribe to) is as a subject about the theoretical and mathematical understanding of process and abstraction. Computers and software are just the medium. Taken that way, it's an important subject that should be supported and protected. But but students and employers seem to be expecting CS courses to be an industry training program about specific technologies and practical programming. This leads to a confused mess where nobody is speaking the same language, and limited satisfaction for all parties.

Re: The limited value of a computer science education

#118
> The vast majority of what a programmer does, forming good abstractions and avoiding complexity, is almost completely untouched by computer science curriculums.

I feel like in the course of working on large projects such as a parsing, lexing, compiling program, a student inevitably touches on these topics. And certainly when working with template code (such as in an Intro to CS class), they can see how nicely it was structured for them.

However, I agree with the sentiment that it seems like these topics are not directly addressed by most curriculums. At the same time, from my experience it seems like these ideas are applied very differently in different contexts (such as different platforms and languages), so a college class would be more abstract in teaching them. Perhaps it would be effective if they did some examples while teaching these ideas.

Re: The limited value of a computer science education

#119
post #46
post #37

Earlier quoted context omitted.

Not to say school wasn't useful to you but all of these things could also be learned on the job. (As that is where I learned them)

That's true, and I completely understand, but it's besides my point. My point is to implore people to stop looking at a CS degree as just a means to get a job. If you look at it that way, of course you're not going to find 100% value in it. Getting a job is simply not what a CS degree is for. It was never declared to be for this purpose—nobody claims it's for this purpose (except maybe some schools for marketing purp…

While I agree that 'get a job' should not be the focus of university, that's what all of modern society focuses on, from government mandates, to parents pushing their kids, to employers screening candidates.

The dream of what academia should be is wildly removed from the reality of the modern (from an American viewpoint) university system.

Re: The limited value of a computer science education

#120
If any young person is reading this I would caution them not to take such advises blindly. A "good computer science" education beats "no formal education" any day for an average person for the simple reasons.

1. Success in tech industry depends as much on your peers as much it would depend on your IQ. Knowing bright, well established people in tech industry is invaluable. Such connections are often built when you go to schools like Stanford, MIT etc. or even a reasonably good college.

2. Having a good college name on your resume is going to open many doors for you. You will realize that as a MIT grad when you talk to investors about cutting edge research in a specific field would be far more credible.

3. CS degree will not teach you a lot about how to code, build great products. Not more than a passionate coder writing code in his basement. I admit that.

Post reply on HN