The Three Types of Computer Science
- Programming
- The bread and butter of CS. This is what most people outside of CS think of when they hear “computer science”.
- Software Engineering
- Probably the most overlooked of the three parts, at least at my university. Software engineering is making architectural decisions: designing APIs, choosing languages, organizing components, and which technologies to use.
- Algorithmics
- This is a term that a friend of mine introduced me to a few years ago and I’ve picked up. Algorithmics is the math of computer science.
I’ve bounced this off of a few friends of mine that are in Computer Science, and they all seem to agree. This post obviously needs to be fleshed out a bit, but I wanted to get it up (mostly so that I’d have something to link ‘algorithmist’; to on my sidebar. I originally submitted a definition to Urban Dictionary, but it was rejected.)