Hacker News new | ask | show | jobs
by marvin 4974 days ago
-Philosophy of science, the scientific method

-Object-oriented programming

-Basic calculus

-Basic discrete mathematics

-Linear algebra

-Algorithms, data structures and asymptotic analysis

-Basic compiler design

-Theory of computation, Turing machines and formal languages

-Basic practical computing technology, from the gate level

-Basic software engineering: SE methodology, version control and developing software in a team

-Cryptography, ciphers and data security

-Overview of the role of operating systems

-Networking, encapsulation and the TCP/IP stack

-Basic web technology, server-side programming and client-side scripting

Anything outside of this, I've learned on the job or in my spare time. This includes AJAX and the use of heavier web technology. To my intuition, this is more descriptive of an undergrad degree in computer science rather than a software engineering degree. But it'd be nice to hear what others think.

1 comments

I don't see what OOP has to do with Computer Science. Isn't that Software Engineering?
I agree, but this is where my department is being pragmatic. A computer scientist with no experience at all in OOP or basic software engineering will initially be pretty useless in the private sector, which is where 90% of graduates go.