From Wikipedia, the free encyclopedia
Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.
The following list of topics is provided as an overview of and introduction to computer science:
[edit] Branches of computer science
[edit] Mathematical foundations
[edit] Theory of computation
-
[edit] 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.
[edit] Programming languages and compilers
[edit] Concurrent, parallel, and distributed systems
- Concurrency - The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
- Distributed computing - Computing using multiple computing devices over a network to accomplish a common objective or task and there by reducing the latency involved in single processor contributions for any task.
- Parallel computing - Computing using multiple concurrent threads of execution.
[edit] Software engineering
- Formal methods - Mathematical approaches for describing and reasoning about software designs.
- Software engineering - The principles and practice of designing, developing, and testing programs, as well as proper engineering practices.
- Reverse engineering - The application of the scientific method to the understanding of arbitrary existing software
- Algorithm design - Using ideas from algorithm theory to creatively design solutions to real tasks
- Computer programming - The practice of using a programming language to implement algorithms
[edit] Computer architecture
- Computer architecture - The design, organization, optimization and verification of a computer system, mostly about CPUs and Memory subsystem (and the bus connecting them).
- Operating systems - Systems for managing computer programs and providing the basis of a usable system.
[edit] Communications and Security
[edit] Databases
[edit] Artificial intelligence
- Artificial intelligence - The implementation and study of systems that exhibit an autonomous intelligence or behaviour of their own.
- Automated reasoning - Solving engines, such as used in Prolog, which produce steps to a result given a query on a fact and rule database.
- Robotics - Algorithms for controlling the behavior of robots.
- Computer vision - Algorithms for identifying three dimensional objects from a two dimensional picture.
- Machine learning - Automated creation of a set of rules and axioms based on input.
[edit] 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.
- Human computer interaction - The study and design of computer interfaces that people use.
[edit] Scientific computing
[edit] History of computer science
-
[edit] Vocations of computer science
[edit] Basic computer science concepts
[edit] Data and data structures
[edit] Object oriented
[edit] People in computer science
-
[edit] See also
[edit] External links
- Webcasts