High Level Understanding CS
Category: Technical
<!-- gdoc-inlined -->
Major Fields
- Systems Programming
- Operating Systems
- Machine Organization
- Assembly
- Memory
- Caching
- Virtual Memory
- Dynamic Memory
- Concurrency
- Threads
- Synchronization
- Computer Architecture
- Data Analysis
- Visualization
- Data Storage Systems
- Machine Learning
-
- Data Structures
- Algorithms
- Machine Learning
- Graph Algorithms
- Approximation Algorithms
- Randomized Algorithms
- Distributed Algorithms
- Networking
- Cloud Computing
- Mobile Computing
- Network Protocols
- Programming Languages
- Type Systems
- Syntax / Semantics
- Abstraction Mechanisms
- Compilers
- Interpreters
- Artificial Intelligence
- Machine Learning
- Knowledge Representation
- Computational Linguistics
- Search
- Robotics
Minor Fields
- Crypgography
- Graphics
- Computer Vision
- Graphics
Computer Science Research Frontier
- Artificial Intelligence
- Computation and Language
- Computational Complexity
- Computational Engineering, Finance, and Science
- Computational Geometry
- Computer Science and Game Theory
- Computer Vision and Pattern Recognition
- Computers and Society
- Cryptography and Security
- Data Structures and Algorithms
- Databases
- Digital Libraries
- Discrete Mathematics
- Distributed, Parallel, and Cluster Computing
- Emerging Technologies
- Formal Languages and Automata Theory
- General Literature
- Graphics
- Hardware Architecture
- Human-Computer Interaction
- Information Retrieval
- Information Theory
- Logic in Computer Science
- Machine Learning
- Mathematical Software
- Multiagent Systems
- Multimedia
- Networking and Internet Architecture
- Neural and Evolutionary Computing
- Numerical Analysis
- Operating Systems
- Other Computer Science
- Performance
- Programming Languages
- Robotics
- Social and Information Networks
- Software Engineering
- Sound
- Symbolic Computation
- Systems and Control
Source: Original Google Doc