Hacker News new | ask | show | jobs
by jfaucett 5045 days ago
I think unless you're a computer scientist or engineer at google, fb, etc. most of the theory you run into at the university level you're never gonna use. Having said that some "theory" is important for me as a developer, but really it just boils down to 2 subjects Discreet Maths and algorithms, so I would try to emphasize those two areas in the program.

As far as employability goes, I think having a strong understanding of networking (TCP/HTTP) and Data/Databases, is really the core ( ie Data & Application layers) of most development these days.

Also I know its kind of experimental but if possible I would actually teach go as a programming language instead of the usual c/c++/java (for the systems level / networking stuff). Go in tandem with javascript (both server and browser) for web applications, allows you to deal with just about every programming concept there is at an abstracter level and both languages are not overly difficult to grasp.

So to put these thoughts together. Maybe you could center the program around networked software development? This lets you teach things like webkit, browsers, js, networking, servers, and databases while all staying in one (though very broad) medium. I think this could be possible for 1 prof. So for instance, in "interface design" you're in the browser and delve into webkit and user interaction, or for "computer graphics" you can go into "webgl". For "databases" you're still dealing with server / client architectures for which you can examine db structures different types of web applications.

I'd love to have had an option to do a pure web engineering compsci program. Maybe some of my ideas will help, good luck!

1 comments

You may never use most of the things you learned. But they almost certainly had an impact on how you thought and developed. I'm surprised how many times silly theory of computation things come up and maybe don't force me to change my solution, but get me to think of it at least a little differently.
Yes, maybe I should have mentioned proofs/theory of computation seperately I kind of just included them under the general algorithms umbrealla term :)