Basic computer science topics :
Basic computer science topics :
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:
Contents
1 Branches of computer science
1.1 Mathematical foundations
1.2 Theory of computation
1.3 Algorithms and data structures
1.4 Programming languages and compilers
1.5 Concurrent, parallel, and distributed systems
1.6 Software engineering
1.7 Computer architecture
1.8 Communications and Security
1.9 Databases
1.10 Artificial intelligence
1.11 Computer graphics
1.12 Scientific computing
2 History of computer science
3 Vocations of computer science
4 Basic computer science concepts
5 People in computer science
6 See also
7 External links
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
Main article: 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 -
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.
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.
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
Cryptography - Applies results from complexity, probability and number theory to invent and break codes.
Databases
Relational 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.
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
Main article: History of computer science
Vocations of computer science
Programmer
Software developer
Software tester
Basic computer science concepts
Abstraction
Algorithm
Array
Automata
Big O notation
Class
Closure
Compiler
Computation
Computability
Computational complexity
Computer networking
Computer programming
Concurrency
Continuation
Control flow
Data structure
Data type
Database
Declarative programming
Finite state machine
Flowchart
Formal methods
Functional programming
Graph
Halting problem
Imperative programming
Information hiding
Inheritance
Invariant
Iteration
λ-calculus
List
Logic programming
Matrix (computer science)
Object
Object-oriented programming
Operating system
Parsing
π-calculus
Polymorphism
Procedural programming
Programming language design
Programming language semantics
Recursion
Regular expression
String
Subroutine
Systems programming
Tree Turing machine
12:45 AM
|
Labels:Bluetooth,Computer Peripherals
Computers
|
This entry was posted on 12:45 AM
and is filed under
Computers
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
0 comments:
Post a Comment