Topic outline of computer science

Topic outline of computer science

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 outline is provided as an overview of and introduction to computer science:

Branches of computer science

Mathematical foundations

* Mathematical logic - Boolean logic and other ways of modeling logical queries; the uses and limitations of formal proof methods
* Number theory - Theory of proofs and heuristics for finding proofs in the simple domain of integers. Used in cryptography as well as a test domain in artificial intelligence.
* Graph theory - Foundations for data structures and searching algorithms.
* Game theory - useful in artificial intelligence and cybernetics.

Theory of computation

* Automata theory - Different logical structures for solving problems.
* Computability theory - What is calculable with the current models of computers. Proofs developed by Alan Turing and others provide insight into the possibilities of what may be computed and what may not.
* Computational complexity theory - Fundamental bounds (especially time and storage space) on classes of computations.
* Quantum computing theory - Explores computational models involving quantum superposition of bits.

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.

Programming languages and compilers

* Compiler theory - Theory of compiler design, based on Automata theory.
* Programing language pragmatics - Taxonomy of programming languages, their strength and weaknesses. Various programming paradigms, such as object-oriented programming.
* Programming language theory
** Formal semantics - rigorous mathematical study of the meaning of programs.
** Type theory - Formal analysis of the types of data, and the use of these types to understand properties of programs — especially program safety.

Concurrent, parallel, and distributed systems

* Concurrency - The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
* Parallel computing - Computing using multiple concurrent threads of execution, devising algorithms for solving problems on multiple 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 there by reducing the latency involved in single processor contributions for any task.

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

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.

Communications and Security

* Networking - Algorithms and protocols for reliably communicating data across different shared or dedicated media, often including error correction.
* Computer security - Practical aspects of securing computer systems and computer networks.
* Cryptography - Applies results from complexity, probability and number theory to invent and break codes, and analyze the security of cryptographic protocols.

Databases

* Relational databases - the set theoretic and algorithmic foundation of databases.
* Data mining - Study of algorithms for searching and processing information in documents and databases; closely related to information retrieval.

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, and automated theorem provers that aim to prove mathematical theorems with some assistance from a programmer.
* 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.

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.

Scientific computing

* Numerical analysis - Approximate numerical solution of mathematical problems such as root-finding, integration, the solution of ordinary differential equations; the approximation of special functions.
* Symbolic computation - Manipulation and solution of expressions in symbolic form, also known as Computer algebra.
* Computational physics - Numerical simulations of large non-analytic systems
* Computational chemistry - Computational modelling of theoretical chemistry in order to determine chemical structures and properties
* Bioinformatics - The use of computer science to maintain, analyse, store biological data and to assist in solving biological problems such as Protein folding, function prediction and Phylogeny.
* Computational neuroscience - Computational modelling of neurophysiology.

History of computer science

Vocations of computer science

* Programmer
* Software architect
* Software developer
* Software tester

Basic computer science concepts

Data and data structures

*Array
*Data structure
*Data type
*Database
*List
*Matrix (computer science)
*String
*Tree

Object oriented

*Class
*Inheritance
*Object
*Object-oriented programming

Other

*Abstraction
*Algorithm
*Automata
*Big O notation
*Closure
*Compiler
*Computation
*Computability
*Computational complexity
*Computer networking
*Computer programming
*Concurrency
*Continuation
*Control flow
*Declarative programming
*Finite state machine
*Flowchart
*Formal methods
*Functional programming
*Graph
*Halting problem
*Imperative programming
*Information hiding
*Invariant
*Iteration
*λ-calculus
*Logic programming
*Operating system
*Parsing
*π-calculus
*Polymorphism
*Procedural programming
*Programming language design
*Programming language semantics
*Recursion
*Regular expression
*Subroutine
*Systems programming
*Turing machine

People in computer science

See also

* Cognitive science

External links

*
* [http://www.lecturefox.com/computerscience/ Directory of free university lectures in Computer Science]
* [http://liinwww.ira.uka.de/bibliography/ Collection of Computer Science Bibliographies]
* [http://se.ethz.ch/~meyer/gallery/ Photographs of computer scientists] (Bertrand Meyer's gallery)

; Webcasts
* [http://www.oid.ucla.edu/webcasts/courses/2006-2007/2006fall/cs1 UCLA Computer Science 1 Freshman Computer Science Seminar Section 1]
* [http://webcast.berkeley.edu/course_details.php?seriesid=1906978395 Berkeley Introduction to Computers]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Topic outline of information science — Library science or library and information science (abbreviated LIS) is the study of issues related to libraries and the information fields. This includes academic studies regarding how library resources are used and how people interact with… …   Wikipedia

  • Topic outline of computer engineering — Computer engineering (CE) is the design and development of computer systems. It is often considered a hybrid between Electrical Engineering and Computer Science due to the utilization of both hardware and software technologies in the field. The… …   Wikipedia

  • Topic outline of computer programming — For a more comprehensive list, see the List of computer programming topics. Computer programming is a subfield of computer science. This is not a list of topics about the BASIC programming language. The following outline is provided as an… …   Wikipedia

  • Computer science — or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic… …   Wikipedia

  • Topic outline of art — Art is skill used to produce an aesthetic result. Arts or the arts encompasses visual arts, performing arts, language arts, and culinary arts. Many artistic disciplines involve aspects of the various arts, so the definitions of these terms… …   Wikipedia

  • Topic outline of history — The list of basic history topics includes various historical topics and other collected sets of information about the past. When used as the name of a field of study, history refers to the study and interpretation of the record of humans,… …   Wikipedia

  • Topic outline of robotics — Robotics is the science and technology of designing, making, and applying robots, including theory from many contributing fields. A robot is a mechanical or virtual, artificial . It is usually an electromechanical system, which, by its appearance …   Wikipedia

  • Topic outline of technology — Technology refers to all tools and procedures. It is the state of knowledge and development at any given time on controlling our surroundings, and includes all tools (utensils, devices, machinery, inventions, and structures), all methods (skills …   Wikipedia

  • Topic outline of artificial intelligence — Artificial intelligence (AI) is a branch of computer science that deals with intelligent behavior, learning, and adaptation in machines . Research in AI is concerned with producing machines to automate tasks requiring intelligent behavior. The… …   Wikipedia

  • Topic outline of science — For a more comprehensive list, see the List of science topics. Science in the broadest sense refers to any system of objective knowledge. In a more restricted sense, science refers to a system of acquiring knowledge based on the scientific method …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”