Computer Science

Fields

Theoretical Computer Science

Applied Computer Science

Computer Systems

Computer

Branches

Data Structures

Information Theory

Machine Learning

Very-Large-Scale Integration

Coding Theory

Computational Biology

Computer Graphics and Visualization

Image and Sound Processing

Artificial Intelligence

Software Enigneering

Computational science, finance, and engineering

Programming Language Theory and Formal Methods

Computer Architecture and Organization

Concurrent, Paralllel, and Distributed Computing

Computer Networks

Computer Security and Cryptography

Databases and Data Mining

Computer Programming

Computer Program

Sequence

Formal Language

Computer Language

Construction Language

Configuration Language

Query Language

Transformation Language

Programming Language

Source Code

Low-Level Programming Language

Assembly Language

Formal Language

Data Exchange Language

Markup Language

Page Description Language

Software

Computer Programs

Documentation

Data

Computer Architecture

ISA, Instruction Set Architecture

Microarchitecture :

Logic Design

Implementation ❓

Programming Paradigm

Execution

Instructions

Machine Code

Instructions

Compiler

Dynamic/Scripting

Imperative

Structured

Declarative

Program Lifecycle Phase

Edit Time

Compile Time

Link Time

Distribution Time

Installation Time

Load Time

Run Time

Resource Management

Computing

Resource

Memory Management

Garbage Collection

Garbage

Command Language

Syntax

Statement

Expression

Value

Data Type

Information Science

Processor

Theory of Computation

Automata Theory

Computability Theory

Computational Complexity Theory

Cryptography

Computational Problem

Model of Computation

Circuit

Central Processing Unit, CPU

Electronic Circuit

Electronic Component

Definition

A model which describes how an output of a mathematical function is computed given an input

Definition

Also known as recursion theory, a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of compuable functions and Turing degrees

Definition

The branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree

Computable, Recursive, Decidable (Set)

Definition

A set of natural numbers is said to be recursive if there is an algorithm which takes a number as input, terminates after a finite amount of time, and correctly decides whether the number belongs to the set or not

Concepts

Algorithm

A problem that may be solved by an algorithm

A finite sequence of rigorous instructions, typically used to solve a class of specific problems, or to perform a computation

Production, Production Rule

A rewrite rule specifying a symbol substitution that can be recursively performed to generate new symbol sequences