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 :)