Category:Computer Science
From Wiki Notes @ WuJiewen.com, by Jiewen Wu
Contents
- 1 Computer Science Outline
- 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 Available Notes
Computer Science Outline
The following list is directly from Wikipedia.
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
- 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.
Available Notes
See below subcategories.
Subcategories
This category has the following 3 subcategories, out of 3 total.
Pages in category "Computer Science"
The following 2 pages are in this category, out of 2 total.