Skip to content

Comment on Ask HN: What's missing in a CS degree?parent

Comments

The fact remains that it is much easier to:

- Perform Unit/Functional/User Test

- Use version control

- Be exposed to a variety of both tools (editors/ides) and services (github.com, getexceptional.com)

- Work in a distributed manner

- Get real world feedback on your application from people other than the Professor

- Work with more than the String class of your language

- Collaborate on related, but not dependent, code in the same codebase

- Learn different patterns (Observer, Singleton, etc)

- Develop the way you would in the real world (Scrum? Waterfall? You name it. No real cowboy coding)

when doing web development than doing most "Random Number generator" or "Porpuquine" projects assigned in CS to show recursion or proper OOP.

I'm probably biased though, as I'm a web developer who went through the Java bullshit and didn't learn a damned thing until I actually tried to make a web application that someone other than my Professor of Data Structures and Algorithms II was testing/grading/using.

ADDENDUM: As for the CS portion of the degree, learning all the aforementioned skills will hopefully allow you to more easily grasp things like the difference between PSPACE and NP-Hard problems, Genetic Algorithms, AI, etc. I'd hope to god that someone designing AI would at least use version control on their application. It would be a nightmare to find a bug that sliced a person in half when they are in surgery without a tool like "git bisect" :)

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.