Outline of computer science
Subfields
Algorithms and data structures
- Algorithms – Sequential and parallel computational procedures for solving a wide range of problems.
- Data structures – The organization and manipulation of data.
Communication and security
Computer graphics
- Computer graphics – Algorithms both for generating visual images synthetically, and for integrating or altering visual and spatial information sampled from the real world.
- Image processing – Determining information from an image through computation.
- Information visualization – Methods for representing and displaying abstract data to facilitate human interaction for exploration and understanding.
Concurrent, parallel, and distributed systems
- Parallel computing – The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
- Concurrency (computer science) – Computing using multiple concurrent threads of execution, devising algorithms for solving problems on various processors to achieve maximal speed-up compared to sequential execution.
- Distributed computing – Computing using multiple computing devices over a network to accomplish a common objective or task, and thereby reducing the latency involved in single processor contributions for any task.
Programming languages and compilers