Interesting subfields of computer science:
- Programming languages/compilers.
- Operating systems/systems research.
- Computer architecture/computer engineering. Closely tied to electrical engineering.
- Artificial Intelligence, AKA AI.
- Expert systems. People who deal with expert systems often consider them to be AI, but that's just silly.
- Logic programming, often related to expert systems.
- Symbolic algebraic manipulation: using computational algorithms to solve mathematical problems.
- Automated theorem proving. See the note under Expert systems, above.
- Databases.
- Human-Computer Interaction, often abbreviated HCI.
- Graph theory. Depending on what kind of graph theory you study, it could also be considered a part of pure mathematics or applied combinatorics.
- Operations research is another field on the fuzzy border between mathematics (in particular, combinatorics) and computer science.
- Software engineering, which many computer scientists, and even more hackers, consider to be management voodoo.
- Distributed systems, including parallel processing, distributed computing, and parallel distributed processing (PDP, especially known for neural networks).
- Theoretical computer science, including logic and mathematics of computing.
- Information theory is a very interesting part of theoretical CS,though it also has applications in physics and other fields outside of CS.
- Cryptography/cryptology, like graph theory and many other disciplines, is as much mathematics as it is computer science.
- Computer security, more of an applied field than cryptography.
- etc.
Well-known and
highly-regarded computer science
schools (in no particular order):
- In North America (US unless otherwise specified):
- In Europe:
If I left out your
favourite field of
study or your
alma mater, please /msg me. I am especially looking for non-US CS schools.
Until now, this writeup has never included the word metanode in its text or title :)