Live data from Hacker News

Computer science as a lost art (2015)

rubyhacker.com

101–110 of 146 posts

Re: Computer science as a lost art (2015)

#101
post #8

So, for the dogshed builders among us, what might be the recommended pathway to learn some architecture--beyond the obvious academic options? I'm sure this has been covered to death on HN already, but if anyone has a link bookmarked and feels like sharing?

Read carefully "Structure and Interpretation of Computer Programs" (e.g. online for free), preferably do exercises. You'll get a solid start.

SICP is a Lisp textbook. This will be controversial, but I think it has little application outside of the Lisp world, however much it is venerated.

Re: Computer science as a lost art (2015)

#102
I mostly disagree. Software, like electronic engineering, is about abstraction, but it differs in a critical way: It's self-modifiable. Kids can think they're making computer games using little apps, but what they're doing is more akin to making a map for Starcraft than it is to actually making a game. If anything I'd argue that getting a CS degree or similar (math, engineering, philosophy) will arm your mind with the tools it needs to really compete over the coming decades.

If you want a simple middle class life a bootcamp is perfectly fine. Lots of people make money writing CSS. There is nothing wrong with it. But I would never tell a bright youngster that CS degrees (and similar) are a waste.

Re: Computer science as a lost art (2015)

#103

Earlier quoted context omitted.

Alternatively many CS grads never end up working in/near the web stack and that requirement in no way better prepares them for their profession. If you wanted to suggest that they be required to have a significant capstone project (a full stack system, a compiler or VM, an operating system (rudimentary or not), firmware/BIOS, HPC application, etc.) then I would agree but to say that all CS grads should be good web de…

Why not have a curriculum that focuses on the full stack? The full stack consisting of assembly, compiler design, C, networking, operating systems, embedded development, data structures and algorithms, databases development and design (including an understanding of the algorithms/optimizations used). At least one class in functional programming and at least one in and OOP language. And for all that is holy please tea…

You are essentially describing the computer engineering curriculum that we have at Virginia Tech and I imagine a number of other schools have as well. Modern Computer Engineering curricula are more or less old school CS programs in that they focus on everything from user space and below.

Re: Computer science as a lost art (2015)

#104

Earlier quoted context omitted.

Jeff Bezos went to Princeton, Zuckerberg and Gates to Harvard, Sergey Brin and Evan Spiegel to Stanford. The bestest degrees seem like a decent option for the xB/year category too.

With the exception of Bezos, everyone on your list dropped out of their degree before finishing it - although to be fair to Brin, he already had a degree from Maryland before dropping out of his PhD.

Dropped out because they had companies to run, though. That's a bit different.

Re: Computer science as a lost art (2015)

#105
post #92

Earlier quoted context omitted.

Yeah, I think it's also wrong. Most of the time I don't need any of my university knowledge at work. But it has helped me out many times just knowing that there is a better algorithm, or knowing how something works below, or knowing some extra math.

Same here. For me, often the most useful thing I bring away from my university CS classes is the knowledge that various problems have been solved, and even if I don't know those solutions (either I forgot them or never actually learned them), I know where to start looking.

I take this a step further and just always start with the assumption that a solution already exists. I've found that to be very rarely wrong in practice.

Re: Computer science as a lost art (2015)

#106
post #101
post #8

Earlier quoted context omitted.

Read carefully "Structure and Interpretation of Computer Programs" (e.g. online for free), preferably do exercises. You'll get a solid start.

SICP is a Lisp textbook. This will be controversial, but I think it has little application outside of the Lisp world, however much it is venerated.

SICP for python: https://wizardforcel.gitbooks.io/sicp-in-python/content/

LISP was the medium, not the content

Re: Computer science as a lost art (2015)

#107
I was involved in the hiring and filling of > 50 developer positions at a company, while being a tech lead.

We tried hiring a few people with just bootcamps. Only a few (so hardly a representative sample), but none of them worked out. As soon as they had to try something even the slightest bit different than what they'd done in the bootcamp they were lost. There were people with degrees in unrelated fields who then did a bootcamp who were good, and almost all of the CS/CE/EE people we hired were good.

I'm not saying this is always the case, but the two years of CS fundamentals seem to be valuable, AND the two years of unrelated core classes seem to be valuable. It might just be how it forces you to engage with and learn things you don't care about (because there will be times in any job you have to do that), or the people skills of having to learn to deal with professors and other students, or the pattern of constant learning and adapting it ingrains upon you, or something else entirely, but per the link, I don't think a bootcamp should ever be viewed as sufficient preparation for a career in development. It's fine in tandem with other things, but it's extremely limiting on its own.

Re: Computer science as a lost art (2015)

#108
post #101
post #8

Earlier quoted context omitted.

Read carefully "Structure and Interpretation of Computer Programs" (e.g. online for free), preferably do exercises. You'll get a solid start.

SICP is a Lisp textbook. This will be controversial, but I think it has little application outside of the Lisp world, however much it is venerated.

Yeah, it only teaches you about term rewriting, boolean logic, iteration vs. recursion, algorithm complexity, higher-order functions, data structure design, closures, generics, statefulness, environments, mutability, concurrency, stream processing, modularity, interpreter design and implementaion, lazy evaluation, nondeterminism, logic programming (i.e. search/constraint), low level computer architecture, memory models, and the design and implementation of virtual machines, garbage collectors, and compilers. Just a total waste of time unless you're doing Lisp.

Re: Computer science as a lost art (2015)

#109

Earlier quoted context omitted.

Computer science graduates also need a lot of training. If not more, a boot camp graduate has already been exposed enough to modern tech stacks to at least come in as a junior. Too many CS grads have little practical experience to hit the ground running on even the simplest real world projects. Yes I have a CS degree.

It should be a requirement to have each student complete a modern full stack. Some schools have pitiful results for what they say is a degree.

[deleted]

Re: Computer science as a lost art (2015)

#110

I mostly disagree. Software, like electronic engineering, is about abstraction, but it differs in a critical way: It's self-modifiable. Kids can think they're making computer games using little apps, but what they're doing is more akin to making a map for Starcraft than it is to actually making a game. If anything I'd argue that getting a CS degree or similar (math, engineering, philosophy) will arm your mind with th…

I don't think they were saying CS degrees are a waste at all, in fact I think the message is exactly the same as yours. Going to a bootcamp teaches you to use some specific tools and let you make basic projects. Getting a CS degree lets you learn how those tools work and even how to make better ones if you're good enough.
Post reply on HN