Глоссарий информатики
(Перенаправлено из кода приложения )
Информатика |
---|
Этот глоссарий по информатике представляет собой список определений терминов и понятий, используемых в информатике , ее субдисциплинах и смежных областях, включая термины, относящиеся к программному обеспечению , науке о данных и компьютерному программированию .
А [ править ]
- абстрактный тип данных (ADT)
- Математическая модель типов данных , в которой тип данных определяется его поведением ( семантикой ) с точки зрения пользователя данных, в частности, с точки зрения возможных значений, возможных операций с данными этого типа и поведения эти операции. Это контрастирует со структурами данных , которые являются конкретным представлением данных с точки зрения реализатора, а не пользователя.
- abstract method
- One with only a signature and no implementation body. It is often used to specify that a subclass must provide an implementation of the method. Abstract methods are used to specify interfaces in some computer languages.[1]
- abstraction
- 1. In software engineering and computer science, the process of removing physical, spatial, or temporal details[2] or attributes in the study of objects or systems in order to more closely attend to other details of interest;[3] it is also very similar in nature to the process of generalization.
- 2. The result of this process: an abstract concept-object created by keeping common features or attributes to various concrete objects or systems of study.[3]
- agent architecture
- A blueprint for software agents and intelligent control systems depicting the arrangement of components. The architectures implemented by intelligent agents are referred to as cognitive architectures.[4]
- agent-based model (ABM)
- A class of computational models for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) with a view to assessing their effects on the system as a whole. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to introduce randomness.
- aggregate function
- In database management, a function in which the values of multiple rows are grouped together to form a single value of more significant meaning or measurement, such as a sum, count, or max.
- agile software development
- An approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).[5] It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.[6]
- algorithm
- An unambiguous specification of how to solve a class of problems. Algorithms can perform calculation, data processing, and automated reasoning tasks. They are ubiquitous in computing technologies.
- algorithm design
- A method or mathematical process for problem-solving and for engineering algorithms. The design of algorithms is part of many solution theories of operation research, such as dynamic programming and divide-and-conquer. Techniques for designing and implementing algorithm designs are also called algorithm design patterns,[7] such as the template method pattern and decorator pattern.
- algorithmic efficiency
- A property of an algorithm which relates to the number of computational resources used by the algorithm. An algorithm must be analyzed to determine its resource usage, and the efficiency of an algorithm can be measured based on usage of different resources. Algorithmic efficiency can be thought of as analogous to engineering productivity for a repeating or continuous process.
- American Standard Code for Information Interchange (ASCII)
- A character encoding standard for electronic communications. ASCII codes represent text in computers, telecommunications equipment, and other devices. Most modern character-encoding schemes are based on ASCII, although they support many additional characters.
- application programming interface (API)
- A set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.
- application software
- Computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Common examples of applications include word processors, spreadsheets, accounting applications, web browsers, media players, aeronautical flight simulators, console games, and photo editors. This contrasts with system software, which is mainly involved with managing the computer's most basic running operations, often without direct input from the user. The collective noun application software refers to all applications collectively.[8]
- array data structure
- A data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key. An array is stored such that the position of each element can be computed from its index tuple by a mathematical formula.[9][10][11] The simplest type of data structure is a linear array, also called a one-dimensional array.
- artifact
- One of many kinds of tangible by-products produced during the development of software. Some artifacts (e.g. use cases, class diagrams, and other Unified Modeling Language (UML) models, requirements, and design documents) help describe the function, architecture, and design of software. Other artifacts are concerned with the process of development itself—such as project plans, business cases, and risk assessments.
- artificial intelligence (AI)
- Intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans and other animals. In computer science, AI research is defined as the study of "intelligent agents": devices capable of perceiving their environment and taking actions that maximize the chance of successfully achieving their goals.[12] Colloquially, the term "artificial intelligence" is applied when a machine mimics "cognitive" functions that humans associate with other human minds, such as "learning" and "problem solving".[13]
- ASCII
- See American Standard Code for Information Interchange.
- assertion
- In computer programming, a statement that a predicate (Boolean-valued function, i.e. a true–false expression) is always true at that point in code execution. It can help a programmer read the code, help a compiler compile it, or help the program detect its own defects. For the latter, some programs check assertions by actually evaluating the predicate as they run and if it is not in fact true – an assertion failure – the program considers itself to be broken and typically deliberately crashes or throws an assertion failure exception.
- associative array
- An associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection.Operations associated with this data type allow:[14][15]
- the addition of a pair to the collection
- the removal of a pair from the collection
- the modification of an existing pair
- the lookup of a value associated with a particular key
- automata theory
- The study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science and discrete mathematics (a subject of study in both mathematics and computer science).
- automated reasoning
- An area of computer science and mathematical logic dedicated to understanding different aspects of reasoning. The study of automated reasoning helps produce computer programs that allow computers to reason completely, or nearly completely, automatically. Although automated reasoning is considered a sub-field of artificial intelligence, it also has connections with theoretical computer science, and even philosophy.
B[edit]
- bandwidth
- The maximum rate of data transfer across a given path. Bandwidth may be characterized as network bandwidth,[16] data bandwidth,[17] or digital bandwidth.[18][19]
- Bayesian programming
- A formalism and a methodology for having a technique to specify probabilistic models and solve problems when less than the necessary information is available.
- benchmark
- The act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it.[20] The term benchmark is also commonly utilized for the purposes of elaborately designed benchmarking programs themselves.
- best, worst and average case
- Expressions of what the resource usage is at least, at most, and on average, respectively, for a given algorithm. Usually the resource being considered is running time, i.e. time complexity, but it could also be memory or some other resource. Best case is the function which performs the minimum number of steps on input data of n elements; worst case is the function which performs the maximum number of steps on input data of size n; average case is the function which performs an average number of steps on input data of n elements.
- big data
- A term used to refer to data sets that are too large or complex for traditional data-processing application software to adequately deal with. Data with many cases (rows) offer greater statistical power, while data with higher complexity (more attributes or columns) may lead to a higher false discovery rate.[21]
- big O notation
- A mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is a member of a family of notations invented by Paul Bachmann,[22] Edmund Landau,[23] and others, collectively called Bachmann–Landau notation or asymptotic notation.
- binary number
- In mathematics and digital electronics, a number expressed in the base-2 numeral system or binary numeral system, which uses only two symbols: typically 0 (zero) and 1 (one).
- binary search algorithm
- A search algorithm that finds the position of a target value within a sorted array.[27]
- binary tree
- A tree data structure in which each node has at most two children, which are referred to as the left child and the right child. A recursive definition using just set theory notions is that a (non-empty) binary tree is a tuple (L, S, R), where L and R are binary trees or the empty set and S is a singleton set.[28] Some authors allow the binary tree to be the empty set as well.[29]
- bioinformatics
- An interdisciplinary field that combines biology, computer science, information engineering, mathematics, and statistics to develop methods and software tools for analyzing and interpreting biological data. Bioinformatics is widely used for in silico analyses of biological queries using mathematical and statistical techniques.
- bit
- A basic unit of information used in computing and digital communications; a portmanteau of binary digit. A binary digit can have one of two possible values, and may be physically represented with a two-state device. These state values are most commonly represented as either a 0or1.[30]
- bit rate (R)
- In telecommunications and computing, the number of bits that are conveyed or processed per unit of time.[31]
- blacklist
- In computing, a basic access control mechanism that allows through all elements (email addresses, users, passwords, URLs, IP addresses, domain names, file hashes, etc.), except those explicitly mentioned in a list of prohibited elements. Those items on the list are denied access. The opposite is a whitelist, which means only items on the list are allowed through whatever gate is being used while all other elements are blocked. A greylist contains items that are temporarily blocked (or temporarily allowed) until an additional step is performed.
- BMP file format
- A raster graphics image file format used to store bitmap digital images independently of the display device (such as a graphics adapter), used especially on Microsoft Windows[32] and OS/2[33] operating systems.
- Boolean data type
- A data type that has one of two possible values (usually denoted true and false), intended to represent the two truth values of logic and Boolean algebra. It is named after George Boole, who first defined an algebraic system of logic in the mid-19th century. The Boolean data type is primarily associated with conditional statements, which allow different actions by changing control flow depending on whether a programmer-specified Boolean condition evaluates to true or false. It is a special case of a more general logical data type (see probabilistic logic)—i.e. logic need not always be Boolean.
- Boolean expression
- An expression used in a programming language that returns a Boolean value when evaluated, that is one of true or false. A Boolean expression may be composed of a combination of the Boolean constants true or false, Boolean-typed variables, Boolean-valued operators, and Boolean-valued functions.[34]
- Boolean algebra
- In mathematics and mathematical logic, the branch of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0, respectively. Contrary to elementary algebra, where the values of the variables are numbers and the prime operations are addition and multiplication, the main operations of Boolean algebra are the conjunction and (denoted as ∧), the disjunction or (denoted as ∨), and the negation not (denoted as ¬). It is thus a formalism for describing logical relations in the same way that elementary algebra describes numeric relations.
- byte
- A unit of digital information that most commonly consists of eight bits, representing a binary number. Historically, the byte was the number of bits used to encode a single character of text in a computer[35][36] and for this reason it is the smallest addressable unit of memory in many computer architectures.
- booting
- The procedures implemented in starting up a computer or computer appliance until it can be used. It can be initiated by hardware such as a button press or by a software command. After the power is switched on, the computer is relatively dumb and can read only part of its storage called read-only memory. There, a small program is stored called firmware. It does power-on self-tests and, most importantly, allows access to other types of memory like a hard disk and main memory. The firmware loads bigger programs into the computer's main memory and runs it.
C[edit]
- callback
- Any executable code that is passed as an argument to other code that is expected to "call back" (execute) the argument at a given time. This execution may be immediate, as in a synchronous callback, or it might happen at a later time, as in an asynchronous callback.
- central processing unit (CPU)
- The electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions. The computer industry has used the term "central processing unit" at least since the early 1960s.[38] Traditionally, the term "CPU" refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.[39]
- character
- A unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language.[40]
- cipher
- In cryptography, an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure.
- class
- In object-oriented programming, an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).[41][42] In many languages, the class name is used as the name for the class (the template itself), the name for the default constructor of the class (a subroutine that creates objects), and as the type of objects generated by instantiating the class; these distinct concepts are easily conflated.[42]
- class-based programming
- A style of object-oriented programming (OOP) in which inheritance occurs via defining "classes" of objects, instead of via the objects alone (compare prototype-based programming).
- client
- A piece of computer hardware or software that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network.[43] The term applies to the role that programs or devices play in the client–server model.
- cleanroom software engineering
- A software development process intended to produce software with a certifiable level of reliability. The cleanroom process was originally developed by Harlan Mills and several of his colleagues including Alan Hevner at IBM.[44] The focus of the cleanroom process is on defect prevention, rather than defect removal.
- closure
- A technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function[a] together with an environment.[45]
- cloud computing
- Shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility.
- code library
- A collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subroutines, classes, values or type specifications. In IBM's OS/360 and its successors they are referred to as partitioned data sets.
- coding
- Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding[46][47]). The source code of a program is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate the performance of a task for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
- coding theory
- The study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and data storage. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, linguistics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data.
- cognitive science
- The interdisciplinary, scientific study of the mind and its processes.[48] It examines the nature, the tasks, and the functions of cognition (in a broad sense). Cognitive scientists study intelligence and behavior, with a focus on how nervous systems represent, process, and transform information. Mental faculties of concern to cognitive scientists include language, perception, memory, attention, reasoning, and emotion; to understand these faculties, cognitive scientists borrow from fields such as linguistics, psychology, artificial intelligence, philosophy, neuroscience, and anthropology.[49]
- collection
- A collection or container is a grouping of some variable number of data items (possibly zero) that have some shared significance to the problem being solved and need to be operated upon together in some controlled fashion. Generally, the data items will be of the same type or, in languages supporting inheritance, derived from some common ancestor type. A collection is a concept applicable to abstract data types, and does not prescribe a specific implementation as a concrete data structure, though often there is a conventional choice (see Container for type theory discussion).
- comma-separated values (CSV)
- A delimited text file that uses a comma to separate values. A CSV file stores tabular data (numbers and text) in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. The use of the comma as a field separator is the source of the name for this file format.
- compiler
- A computer program that transforms computer code written in one programming language (the source language) into another programming language (the target language). Compilers are a type of translator that support digital devices, primarily computers. The name compiler is primarily used for programs that translate source code from a high-level programming language to a lower-level language (e.g. assembly language, object code, or machine code) to create an executable program.[50]
- computability theory
- also known as recursion theory, is a branch of mathematical logic, of computer science, and of the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since expanded to include the study of generalized computability and definability. In these areas, recursion theory overlaps with proof theory and effective descriptive set theory.
- computation
- Any type of calculation[51][52] that includes both arithmetical and non-arithmetical steps and follows a well-defined model, e.g. an algorithm. The study of computation is paramount to the discipline of computer science.
- computational biology
- Involves the development and application of data-analytical and theoretical methods, mathematical modelling and computational simulation techniques to the study of biological, ecological, behavioural, and social systems.[53] The field is broadly defined and includes foundations in biology, applied mathematics, statistics, biochemistry, chemistry, biophysics, molecular biology, genetics, genomics, computer science, and evolution.[54] Computational biology is different from biological computing, which is a subfield of computer science and computer engineering using bioengineering and biology to build computers.
- computational chemistry
- A branch of chemistry that uses computer simulation to assist in solving chemical problems. It uses methods of theoretical chemistry, incorporated into efficient computer programs, to calculate the structures and properties of molecules and solids.
- computational complexity theory
- A subfield of computational science which focuses on classifying computational problems according to their inherent difficulty, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.
- computational model
- A mathematical model in computational science that requires extensive computational resources to study the behavior of a complex system by computer simulation.[55]
- computational neuroscience
- A branch of neuroscience which employs mathematical models, theoretical analysis, and abstractions of the brain to understand the principles that govern the development, structure, physiology, and cognitive abilities of the nervous system.[56][57][58][59]
- computational physics
- Is the study and implementation of numerical analysis to solve problems in physics for which a quantitative theory already exists.[60] Historically, computational physics was the first application of modern computers in science, and is now a subset of computational science.
- computational science
- An interdisciplinary field that uses advanced computing capabilities to understand and solve complex problems. It is an area of science which spans many disciplines, but at its core it involves the development of computer models and simulations to understand complex natural systems.
- computational steering
- Is the practice of manually intervening with an otherwise autonomous computational process, to change its outcome.
- computer
- A device that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming. Modern computers have the ability to follow generalized sets of operations, called programs. These programs enable computers to perform an extremely wide range of tasks.
- computer architecture
- A set of rules and methods that describe the functionality, organization, and implementation of computer systems. Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation.[61] In other definitions computer architecture involves instruction set architecture design, microarchitecture design, logic design, and implementation.[62]
- computer data storage
- A technology consisting of computer components and recording media that are used to retain digital data. Data storage is a core function and fundamental component of all modern computer systems.[63]: 15–16
- computer ethics
- A part of practical philosophy concerned with how computing professionals should make decisions regarding professional and social conduct.[64]
- computer graphics
- Pictures and films created using computers. Usually, the term refers to computer-generated image data created with the help of specialized graphical hardware and software. It is a vast and recently developed area of computer science.
- computer network
- A digital telecommunications network which allows nodes to share resources. In computer networks, computing devices exchange data with each other using connections (data links) between nodes. These data links are established over cable media such as wires or optic cables, or wireless media such as Wi-Fi.
- computer program
- Is a collection of instructions[65] that can be executed by a computer to perform a specific task.
- computer programming
- The process of designing and building an executable computer program for accomplishing a specific computing task. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding[46][47]). The source code of a program is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate the performance of a task for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
- computer science
- The theory, experimentation, and engineering that form the basis for the design and use of computers. It involves the study of algorithms that process, store, and communicate digital information. A computer scientist specializes in the theory of computation and the design of computational systems.[66]
- computer scientist
- A person who has acquired the knowledge of computer science, the study of the theoretical foundations of information and computation and their application.[67]
- computer security
- The protection of computer systems from theft or damage to their hardware, software, or electronic data, as well as from disruption or misdirection of the services they provide.
- computer vision
- An interdisciplinary scientific field that deals with how computers can be made to gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to automate tasks that the human visual system can do.[69][70][71]
- computing
- Is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes study of algorithmic processes and development of both hardware and software. It has scientific, engineering, mathematical, technological and social aspects. Major computing fields include computer engineering, computer science, cybersecurity, data science, information systems, information technology and software engineering.[72]
- concatenation
- In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenation theory, also called string theory, string concatenation is a primitive notion.
- Concurrency
- The ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability property of a program, algorithm, or problem into order-independent or partially-ordered components or units.[73]
- conditional
- A feature of a programming language which performs different computations or actions depending on whether a programmer-specified Boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.
- container
- Is a class, a data structure,[74][75] or an abstract data type (ADT) whose instances are collections of other objects. In other words, they store objects in an organized way that follows specific access rules. The size of the container depends on the number of objects (elements) it contains. Underlying (inherited) implementations of various container types may vary in size and complexity, and provide flexibility in choosing the right implementation for any given scenario.
- continuation-passing style (CPS)
- A style of functional programming in which control is passed explicitly in the form of a continuation. This is contrasted with direct style, which is the usual style of programming. Gerald Jay Sussman and Guy L. Steele, Jr. coined the phrase in AI Memo 349 (1975), which sets out the first version of the Scheme programming language.[76][77]
- control flow
- The order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an imperative programming language from a declarative programming language.
- Creative Commons (CC)
- An American non-profit organization devoted to expanding the range of creative works available for others to build upon legally and to share.[78] The organization has released several copyright-licenses, known as Creative Commons licenses, free of charge to the public.
- cryptography
- Or cryptology, is the practice and study of techniques for secure communication in the presence of third parties called adversaries.[79] More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages;[80] various aspects in information security such as data confidentiality, data integrity, authentication, and non-repudiation[81] are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, electrical engineering, communication science, and physics. Applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications.
- CSV
- See comma-separated values.
- cyberbullying
- A form of bullying or harassment using electronic means.
- cyberspace
- Widespread, interconnected digital technology.
D[edit]
- daemon
- In multitasking computer operating systems, a daemon (/ˈdiːmən/ or /ˈdeɪmən/)[82] is a computer program that runs as a background process, rather than being under the direct control of an interactive user. Traditionally, the process names of a daemon end with the letter d, for clarification that the process is in fact a daemon, and for differentiation between a daemon and a normal computer program. For example, syslogd is a daemon that implements system logging facility, and sshd is a daemon that serves incoming SSH connections.
- Data
- data center
- A dedicated space used to house computer systems and associated components, such as telecommunications and data storage systems. It generally includes redundant or backup components and infrastructure for power supply, data communications connections, environmental controls (e.g. air conditioning and fire suppression) and various security devices.[83]
- database
- An organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex, they are often developed using formal design and modeling techniques.
- data mining
- Is a process of discovering patterns in large data sets involving methods at the intersection of machine learning, statistics, and database systems.[84] Data mining is an interdisciplinary subfield of computer science and statistics with an overall goal to extract information (with intelligent methods) from a data set and transform the information into a comprehensible structure for further use.[84][85][86][87] Data mining is the analysis step of the "knowledge discovery in databases" process, or KDD.[88] Aside from the raw analysis step, it also involves database and data management aspects, data pre-processing, model and inference considerations, interestingness metrics, complexity considerations, post-processing of discovered structures, visualization, and online updating.[84]
- data science
- An interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured,[89][90] similar to data mining. Data science is a "concept to unify statistics, data analysis, machine learning and their related methods" in order to "understand and analyze actual phenomena" with data.[91] It employs techniques and theories drawn from many fields within the context of mathematics, statistics, information science, and computer science.
- data structure
- A data organization, management, and storage format that enables efficient access and modification.[92][93][94] More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.[95]
- data type
- An attribute of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support common data types of real, integer, and Boolean. A data type constrains the values that an expression, such as a variable or a function, might take. This data type defines the operations that can be done on the data, the meaning of the data, and the way values of that type can be stored. A type of value from which an expression may take its value.[96][97]
- debugging
- The process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or the system as a whole. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, log file analysis, monitoring at the application or system level, memory dumps, and profiling.
- declaration
- In computer programming, a language construct that specifies properties of an identifier: it declares what a word (identifier) "means".[98] Declarations are most commonly used for functions, variables, constants, and classes, but can also be used for other entities such as enumerations and type definitions.[98] Beyond the name (the identifier itself) and the kind of entity (function, variable, etc.), declarations typically specify the data type (for variables and constants), or the type signature (for functions); types may also include dimensions, such as for arrays. A declaration is used to announce the existence of the entity to the compiler; this is important in those strongly typed languages that require functions, variables, and constants, and their types, to be specified with a declaration before use, and is used in forward declaration.[99] The term "declaration" is frequently contrasted with the term "definition",[98] but meaning and usage varies significantly between languages.
- digital data
- In information theory and information systems, the discrete, discontinuous representation of information or works. Numbers and letters are commonly used representations.
- digital signal processing (DSP)
- The use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The signals processed in this manner are a sequence of numbers that represent samples of a continuous variable in a domain such as time, space, or frequency.
- discrete event simulation (DES)
- A model of the operation of a system as a discrete sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system.[100] Between consecutive events, no change in the system is assumed to occur; thus the simulation can directly jump in time from one event to the next.
- disk storage
- (Also sometimes called drive storage) is a general category of storage mechanisms where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks. A disk drive is a device implementing such a storage mechanism. Notable types are the hard disk drive (HDD) containing a non-removable disk, the floppy disk drive (FDD) and its removable floppy disk, and various optical disc drives (ODD) and associated optical disc media.
- distributed computing
- A field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another.[101] The components interact with one another in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components.[101] Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.
- divide and conquer algorithm
- An algorithm design paradigm based on multi-branched recursion. A divide-and-conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly. The solutions to the sub-problems are then combined to give a solution to the original problem.
- DNS
- See Domain Name System.
- documentation
- Written text or illustration that accompanies computer software or is embedded in the source code. It either explains how it operates or how to use it, and may mean different things to people in different roles.
- domain
- Is the targeted subject area of a computer program. It is a term used in software engineering. Formally it represents the target subject of a specific programming project, whether narrowly or broadly defined.[102]
- Domain Name System (DNS)
- A hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or to a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. By providing a worldwide, distributed directory service, the Domain Name System has been an essential component of the functionality of the Internet since 1985.
- double-precision floating-point format
- A computer number format. It represents a wide dynamic range of numerical values by using a floating radix point.
- download
- In computer networks, to receive data from a remote system, typically a server[103] such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is sent to a remote server. A download is a file offered for downloading or that has been downloaded, or the process of receiving such a file.
E[edit]
- edge device
- A device which provides an entry point into enterprise or service provider core networks. Examples include routers, routing switches, integrated access devices (IADs), multiplexers, and a variety of metropolitan area network (MAN) and wide area network (WAN) access devices. Edge devices also provide connections into carrier and service provider networks. An edge device that connects a local area network to a high speed switch or backbone (such as an ATM switch) may be called an edge concentrator.
- encryption
- In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decipher a ciphertext back to plaintext and access the original information. Encryption does not itself prevent interference but denies the intelligible content to a would-be interceptor. For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, considerable computational resources and skills are required. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients but not to unauthorized users. Historically, various forms of encryption have been used to aid in cryptography. Early encryption techniques were often utilized in military messaging. Since then, new techniques have emerged and become commonplace in all areas of modern computing.[104] Modern encryption schemes utilize the concepts of public-key and symmetric-key.[104] Modern encryption techniques ensure security because modern computers are inefficient at cracking the encryption.
- event
- An action or occurrence recognized by software, often originating asynchronously from the external environment, that may be handled by the software. Because an event is an entity which encapsulates the action and the contextual variables triggering the action, the acrostic mnemonic "Execution Variable Encapsulating Named Trigger" is often used to clarify the concept.
- event-driven programming
- A programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or messages from other programs or threads. Event-driven programming is the dominant paradigm used in graphical user interfaces and other applications (e.g. JavaScript web applications) that are centered on performing certain actions in response to user input. This is also true of programming for device drivers (e.g. P in USB device driver stacks[105]).
- evolutionary computing
- A family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial-and-error problem-solvers with a metaheuristic or stochastic optimization character.
- executable
- Causes a computer "to perform indicated tasks according to encoded instructions,"[106] as opposed to a data file that must be parsed by a program to be meaningful. The exact interpretation depends upon the use - while "instructions" is traditionally taken to mean machine code instructions for a physical CPU, in some contexts a file containing bytecode or scripting language instructions may also be considered executable.
- executable module
- execution
- In computer and software engineering is the process by which a computer or virtual machine executes the instructions of a computer program. Each instruction of a program is a description of a particular action which to be carried out in order for a specific problem to be solved; as instructions of a program and therefore the actions they describe are being carried out by an executing machine, specific effects are produced in accordance to the semantics of the instructions being executed.
- exception handling
- The process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often disrupting the normal flow of program execution. It is provided by specialized programming language constructs, computer hardware mechanisms like interrupts, or operating system IPC facilities like signals.
- Existence detection
- An existence check before reading a file can catch and/or prevent a fatal error.
- expression
- In a programming language, a combination of one or more constants, variables, operators, and functions that the programming language interprets (according to its particular rules of precedence and of association) and computes to produce ("to return", in a stateful environment) another value. This process, as for mathematical expressions, is called evaluation.
- external library
F[edit]
- fault-tolerant computer system
- A system designed around the concept of fault tolerance. In essence, they must be able to continue working to a level of satisfaction in the presence of errors or breakdowns.
- feasibility study
- An investigation which aims to objectively and rationally uncover the strengths and weaknesses of an existing business or proposed venture, opportunities and threats present in the natural environment, the resources required to carry through, and ultimately the prospects for success.[107][108] In its simplest terms, the two criteria to judge feasibility are cost required and value to be attained.[109]
- field
- Data that has several parts, known as a record, can be divided into fields. Relational databases arrange data as sets of database records, so called rows. Each record consists of several fields; the fields of all records form the columns.Examples of fields: name, gender, hair colour.
- filename extension
- An identifier specified as a suffix to the name of a computer file. The extension indicates a characteristic of the file contents or its intended use.
- filter (software)
- A computer program or subroutine to process a stream, producing another stream. While a single filter can be used individually, they are frequently strung together to form a pipeline.
- floating point arithmetic
- In computing, floating-point arithmetic (FP) is arithmetic using formulaic representation of real numbers as an approximation to support a trade-off between range and precision. For this reason, floating-point computation is often found in systems which include very small and very large real numbers, which require fast processing times. A number is, in general, represented approximately to a fixed number of significant digits (the significand) and scaled using an exponent in some fixed base; the base for the scaling is normally two, ten, or sixteen. A number that can be represented exactly is of the following form:
G[edit]
- game theory
- The study of mathematical models of strategic interaction between rational decision-makers.[114] It has applications in all fields of social science, as well as in logic and computer science. Originally, it addressed zero-sum games, in which each participant's gains or losses are exactly balanced by those of the other participants. Today, game theory applies to a wide range of behavioral relations, and is now an umbrella term for the science of logical decision making in humans, animals, and computers.
- garbage in, garbage out (GIGO)
- A term used to describe the concept that flawed or nonsense input data produces nonsense output or "garbage". It can also refer to the unforgiving nature of programming, in which a poorly written program might produce nonsensical behavior.
- Graphics Interchange Format
- gigabyte
- A multiple of the unit byte for digital information. The prefix giga means 109 in the International System of Units (SI). Therefore, one gigabyte is 1000000000bytes. The unit symbol for the gigabyte is GB.
- global variable
- In computer programming, a variable with global scope, meaning that it is visible (hence accessible) throughout the program, unless shadowed. The set of all global variables is known as the global environment or global state. In compiled languages, global variables are generally static variables, whose extent (lifetime) is the entire runtime of the program, though in interpreted languages (including command-line interpreters), global variables are generally dynamically allocated when declared, since they are not known ahead of time.
- graph theory
- In mathematics, the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices (also called nodes or points) which are connected by edges (also called links or lines). A distinction is made between undirected graphs, where edges link two vertices symmetrically, and directed graphs, where edges link two vertices asymmetrically.
H[edit]
- handle
- In computer programming, a handle is an abstract reference to a resource that is used when application software references blocks of memory or objects that are managed by another system like a database or an operating system.
- hard problem
- Computational complexity theory focuses on classifying computational problems according to their inherent difficulty, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.
- hash function
- Any function that can be used to map data of arbitrary size to data of a fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. Hash functions are often used in combination with a hash table, a common data structure used in computer software for rapid data lookup. Hash functions accelerate table or database lookup by detecting duplicated records in a large file.
- hash table
- In computing, a hash table (hash map) is a data structure that implements an associative array abstract data type, a structure that can map keys to values. A hash table uses a hash function to compute an index into an array of buckets or slots, from which the desired value can be found.
- heap
- A specialized tree-based data structure which is essentially an almost complete[115] tree that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to (in a min heap) the key of C.[116] The node at the "top" of the heap (with no parents) is called the root node.
- heapsort
- A comparison-based sorting algorithm. Heapsort can be thought of as an improved selection sort: like that algorithm, it divides its input into a sorted and an unsorted region, and it iteratively shrinks the unsorted region by extracting the largest element and moving that to the sorted region. The improvement consists of the use of a heap data structure rather than a linear-time search to find the maximum.[117]
- human-computer interaction (HCI)
- Researches the design and use of computer technology, focused on the interfaces between people (users) and computers. Researchers in the field of HCI both observe the ways in which humans interact with computers and design technologies that let humans interact with computers in novel ways. As a field of research, human–computer interaction is situated at the intersection of computer science, behavioral sciences, design, media studies, and several other fields of study.
I[edit]
- identifier
- In computer languages, identifiers are tokens (also called symbols) which name language entities. Some of the kinds of entities an identifier might denote include variables, types, labels, subroutines, and packages.
- IDE
- Integrated development environment.
- image processing
- imperative programming
- A programming paradigm that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates.
- incremental build model
- A method of software development where the product is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. It involves both development and maintenance. The product is defined as finished when it satisfies all of its requirements. This model combines the elements of the waterfall model with the iterative philosophy of prototyping.
- information space analysis
- A deterministic method, enhanced by machine intelligence, for locating and assessing resources for team-centric efforts.
- information visualization
- inheritance
- In object-oriented programming, the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-based inheritance), retaining similar implementation. Also defined as deriving new classes (sub classes) from existing ones (super class or base class) and forming them into a hierarchy of classes.
- input/output (I/O)
- The communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals or data received by the system and outputs are the signals or data sent from it. The term can also be used as part of an action; to "perform I/O" is to perform an input or output operation.
- insertion sort
- A simple sorting algorithm that builds the final sorted array (or list) one item at a time.
- instruction cycle
- The cycle which the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions. It is composed of three main stages: the fetch stage, the decode stage, and the execute stage.
- integer
- A datum of integral data type, a data type that represents some range of mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values. Integers are commonly represented in a computer as a group of binary digits (bits). The size of the grouping varies so the set of integer sizes available varies between different types of computers. Computer hardware, including virtual machines, nearly always provide a way to represent a processor register or memory address as an integer.
- integrated development environment (IDE)
- A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools, and a debugger.
- integration testing
- (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which individual software modules are combined and tested as a group. Integration testing is conducted to evaluate the compliance of a system or component with specified functional requirements.[118] It occurs after unit testing and before validation testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.[119]
- intellectual property (IP)
- A category of legal property that includes intangible creations of the human intellect.[120][121] There are many types of intellectual property, and some countries recognize more than others.[122][123][124][125][126] The most well-known types are copyrights, patents, trademarks, and trade secrets.
- intelligent agent
- In artificial intelligence, an intelligent agent (IA) refers to an autonomous entity which acts, directing its activity towards achieving goals (i.e. it is an agent), upon an environment using observation through sensors and consequent actuators (i.e. it is intelligent).[127] Intelligent agents may also learn or use knowledge to achieve their goals. They may be very simple or very complex. A reflex machine, such as a thermostat, is considered an example of an intelligent agent.[128]
- interface
- A shared boundary across which two or more separate components of a computer system exchange information. The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these.[129] Some computer hardware devices, such as a touchscreen, can both send and receive data through the interface, while others such as a mouse or microphone may only provide an interface to send data to a given system.[130]
- internal documentation
- Computer software is said to have Internal Documentation if the notes on how and why various parts of code operate is included within the source code as comments. It is often combined with meaningful variable names with the intention of providing potential future programmers a means of understanding the workings of the code. This contrasts with external documentation, where programmers keep their notes and explanations in a separate document.
- internet
- The global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link devices worldwide. It is a network of networks that consists of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies.
- internet bot
- A software application that runs automated tasks (scripts) over the Internet.[131] Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone. The largest use of bots is in web spidering (web crawler), in which an automated script fetches, analyzes and files information from web servers at many times the speed of a human.
- interpreter
- A computer program that directly executes instructions written in a programming or scripting language, without requiring them to have been previously compiled into a machine language program.
- invariant
- One can encounter invariants that can be relied upon to be true during the execution of a program, or during some portion of it. It is a logical assertion that is always held to be true during a certain phase of execution. For example, a loop invariant is a condition that is true at the beginning and the end of every execution of a loop.
- iteration
- Is the repetition of a process in order to generate an outcome. The sequence will approach some end point or end value. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. In mathematics and computer science, iteration (along with the related technique of recursion) is a standard element of algorithms.
J[edit]
- Java
- A general-purpose programming language that is class-based, object-oriented[132](although not a pure OO language[133]), and designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA),[134] meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.[135]
K[edit]
- kernel
- The first section of an operating system to load into memory. As the center of the operating system, the kernel needs to be small, efficient, and loaded into a protected area in the memory so that it cannot be overwritten. It may be responsible for such essential tasks as disk drive management, file management, memory management, process management, etc.
L[edit]
- library (computing)
- A collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subroutines, classes, values, or type specifications.
- linear search
- A method for finding an element within a list. It sequentially checks each element of the list until a match is found or the whole list has been searched.[136]
- linked list
- A linear collection of data elements, whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence.
- linker
- or link editor, is a computer utility program that takes one or more object files generated by a compiler or an assembler and combines them into a single executable file, library file, or another 'object' file. A simpler version that writes its output directly to memory is called the loader, though loading is typically considered a separate process.[137]
- list
- An abstract data type that represents a countable number of ordered values, where the same value may occur more than once. An instance of a list is a computer representation of the mathematical concept of a finite sequence; the (potentially) infinite analog of a list is a stream.[138]: §3.5 Lists are a basic example of containers, as they contain other values. If the same value occurs multiple times, each occurrence is considered a distinct item.
- loader
- The part of an operating system that is responsible for loading programs and libraries. It is one of the essential stages in the process of starting a program, as it places programs into memory and prepares them for execution. Loading a program involves reading the contents of the executable file containing the program instructions into memory, and then carrying out other required preparatory tasks to prepare the executable for running. Once loading is complete, the operating system starts the program by passing control to the loaded program code.
- logic error
- In computer programming, a bug in a program that causes it to operate incorrectly, but not to terminate abnormally (or crash). A logic error produces unintended or undesired output or other behaviour, although it may not immediately be recognized as such.
- logic programming
- A type of programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP), and Datalog.
M[edit]
- machine learning (ML)
- The scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence. Machine learning algorithms build a mathematical model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to perform the task.[139][140]
- machine vision (MV)
- The technology and methods used to provide imaging-based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance, usually in industry. Machine vision refers to many technologies, software and hardware products, integrated systems, actions, methods and expertise. Machine vision as a systems engineering discipline can be considered distinct from computer vision, a form of computer science. It attempts to integrate existing technologies in new ways and apply them to solve real world problems. The term is the prevalent one for these functions in industrial automation environments but is also used for these functions in other environments such as security and vehicle guidance.
- mathematical logic
- A subfield of mathematics exploring the applications of formal logic to mathematics. It bears close connections to metamathematics, the foundations of mathematics, and theoretical computer science.[141] The unifying themes in mathematical logic include the study of the expressive power of formal systems and the deductive power of formal proof systems.
- matrix
- In mathematics, a matrix, (plural matrices), is a rectangular array[142] (see irregular matrix) of numbers, symbols, or expressions, arranged in rows and columns.[143][144]
- memory
- Computer data storage, often called storage, is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.[63]: 15–16
- merge sort
- An efficient, general-purpose, comparison-based sorting algorithm. Most implementations produce a stable sort, which means that the order of equal elements is the same in the input and output. Merge sort is a divide and conquer algorithm that was invented by John von Neumann in 1945.[145] A detailed description and analysis of bottom-up mergesort appeared in a report by Goldstine and von Neumann as early as 1948.[146]
- method
- In object-oriented programming (OOP), a procedure associated with a message and an object. An object consists of data and behavior. The data and behavior comprise an interface, which specifies how the object may be utilized by any of various consumers[147] of the object.
- methodology
- In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.[148]
- modem
- A hardware device that converts data into a format suitable for a transmission medium so that it can be transmitted from one computer to another (historically along telephone wires). A modem modulates one or more carrier wave signals to encode digital information for transmission and demodulates signals to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded reliably to reproduce the original digital data. Modems can be used with almost any means of transmitting analog signals from light-emitting diodes to radio. A common type of modem is one that turns the digital data of a computer into modulated electrical signal for transmission over telephone lines and demodulated by another modem at the receiver side to recover the digital data.
N[edit]
- natural language processing (NLP)
- A subfield of linguistics, computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts of natural language data. Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation.
- node
- Is a basic unit of a data structure, such as a linked list or tree data structure. Nodes contain data and also may link to other nodes. Links between nodes are often implemented by pointers.
- number theory
- A branch of pure mathematics devoted primarily to the study of the integers and integer-valued functions.
- numerical analysis
- The study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics).
- numerical method
- In numerical analysis, a numerical method is a mathematical tool designed to solve numerical problems. The implementation of a numerical method with an appropriate convergence check in a programming language is called a numerical algorithm.
O[edit]
- object
- An object can be a variable, a data structure, a function, or a method, and as such, is a value in memory referenced by an identifier. In the class-based object-oriented programming paradigm, object refers to a particular instance of a class, where the object can be a combination of variables, functions, and data structures. In relational database management, an object can be a table or column, or an association between data and a database entity (such as relating a person's age to a specific person).[149]
- object code
- The product of a compiler.[150] In a general sense object code is a sequence of statements or instructions in a computer language,[151] usually a machine code language (i.e., binary) or an intermediate language such as register transfer language (RTL). The term indicates that the code is the goal or result of the compiling process, with some early sources referring to source code as a "subject program."
- object-oriented analysis and design (OOAD)
- A technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.
- object-oriented programming (OOP)
- A programming paradigm based on the concept of "objects", which can contain data, in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). A feature of objects is an object's procedures that can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another.[152][153] OOP languages are diverse, but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types.
- open-source software (OSS)
- A type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose.[154] Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration.[155]
- operating system (OS)
- System software that manages computer hardware, software resources, and provides common services for computer programs.
- optical fiber
- A flexible, transparent fiber made by drawing glass (silica) or plastic to a diameter slightly thicker than that of a human hair.[156] Optical fibers are used most often as a means to transmit light between the two ends of the fiber and find wide usage in fiber-optic communications, where they permit transmission over longer distances and at higher bandwidths (data rates) than electrical cables. Fibers are used instead of metal wires because signals travel along them with less loss; in addition, fibers are immune to electromagnetic interference, a problem from which metal wires suffer.[157]
P[edit]
- pair programming
- An agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator,[158] reviews each line of code as it is typed in. The two programmers switch roles frequently.
- parallel computing
- A type of computation in which many calculations or the execution of processes are carried out simultaneously.[159] Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism.
- parameter
- In computer programming, a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.[b] These pieces of data are the values[160][161][162] of the arguments (often called actual arguments or actual parameters) with which the subroutine is going to be called/invoked. An ordered list of parameters is usually included in the definition of a subroutine, so that, each time the subroutine is called, its arguments for that call are evaluated, and the resulting values can be assigned to the corresponding parameters.
- peripheral
- Any auxiliary or ancillary device connected to or integrated within a computer system and used to send information to or retrieve information from the computer. An input device sends data or instructions to the computer; an output device provides output from the computer to the user; and an input/output device performs both functions.
- pointer
- Is an object in many programming languages that stores a memory address. This can be that of another value located in computer memory, or in some cases, that of memory-mapped computer hardware. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number and reading the text found on that page. The actual format and content of a pointer variable is dependent on the underlying computer architecture.
- postcondition
- In computer programming, a condition or predicate that must always be true just after the execution of some section of code or after an operation in a formal specification. Postconditions are sometimes tested using assertions within the code itself. Often, postconditions are simply included in the documentation of the affected section of code.
- precondition
- In computer programming, a condition or predicate that must always be true just prior to the execution of some section of code or before an operation in a formal specification. If a precondition is violated, the effect of the section of code becomes undefined and thus may or may not carry out its intended work. Security problems can arise due to incorrect preconditions.
- primary storage
- (Also known as main memory, internal memory or prime memory), often referred to simply as memory, is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them as required. Any data actively operated on is also stored there in uniform manner.
- primitive data type
- priority queue
- An abstract data type which is like a regular queue or stack data structure, but where additionally each element has a "priority" associated with it. In a priority queue, an element with high priority is served before an element with low priority. In some implementations, if two elements have the same priority, they are served according to the order in which they were enqueued, while in other implementations, ordering of elements with the same priority is undefined.
- procedural programming
- procedure
- In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Subroutines may be defined within programs, or separately in libraries that can be used by many programs. In different programming languages, a subroutine may be called a routine, subprogram, function, method, or procedure. Technically, these terms all have different definitions. The generic, umbrella term callable unit is sometimes used.[163]
- program lifecycle phase
- Program lifecycle phases are the stages a computer program undergoes, from initial creation to deployment and execution. The phases are edit time, compile time, link time, distribution time, installation time, load time, and run time.
- programming language
- A formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.
- programming language implementation
- Is a system for executing computer programs. There are two general approaches to programming language implementation: interpretation and compilation.[164]
- programming language theory
- (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and of their individual features. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science. It has become a well-recognized branch of computer science, and an active research area, with results published in numerous journals dedicated to PLT, as well as in general computer science and engineering publications.
- Prolog
- Is a logic programming language associated with artificial intelligence and computational linguistics.[165][166][167] Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily as a declarative programming language: the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations.[168]
- Python
- Is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.[169]
Q[edit]
- quantum computing
- The use of quantum-mechanical phenomena such as superposition and entanglement to perform computation. A quantum computer is used to perform such computation, which can be implemented theoretically or physically.[170]: I-5
- queue
- A collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue.
- quicksort
- An efficient sorting algorithm which serves as a systematic method for placing the elements of a random access file or an array in order.
R[edit]
- R programming language
- R is a programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing.[171] The R language is widely used among statisticians and data miners for developing statistical software[172] and data analysis.[173]
- radix
- In digital numeral systems, the number of unique digits, including the digit zero, used to represent numbers in a positional numeral system. For example, in the decimal/denary system (the most common system in use today) the radix (base number) is ten, because it uses the ten digits from 0 through 9, and all other numbers are uniquely specified by positional combinations of these ten base digits; in the binary system that is the standard in computing, the radix is two, because it uses only two digits, 0 and 1, to uniquely specify each number.
- record
- A record (also called a structure, struct, or compound data) is a basic data structure. Records in a database or spreadsheet are usually called "rows".[174][175][176][177]
- recursion
- Occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematics and computer science, where a function being defined is applied within its own definition. While this apparently defines an infinite number of instances (function values), it is often done in such a way that no infinite loop or infinite chain of references can occur.
- reference
- Is a value that enables a program to indirectly access a particular datum, such as a variable's value or a record, in the computer's memory or in some other storage device. The reference is said to refer to the datum, and accessing the datum is called dereferencing the reference.
- reference counting
- A programming technique of storing the number of references, pointers, or handles to a resource, such as an object, a block of memory, disk space, and others. In garbage collection algorithms, reference counts may be used to deallocate objects which are no longer needed.
- relational database
- Is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970.[178]A software system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the SQL (Structured Query Language) for querying and maintaining the database.[179][better source needed]
- reliability engineering
- A sub-discipline of systems engineering that emphasizes dependability in the lifecycle management of a product. Reliability describes the ability of a system or component to function under stated conditions for a specified period of time.[180] Reliability is closely related to availability, which is typically described as the ability of a component or system to function at a specified moment or interval of time.
- regression testing
- (rarely non-regression testing[181]) is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change.[182] If not, that would be called a regression. Changes that may require regression testing include bug fixes, software enhancements, configuration changes, and even substitution of electronic components.[183] As regression test suites tend to grow with each found defect, test automation is frequently involved. Sometimes a change impact analysis is performed to determine an appropriate subset of tests (non-regression analysis[184]).
- requirements analysis
- In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.[185]
- robotics
- An interdisciplinary branch of engineering and science that includes mechanical engineering, electronic engineering, information engineering, computer science, and others. Robotics involves design, construction, operation, and use of robots, as well as computer systems for their perception, control, sensory feedback, and information processing. The goal of robotics is to design intelligent machines that can help and assist humans in their day-to-day lives and keep everyone safe.
- round-off error
- The difference between the result produced by a given algorithm using exact arithmetic and the result produced by the same algorithm using finite-precision, rounded arithmetic.[187] Rounding errors are due to inexactness in the representation of real numbers and the arithmetic operations done with them. This is a form of quantization error.[188] When using approximation equations or algorithms, especially when using finitely many digits to represent real numbers (which in theory have infinitely many digits), one of the goals of numerical analysis is to estimate computation errors.[189] Computation errors, also called numerical errors, include both truncation errors and roundoff errors.[190]
- router
- A networking device that forwards data packets between computer networks. Routers perform the traffic directing functions on the Internet. Data sent through the internet, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node.[191]
- routing table
- In computer networking a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated with those routes. The routing table contains information about the topology of the network immediately around it.
- run time
- Runtime, run time, or execution time is the final phase of a computer program's life cycle, in which the code is being executed on the computer's central processing unit (CPU) as machine code. In other words, "runtime" is the running phase of a program.
- run time error
- A runtime error is detected after or during the execution (running state) of a program, whereas a compile-time error is detected by the compiler before the program is ever executed. Type checking, register allocation, code generation, and code optimization are typically done at compile time, but may be done at runtime depending on the particular language and compiler. Many other runtime errors exist and are handled differently by different programming languages, such as division by zero errors, domain errors, array subscript out of bounds errors, arithmetic underflow errors, several types of underflow and overflow errors, and many other runtime errors generally considered as software bugs which may or may not be caught and handled by any particular computer language.
S[edit]
- search algorithm
- Any algorithm which solves the search problem, namely, to retrieve information stored within some data structure, or calculated in the search space of a problem domain, either with discrete or continuous values.
- secondary storage
- Also known as external memory or auxiliary storage, differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfer the desired data to primary storage. Secondary storage is non-volatile (retaining data when power is shut off). Modern computer systems typically have two orders of magnitude more secondary storage than primary storage because secondary storage is less expensive.
- selection sort
- Is an in-place comparison sorting algorithm. It has an O(n2) time complexity, which makes it inefficient on large lists, and generally performs worse than the similar insertion sort. Selection sort is noted for its simplicity and has performance advantages over more complicated algorithms in certain situations, particularly where auxiliary memory is limited.
- semantics
- In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages. It does so by evaluating the meaning of syntactically valid strings defined by a specific programming language, showing the computation involved. In such a case that the evaluation would be of syntactically invalid strings, the result would be non-computation. Semantics describes the processes a computer follows when executing a program in that specific language. This can be shown by describing the relationship between the input and output of a program, or an explanation of how the program will be executed on a certain platform, hence creating a model of computation.
- sequence
- In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order does matter. Like a set, it contains members (also called elements, or terms). The number of elements (possibly infinite) is called the length of the sequence. Unlike a set, the same elements can appear multiple times at different positions in a sequence, and order does matter. Formally, a sequence can be defined as a function whose domain is either the set of the natural numbers (for infinite sequences) or the set of the first n natural numbers (for a sequence of finite length n).The position of an element in a sequence is its rank or index; it is the natural number for which the element is the image. The first element has index 0 or 1, depending on the context or a specific convention. When a symbol is used to denote a sequence, the nth element of the sequence is denoted by this symbol with n as subscript; for example, the nth element of the Fibonacci sequence F is generally denoted Fn.For example, (M, A, R, Y) is a sequence of letters with the letter 'M' first and 'Y' last. This sequence differs from (A, R, M, Y). Also, the sequence (1, 1, 2, 3, 5, 8), which contains the number 1 at two different positions, is a valid sequence. Sequences can be finite, as in these examples, or infinite, such as the sequence of all even positive integers (2, 4, 6, ...). In computing and computer science, finite sequences are sometimes called strings, words or lists, the different names commonly corresponding to different ways to represent them in computer memory; infinite sequences are called streams. The empty sequence ( ) is included in most notions of sequence, but may be excluded depending on the context.
- serializability
- In concurrency control of databases,[192][193] transaction processing (transaction management), and various transactional applications (e.g., transactional memory[194] and software transactional memory), both centralized and distributed, a transaction schedule is serializable if its outcome (e.g., the resulting database state) is equal to the outcome of its transactions executed serially, i.e. without overlapping in time. Transactions are normally executed concurrently (they overlap), since this is the most efficient way. Serializability is the major correctness criterion for concurrent transactions' executions[citation needed]. It is considered the highest level of isolation between transactions, and plays an essential role in concurrency control. As such it is supported in all general purpose database systems. Strong strict two-phase locking (SS2PL) is a popular serializability mechanism utilized in most of the database systems (in various variants) since their early days in the 1970s.
- serialization
- Is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment).[195] When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of references, this process is not straightforward. Serialization of object-oriented objects does not include any of their associated methods with which they were previously linked.This process of serializing an object is also called marshalling an object in some situations.[1][2] The opposite operation, extracting a data structure from a series of bytes, is deserialization, (also called unserialization or unmarshalling).
- service level agreement
- (SLA), is a commitment between a service provider and a client. Particular aspects of the service – quality, availability, responsibilities – are agreed between the service provider and the service user.[196] The most common component of an SLA is that the services should be provided to the customer as agreed upon in the contract. As an example, Internet service providers and telcos will commonly include service level agreements within the terms of their contracts with customers to define the level(s) of service being sold in plain language terms. In this case the SLA will typically have a technical definition in mean time between failures (MTBF), mean time to repair or mean time to recovery (MTTR); identifying which party is responsible for reporting faults or paying fees; responsibility for various data rates; throughput; jitter; or similar measurable details.
- set
- Is an abstract data type that can store unique values, without any particular order. It is a computer implementation of the mathematical concept of a finite set. Unlike most other collection types, rather than retrieving a specific element from a set, one typically tests a value for membership in a set.
- singleton variable
- A variable that is referenced only once. May be used as a dummy argument in a function call, or when its address is assigned to another variable which subsequently accesses its allocated storage. Singleton variables sometimes occur because a mistake has been made – such as assigning a value to a variable and forgetting to use it later, or mistyping one instance of the variable name. Some compilers and lint-like tools flag occurrences of singleton variables.
- soft computing
- software
- Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
- software agent
- Is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the authority to decide which, if any, action is appropriate.[197][198] Agents are colloquially known as bots, from robot. They may be embodied, as when execution is paired with a robot body, or as software such as a chatbotexecuting on a phone (e.g. Siri) or other computing device. Software agents may be autonomous or work together with other agents or people. Software agents interacting with people (e.g. chatbots, human-robot interaction environments) may possess human-like qualities such as natural language understanding and speech, personality or embody humanoid form (see Asimo).
- software construction
- Is a software engineering discipline. It is the detailed creation of working meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging. It is linked to all the other software engineering disciplines, most strongly to software design and software testing.[199]
- software deployment
- Is all of the activities that make a software system available for use.[200]
- software design
- Is the process by which an agent creates a specification of a software artifact, intended to accomplish goals, using a set of primitive components and subject to constraints.[201] Software design may refer to either "all the activity involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying complex systems" or "the activity following requirements specification and before programming, as ... [in] a stylized software engineering process."[202]
- software development
- Is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process.[203] Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.[204]
- software development process
- В разработке программного обеспечения процесс разработки программного обеспечения — это процесс разделения работы по разработке программного обеспечения на отдельные фазы для улучшения проектирования , управления продуктами и управления проектами . Он также известен как жизненный цикл разработки программного обеспечения (SDLC). Методология может включать предварительное определение конкретных результатов и артефактов, которые создаются и завершаются командой проекта для разработки или поддержки приложения. [148] Большинство современных процессов разработки можно смутно назвать гибкими . Другие методологии включают водопад , прототипирование , итеративную и инкрементальную разработку , спиральную разработку , быструю разработку приложений и экстремальное программирование .
- разработка программного обеспечения
- Это систематическое применение инженерных подходов к разработке программного обеспечения . [205] [206] [207] Программная инженерия — это вычислительная дисциплина. [208]
- обслуживание программного обеспечения
- В разработке программного обеспечения — это модификация программного продукта после поставки для исправления ошибок, улучшения производительности или других атрибутов. [209]
- прототипирование программного обеспечения
- Это деятельность по созданию прототипов программных приложений, т. е. неполных версий программы разрабатываемой . Это деятельность, которая может возникать при разработке программного обеспечения и сравнима с прототипированием , известным из других областей, таких как машиностроение или производство . Прототип обычно имитирует лишь несколько аспектов конечного продукта и может полностью отличаться от него.
- спецификация требований к программному обеспечению
- это описание системы программного обеспечения разрабатываемой (SRS) — . Спецификация требований к программному обеспечению излагает функциональные и нефункциональные требования и может включать набор вариантов использования , описывающих взаимодействие с пользователем, которое программное обеспечение должно обеспечить пользователю для идеального взаимодействия.
- тестирование программного обеспечения
- Проводится ли расследование с целью предоставить заинтересованным сторонам информацию о продукта . качестве тестируемого программного или услуги [210] Тестирование программного обеспечения также может обеспечить объективный, независимый взгляд на программное обеспечение, позволяющий бизнесу оценить и понять риски, связанные с внедрением программного обеспечения. Методы тестирования включают в себя процесс выполнения программы или приложения с целью обнаружения ошибок в программном обеспечении (ошибок или других дефектов) и проверки пригодности программного продукта для использования.
- алгоритм сортировки
- Это алгоритм , который располагает элементы списка в определенном порядке . Наиболее часто используемые порядки — это числовой порядок и лексикографический порядок . Эффективная сортировка важна для оптимизации эффективности других алгоритмов (например, алгоритмов поиска и слияния ), которые требуют, чтобы входные данные находились в отсортированных списках. Сортировка также часто полезна для канонизации данных и получения удобочитаемых результатов. Более формально, выходные данные любого алгоритма сортировки должны удовлетворять двум условиям:
- Вывод осуществляется в неубывающем порядке (каждый элемент не меньше предыдущего элемента в соответствии с желаемым общим порядком );
- Выходные данные представляют собой перестановку (переупорядочение с сохранением всех исходных элементов) входных данных.
- исходный код
- В вычислительной технике исходный код — это любая совокупность кода с комментариями или без них , написанная с использованием [211] язык удобочитаемый программирования , обычно в виде обычного текста . Исходный код программы специально разработан для облегчения работы программистов , которые определяют действия, которые должен выполнять компьютер, в основном путем написания исходного кода. Исходный код часто преобразуется ассемблером или компилятором в двоичный машинный код , который может выполняться компьютером. Машинный код затем может быть сохранен для выполнения позднее. Альтернативно, исходный код может быть интерпретирован и, таким образом, немедленно выполнен.
- спиральная модель
- основанная на рисках Это модель процесса разработки программного обеспечения, . Спиральная модель, основанная на уникальных моделях рисков данного проекта, помогает команде применять элементы одной или нескольких моделей процессов, таких как инкрементальное , каскадное или эволюционное прототипирование .
- куча
- Это абстрактный тип данных , который служит коллекцией элементов с двумя основными основными операциями:
- push , который добавляет элемент в коллекцию, и
- pop , который удаляет последний добавленный элемент, который еще не был удален.
- состояние
- В информационных технологиях и информатике система описывается как сохраняющая состояние, если она предназначена для запоминания предыдущих событий или взаимодействий пользователя; [214] запоминаемая информация называется состоянием системы.
- заявление
- В компьютерном программировании оператор — это синтаксическая единица императивного языка программирования , которая выражает некоторое действие, которое необходимо выполнить. [215] Программа , написанная на таком языке, состоит из последовательности одного или нескольких операторов. Оператор может иметь внутренние компоненты (например, выражения ).
- хранилище
- Хранение компьютерных данных — это технология, состоящая из компьютерных компонентов и носителей записи , которые используются для хранения цифровых данных . Это основная функция и фундаментальный компонент компьютеров. [63] : 15–16
- транслировать
- Это последовательность элементов данных , доступных с течением времени. Поток можно рассматривать как элементы на конвейерной ленте , обрабатываемые по одному, а не большими партиями.
- нить
- В компьютерном программировании строка традиционно представляет собой , либо последовательность символов в виде константы , либо в виде некоторой переменной. Последний может позволять изменять свои элементы и изменять длину или может быть исправлен (после создания). Строка обычно рассматривается как тип данных и часто реализуется как структура данных массива байтов ) , (или слов в которой хранится последовательность элементов, обычно символов, с использованием некоторой кодировки символов . Строка также может обозначать более общие массивы или другие последовательности (или списка ). типы и структуры данных
- структурированное хранилище
- NoSQL (первоначально относящийся к «не- SQL » или «нереляционному») [216] База данных предоставляет механизм хранения и извлечения данных, моделируемых средствами, отличными от табличных отношений, используемых в реляционных базах данных . Такие базы данных существуют с конца 1960-х годов, но название «NoSQL» было придумано только в начале 21 века. [217] вызвано потребностями компаний Web 2.0 . [218] [219] Базы данных NoSQL все чаще используются в больших данных и веб-приложениях реального времени . [220] Системы NoSQL также иногда называют «не только SQL», чтобы подчеркнуть, что они могут поддерживать SQL языки запросов, подобные , или располагаться рядом с базами данных SQL в многоязычных архитектурах. [221] [222]
- подпрограмма
- В компьютерном программировании подпрограмма представляет собой последовательность программных инструкций, выполняющих определенную задачу, упакованную как единое целое. Затем этот модуль можно использовать в программах, где эта конкретная задача должна выполняться . Подпрограммы могут быть определены внутри программ или отдельно в библиотеках , которые могут использоваться многими программами. В разных языках программирования подпрограмма может называться подпрограммой, подпрограммой, функцией, методом или процедурой. Технически все эти термины имеют разные определения. общий общий термин « вызываемая единица». Иногда используется [163]
- символическое вычисление
- В математике и информатике , [223] Компьютерная алгебра, также называемая символическими вычислениями или алгебраическими вычислениями, — это научная область, которая занимается изучением и разработкой алгоритмов и программного обеспечения для управления математическими выражениями и другими математическими объектами . Хотя компьютерную алгебру можно считать подобластью научных вычислений , их обычно рассматривают как отдельные области, поскольку научные вычисления обычно основаны на числовых вычислениях с приблизительными числами с плавающей запятой , в то время как символьные вычисления делают упор на точные вычисления с выражениями, содержащими переменные , которые не имеют заданного значения и манипулируются как символы.
- синтаксис
- Синтаксис компьютерного языка — это набор правил, определяющих комбинации символов, которые считаются правильно структурированными утверждениями или выражениями на этом языке. Это относится как к языкам программирования , где документ представляет собой исходный код , так и к языкам разметки , где документ представляет данные.
- синтаксическая ошибка
- Это ошибка в синтаксисе последовательности символов или токенов , которая должна быть записана во время компиляции . Программа не скомпилируется, пока не будут исправлены все синтаксические ошибки. Однако для интерпретируемых языков синтаксическая ошибка может быть обнаружена во время выполнения программы , и сообщения об ошибках интерпретатора могут не отличать синтаксические ошибки от ошибок других типов. Существуют некоторые разногласия относительно того, какие ошибки являются «синтаксическими ошибками». Например, некоторые скажут, что использование значения неинициализированной переменной в коде Java является синтаксической ошибкой, но многие другие с этим не согласятся. [224] [225] и классифицировал бы это как (статическую) семантическую ошибку.
- системная консоль
- Системная консоль, консоль компьютера, корневая консоль, консоль оператора или просто консоль — это устройство ввода текста и отображения сообщений системного администрирования, особенно сообщений от BIOS или загрузчика , ядра , от системы инициализации и от системы. регистратор . Это физическое устройство, состоящее из клавиатуры и экрана, традиционно представляет собой текстовый терминал , но также может быть графическим терминалом . Системные консоли обобщены до компьютерных терминалов , которые абстрагируются соответственно виртуальными консолями и эмуляторами терминалов . Сегодня связь с системными консолями обычно осуществляется абстрактно, через стандартные потоки ( stdin , stdout и stderr ), но могут существовать специфичные для системы интерфейсы, например те, которые используются ядром системы.
Т [ править ]
- техническая документация
- В инженерии - любой тип документации , описывающий обращение, функциональность и архитектуру технического продукта или продукта, находящегося в стадии разработки или использования. [226] [227] [228] Предполагаемым получателем технической документации по продукту является как (опытный) конечный пользователь , так и администратор/специалист по обслуживанию или техническому обслуживанию. по кулинарной книге В отличие от простого руководства , техническая документация призвана предоставить пользователю достаточно информации, чтобы понять внутренние и внешние зависимости имеющегося продукта.
- язык программирования третьего поколения
- Язык программирования третьего поколения (3GL) — это высокого уровня язык компьютерного программирования , который имеет тенденцию быть более машинонезависимым и удобным для программиста, чем машинный код первого поколения и ассемблерные языки второго поколения , имея при этом менее пристальное внимание уделяется четвертому и пятому поколениям. [229] Примерами распространенных и исторических языков программирования третьего поколения являются ALGOL , BASIC , C , COBOL , Fortran , Java и Pascal .
- дизайн сверху вниз и снизу вверх
- дерево
- Широко используемый абстрактный тип данных (ADT), имитирующий иерархическую древовидную структуру , с корневым значением и поддеревьями дочерних элементов с родительским узлом , представленным как набор связанных узлов .
- теория типов
- В математике, логике и информатике теория типов — это любой класс формальных систем , некоторые из которых могут служить альтернативой теории множеств в качестве основы всей математики . В теории типов каждый «терм» имеет «тип», и операции ограничиваются терминами определенного типа.
У [ править ]
- загрузить
- В компьютерных сетях — для отправки данных в удаленную систему, например на сервер или другой клиент, чтобы удаленная система могла сохранить копию. [230] Контрастная загрузка .
- Единый указатель ресурсов (URL)
- Ссылка на веб-ресурс , определяющая его местоположение в компьютерной сети и механизм его получения. URL-адрес — это особый тип универсального идентификатора ресурса (URI). [232] [233] хотя многие люди используют эти два термина как синонимы. [234] [с] URL-адреса чаще всего используются для ссылки на веб-страницы ( http ), но также используются для передачи файлов ( ftp ), электронной почты ( mailto ), доступа к базе данных ( JDBC ) и многих других приложений.
- пользователь
- Это человек, который использует компьютер или сетевую службу . Пользователям компьютерных систем и программных продуктов обычно не хватает технических знаний, необходимых для полного понимания того, как они работают. [237] Опытные пользователи используют расширенные возможности программ, хотя они не обязательно обладают навыками компьютерного программирования и системного администрирования .
- пользовательский агент
- Программное обеспечение ( программный агент ), которое действует от имени пользователя , например веб-браузер , который «извлекает, отображает и облегчает взаимодействие конечного пользователя с веб-контентом». [238] Программа чтения электронной почты — это почтовый пользовательский агент .
- пользовательский интерфейс (UI)
- Пространство, в котором происходит взаимодействие человека и машины. Целью этого взаимодействия является обеспечение эффективной эксплуатации и управления машиной со стороны человека, в то время как машина одновременно передает информацию, которая помогает операторам в процессе принятия решений . Примеры этой широкой концепции пользовательских интерфейсов включают интерактивные аспекты компьютерных операционных систем , ручных инструментов , средств управления оператором тяжелой техники и управления процессами . Соображения проектирования, применимые при создании пользовательских интерфейсов, связаны с такими дисциплинами, как эргономика и психология, или включают их .
- дизайн пользовательского интерфейса
- Разработка пользовательских интерфейсов для машин и программного обеспечения , таких как компьютеры, бытовая техника, мобильные устройства и другие электронные устройства, с упором на максимальное удобство использования и удобство использования . Цель дизайна пользовательского интерфейса — сделать взаимодействие пользователя максимально простым и эффективным с точки зрения достижения целей пользователя ( дизайн, ориентированный на пользователя ).
V [ edit ]
- переменная
- В компьютерном программировании переменная или скаляр — это место хранения (идентифицированное адресом памяти ) в паре с соответствующим символическим именем ( идентификатором ), которое содержит некоторое известное или неизвестное количество информации, называемое значением . Имя переменной — это обычный способ ссылки на сохраненное значение, а также ссылка на саму переменную, в зависимости от контекста. Такое разделение имени и содержания позволяет использовать имя независимо от точной информации, которую оно представляет. Идентификатор в исходном коде компьютера может быть привязан к значению во время выполнения , и поэтому значение переменной может меняться в ходе выполнения программы . [239] [240]
- виртуальная машина (ВМ)
- Эмуляция компьютерной системы. Виртуальные машины основаны на компьютерной архитектуре и пытаются обеспечить ту же функциональность, что и физический компьютер. Их реализация может включать специализированное оборудование, программное обеспечение или их комбинацию.
- V-Model
- Процесс разработки программного обеспечения , который можно рассматривать как расширение водопадной модели и является примером более общей V-модели . Вместо линейного движения вниз после фазы кодирования этапы процесса изгибаются вверх , образуя типичную V-образную форму. V-модель демонстрирует взаимосвязь между каждым этапом жизненного цикла разработки и связанным с ним этапом тестирования . Горизонтальная и вертикальная оси представляют время или завершенность проекта (слева направо) и уровень абстракции (самая грубая абстракция вверху) соответственно. [241]
В [ править ]
- модель водопада
- Разбивка проектной деятельности на линейные последовательные фазы, где каждая фаза зависит от результатов предыдущей и соответствует специализации задач. Подход характерен для определенных областей инженерного проектирования . В разработке программного обеспечения этот подход, как правило, относится к числу менее итеративных и гибких подходов, поскольку прогресс протекает в основном в одном направлении («вниз», как водопад ) через этапы концепции, инициации, анализа , проектирования , построения , тестирования , развертывания и обслуживания. .
- Формат аудиофайла сигнала
- Стандарт формата аудиофайлов , разработанный Microsoft и IBM для хранения аудиопотока на ПК . Это применение Resource Interchange File Format (RIFF) метода формата битового потока для хранения данных в «кусках», и, таким образом, оно также близко к форматам 8SVX и AIFF, используемым на компьютерах Amiga и Macintosh соответственно. Это основной формат, используемый в системах Microsoft Windows для необработанного и обычно несжатого звука. Обычное кодирование битового потока представляет собой формат линейной импульсно-кодовой модуляции (LPCM).
- веб-сканер
- Интернет -бот , который систематически просматривает Всемирную паутину , обычно с целью веб-индексации ( веб-паукинга ).
- Wi-Fi
- Семейство технологий беспроводных сетей, основанное на семействе стандартов IEEE 802.11 , которые обычно используются для организации локальных сетей устройств и доступа в Интернет . Wi‑Fi — это товарный знак некоммерческой организации Wi-Fi Alliance , которая ограничивает использование термина Wi-Fi Certified только продуктами, которые успешно прошли на совместимость . сертификационные испытания [242] [243] [244]
Х [ править ]
- XHTML
- Часть семейства XML языков разметки . Он отражает или расширяет версии широко используемого языка гипертекстовой разметки (HTML), языка, на котором веб-страницы . создаются
См. также [ править ]
Ссылки [ править ]
- ^ «Абстрактные методы и классы» . oracle.com . Документация Oracle Java . Проверено 11 декабря 2014 г.
- ^ Колберн, Тимоти; Шут, Гэри (5 июня 2007 г.). «Абстракция в информатике». Разум и машины . 17 (2): 169–184. дои : 10.1007/s11023-007-9061-7 . ISSN 0924-6495 . S2CID 5927969 .
- ↑ Перейти обратно: Перейти обратно: а б Крамер, Джефф (1 апреля 2007 г.). «Является ли абстракция ключом к вычислениям?». Коммуникации АКМ . 50 (4): 36–42. CiteSeerX 10.1.1.120.6776 . дои : 10.1145/1232743.1232745 . ISSN 0001-0782 . S2CID 12481509 .
- ^ Сравнение архитектур агентов. Архивировано 27 августа 2008 г. на Wayback Machine.
- ^ Коллиер, Кен В. (2011). Гибкая аналитика: ориентированный на ценность подход к бизнес-аналитике и хранению данных . Пирсон Образование. стр. 121 и далее. ISBN 9780321669544 .
Что такое самоорганизующаяся команда?
- ^ «Что такое гибкая разработка программного обеспечения?» . Гибкий Альянс. 8 июня 2013 года . Проверено 4 апреля 2015 г.
- ^ Гудрич, Майкл Т .; Тамассиа, Роберто (2002), Разработка алгоритмов: основы, анализ и примеры из Интернета , John Wiley & Sons, Inc., ISBN 978-0-471-38365-9
- ^ «Прикладное программное обеспечение» . Журнал ПК . Зифф Дэвис .
- ^ Блэк, Пол Э. (13 ноября 2008 г.). "множество" . Словарь алгоритмов и структур данных . Национальный институт стандартов и технологий . Проверено 22 августа 2010 г.
- ^ Бьорн Андрес; Ульрих Кете; Торбен Крёгер; Хампрехт (2010). «Гибкие многомерные массивы и представления во время выполнения для C++98 и C++0x». arXiv : 1008.2909 [ cs.DS ].
- ^ Гарсия, Рональд; Ламсдейн, Эндрю (2005). «MultiArray: библиотека C++ для универсального программирования с массивами». Программное обеспечение: практика и опыт . 35 (2): 159–188. дои : 10.1002/спе.630 . ISSN 0038-0644 . S2CID 10890293 .
- ^ Определение ИИ как исследования интеллектуальных агентов :
- Пул, Макворт и Гебель 1998 , с. 1 , который предоставляет версию, используемую в этой статье. Обратите внимание, что они используют термин «вычислительный интеллект» как синоним искусственного интеллекта.
- Рассел и Норвиг (2003) (которые предпочитают термин «рациональный агент») и пишут: «Точка зрения всего агента сейчас широко принята в этой области» ( Рассел и Норвиг 2003 , стр. 55).
- Нильссон 1998 г.
- Легг и Хаттер 2007 .
- ^ Рассел и Норвиг 2009 , с. 2.
- ^ Гудрич, Майкл Т .; Тамассиа, Роберто (2006), «9.1 Тип абстрактных данных карты», Структуры данных и алгоритмы в Java (4-е изд.), Wiley, стр. 368–371
- ^ Мельхорн, Курт ; Сандерс, Питер (2008), «4 хэш-таблицы и ассоциативные массивы», Алгоритмы и структуры данных: базовый набор инструментов (PDF) , Springer, стр. 81–98.
- ^ Дуглас Комер , Компьютерные сети и Интернет , стр. 99 и далее, Prentice Hall 2008.
- ^ Фред Холсолл, данные+коммуникации и компьютерные сети , стр. 108, Аддисон-Уэсли, 1985.
- ^ Программа Сетевой академии Cisco: сопутствующее руководство CCNA 1 и 2, Volym 1–2 , Cisco Academy 2003.
- ^ Бехруз А. Форузан, Передача данных и сети , McGraw-Hill, 2007 г.
- ^ Флеминг, Филип Дж.; Уоллес, Джон Дж. (1 марта 1986 г.). «Как не врать со статистикой: как правильно обобщить результаты тестов» . Коммуникации АКМ . 29 (3): 218–221. дои : 10.1145/5666.5673 . ISSN 0001-0782 . S2CID 1047380 .
- ^ Брер, Том (июль 2016 г.). «Статистический анализ власти и современный «кризис» социальных наук» . Журнал маркетинговой аналитики . 4 (2–3): 61–65. дои : 10.1057/s41270-016-0001-3 . ISSN 2050-3318 .
- ^ Бахманн, Пол (1894). Analytische Number Theory [ Аналитическая теория чисел ] (на немецком языке). Том 2. Лейпциг: Тойбнер.
- ^ Ландау, Эдмунд (1909). теории распределения простых чисел ( Справочник по на немецком языке). Лейпциг: Б. Г. Тойбнер. п. 883.
- ^ Уильямс-младший, Луи Ф. (22 апреля 1976 г.). Модификация метода полуинтервального поиска (двоичного поиска) . Материалы 14-й Юго-восточной конференции ACM. АКМ. стр. 95–101. дои : 10.1145/503561.503582 . Архивировано из оригинала 12 марта 2017 года . Проверено 29 июня 2018 г.
- ^ Кнут 1998 , §6.2.1 («Поиск в упорядоченной таблице»), подраздел «Двоичный поиск».
- ^ Баттерфилд и Нгонди 2016 , с. 46.
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2009) [1990]. Введение в алгоритмы (3-е изд.). MIT Press и McGraw-Hill. п. 39. ИСБН 0-262-03384-4 .
- ^ Роуэн Гарнье; Джон Тейлор (2009). Дискретная математика: доказательства, структуры и приложения, третье издание . ЦРК Пресс. п. 620. ИСБН 978-1-4398-1280-8 .
- ^ Стивен С. Скиена (2009). Руководство по проектированию алгоритмов . Springer Science & Business Media. п. 77. ИСБН 978-1-84800-070-4 .
- ^ Маккензи, Чарльз Э. (1980). Наборы кодированных символов, история и развитие (PDF) . Серия системного программирования (1-е изд.). Аддисон-Уэсли Паблишинг Компани, Инк . с. х. ISBN 978-0-201-14460-4 . LCCN 77-90165 . Архивировано (PDF) из оригинала 26 мая 2016 г. Проверено 25 августа 2019 г.
- ^ Гупта, Пракаш С. (2006). Передача данных и компьютерные сети . Обучение PHI. ISBN 9788120328464 . Проверено 10 июля 2011 г.
- ^ Джеймс Д. Мюррей; Уильям ванРайпер (апрель 1996 г.). Энциклопедия форматов графических файлов (второе изд.). О'Рейли . бмп. ISBN 978-1-56592-161-0 . Проверено 7 марта 2014 г.
- ^ Джеймс Д. Мюррей; Уильям ванРайпер (апрель 1996 г.). Энциклопедия форматов графических файлов (второе изд.). О'Рейли . os2bmp. ISBN 978-1-56592-161-0 . Проверено 7 марта 2014 г.
- ^ Грис, Дэвид ; Шнайдер, Фред Б. (1993), «Глава 2. Булевы выражения», Логический подход к дискретной математике , Монографии по информатике, Springer, стр. 25 и далее, ISBN 9780387941158
- ^ Блаау, Геррит Энн ; Брукс-младший, Фредерик Филлипс ; Бухгольц, Вернер (1962), «4: Естественные единицы данных» (PDF) , в Бухгольце, Вернер (редактор), Планирование компьютерной системы - расширение проекта , McGraw-Hill Book Company, Inc. / The Maple Press Company, Йорк , Пенсильвания, стр. 39–40, LCCN 61-10466 , заархивировано (PDF) из оригинала 03 апреля 2017 г. , получено 03 апреля 2017 г. ,
[…] Термины, используемые здесь для описания структуры, налагаемой машиной. design, помимо бита , перечислены ниже.
Байт обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно к блокам ввода-вывода и от них. термин, отличный от символа Здесь используется , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. е. разные размеры байтов). При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь никакого отношения к реальным символам. (Термин произошел от укуса , но был изменен во избежание случайной мутации на бит .)
Слово . состоит из количества битов данных, передаваемых параллельно из или в память за один цикл памяти Таким образом, размер слова определяется как структурное свойство памяти. (Термин катена был придуман для этой цели разработчиками компьютера Bull GAMMA 60 ).
Блок относится к количеству слов, передаваемых в или из блока ввода-вывода в ответ на одну команду ввода-вывода. Размер блока — структурное свойство блока ввода-вывода; оно могло быть исправлено в проекте или оставлено для изменения в программе. […] - ^ Бемер, Роберт Уильям (1959), «Предложение об обобщенном коде карты из 256 символов», Communications of the ACM , 2 (9): 19–23, doi : 10.1145/368424.368435 , S2CID 36115735
- ^ «Что такое функция обратного вызова?» . Переполнение стека . Проверено 16 мая 2018 г.
- ^ Вейк, Мартин Х. (1961). Третий обзор отечественных электронных цифровых вычислительных систем (Отчет). Лаборатория баллистических исследований .
- ^ Кук, Дэвид (1978). Компьютеры и вычисления, Том 1 . John Wiley & Sons, Inc. с. 12. ISBN 978-0471027164 .
- ^ «Определение ХАРАКТЕРА» . www.merriam-webster.com . Проверено 1 апреля 2018 г.
- ^ Гамма и др. 1995 , с. 14.
- ↑ Перейти обратно: Перейти обратно: а б Брюс 2002 , 2.1 Объекты, классы и типы объектов, https://books.google.com/books?id=9NGWq3K1RwUC&pg=PA18 .
- ^ Садоски, Дарлин. Архитектуры программного обеспечения клиент/сервер. Обзор , Дорожная карта программных технологий, 2 августа 1997 г. Проверено 16 сентября 2008 г.
- ^ Миллс, Х. ; М. Дайер; Р. Лингер (сентябрь 1987 г.). «Программная инженерия чистых помещений». Программное обеспечение IEEE . 4 (5): 19–25. CiteSeerX 10.1.1.467.2435 . дои : 10.1109/MS.1987.231413 . S2CID 383170 .
- ^ Сассман и Стил. «Схема: интерпретатор расширенного лямбда-исчисления». «... структура данных, содержащая лямбда-выражение, и среда, которая будет использоваться, когда это лямбда-выражение применяется к аргументам». ( Викиисточник )
- ↑ Перейти обратно: Перейти обратно: а б Шон Беббингтон (2014). «Что такое кодирование» . Проверено 3 марта 2014 г.
- ↑ Перейти обратно: Перейти обратно: а б Шон Беббингтон (2014). «Что такое программирование» . Проверено 3 марта 2014 г.
- ^ Когнитивная наука — это междисциплинарная область исследований лингвистики, психологии, нейробиологии, философии, информатики и антропологии, которые стремятся понять разум. Как мы учимся: спросите учёного-когнитивиста
- ^ Тагард, Пол , Когнитивная наука , Стэнфордская энциклопедия философии (выпуск осенью 2008 г.), Эдвард Н. Залта (ред.).
- ^ Персонал PC Mag (28 февраля 2017 г.). «Энциклопедия: Определение компилятора» . PCMag.com . Проверено 28 февраля 2017 г. [ постоянная мертвая ссылка ]
- ^ Расчеты из бесплатного словаря Merriam-Webster.
- ^ «Вычисления: определение и синонимы с сайта Answers.com» . Ответы.com . Архивировано из оригинала 22 февраля 2009 года . Проверено 26 апреля 2017 г.
- ^ «Рабочее определение биоинформатики и вычислительной биологии НИЗ» (PDF) . Инициатива в области биомедицинской информатики и технологий. 17 июля 2000 г. Архивировано из оригинала (PDF) 5 сентября 2012 г. Проверено 18 августа 2012 г.
- ^ «О CCMB». Центр вычислительной молекулярной биологии. Проверено 18 августа 2012 г.
- ^ Мельник, Родерик, изд. (2015). Математическое и вычислительное моделирование: с применением в естественных и социальных науках, технике и искусстве . Уайли. ISBN 978-1-118-85398-6 .
- ^ Траппенберг, Томас П. (2002). Основы вычислительной нейронауки . США: Oxford University Press Inc., с. 1 . ISBN 978-0-19-851582-1 .
- ^ Что такое вычислительная нейробиология? Патрисия С. Черчленд, Кристоф Кох, Терренс Дж. Сейновски. в области вычислительной нейронауки, стр. 46-55. Под редакцией Эрика Л. Шварца. 1993. Массачусетский технологический институт Пресс. «Вычислительная нейронаука — MIT Press» . Архивировано из оригинала 4 июня 2011 г. Проверено 11 июня 2009 г.
- ^ «Теоретическая нейронаука» . Массачусетский технологический институт Пресс . Архивировано из оригинала 31 мая 2018 г. Проверено 24 мая 2018 г.
- ^ Герстнер, В.; Кистлер, В.; Науд, Р.; Панинский, Л. (2014). Нейрональная динамика . Кембридж, Великобритания: Издательство Кембриджского университета . ISBN 9781107447615 .
- ^ Тийссен, Джос (2007). Вычислительная физика. Издательство Кембриджского университета. ISBN 978-0521833462 .
- ^ Клементс, Алан. Принципы компьютерного оборудования (Четвертое изд.). п. 1.
Архитектура абстрактно описывает внутреннюю организацию компьютера; то есть он определяет возможности компьютера и его модель программирования. У вас могут быть два компьютера, построенных по-разному, с использованием разных технологий, но с одинаковой архитектурой.
- ^ Хеннесси, Джон; Паттерсон, Дэвид. Компьютерная архитектура: количественный подход (Пятое изд.). п. 11.
Эта задача имеет множество аспектов, включая разработку набора команд, функциональную организацию, разработку логики и реализацию.
- ↑ Перейти обратно: Перейти обратно: а б с Паттерсон, Дэвид А.; Хеннесси, Джон Л. (2005). Компьютерная организация и дизайн: аппаратно-программный интерфейс (3-е изд.). Амстердам : Издательство Морган Кауфманн . ISBN 1-55860-604-1 . OCLC 56213091 .
- ^ Байнум, Террел Уорд. «Очень краткая история компьютерной этики» . Университет Южного Коннектикута Вейн. Архивировано из оригинала 18 апреля 2008 г. Проверено 5 января 2011 г.
- ^ Рочкинд, Марк Дж. (2004). Продвинутое программирование в Unix, второе издание . Аддисон-Уэсли. п. 1.1.2.
- ^ «Поиск в WordNet — 3.1» . Wordnetweb.princeton.edu . Проверено 14 мая 2012 г.
- ^ Орсуччи, Франко Ф.; Сала, Николетта (2008). Рефлексирующие интерфейсы: комплексная коэволюция экосистем информационных технологий, Справочник по информатике . п. 335 .
- ^ Шац, Дэниел; Башруш, Рабих; Уолл, Джули (2017). «К более репрезентативному определению кибербезопасности» . Журнал цифровой криминалистики, безопасности и права . 12 (2). ISSN 1558-7215 .
- ^ Дана Х. Баллард; Кристофер М. Браун (1982). Компьютерное зрение. Прентис Холл. ISBN 0-13-165316-4 .
- ^ Хуанг, Т. (19 ноября 1996 г.). Вандони, Карло, Э, изд. Компьютерное зрение: эволюция и перспективы (PDF) . 19-я школа вычислительной техники ЦЕРН. Женева: ЦЕРН. стр. 21–25. doi:10.5170/CERN-1996-008.21. ISBN 978-9290830955 .
- ^ Милан Сонка; Вацлав Главац; Роджер Бойл (2008). Обработка изображений, анализ и машинное зрение. Томсон. ISBN 0-495-08252-X .
- ^ «Учебная программа по информатике 2020» (PDF) . [ постоянная мертвая ссылка ]
- ^ Лэмпорт, Лесли (июль 1978 г.). «Время, часы и порядок событий в распределенной системе» (PDF) . Коммуникации АКМ . 21 (7): 558–565. CiteSeerX 10.1.1.142.3682 . дои : 10.1145/359545.359563 . S2CID 215822405 . Проверено 4 февраля 2016 г.
- ^ Пол Э. Блэк (ред.), запись о структуре данных в Словаре алгоритмов и структур данных . США Национальный институт стандартов и технологий . 15 декабря 2004 г. По состоянию на 4 октября 2011 г.
- ↑ входных Структура данных в Британской энциклопедии (2009) . Интернет-запись по состоянию на 4 октября 2011 г.
- ^ Сассман, Джеральд Джей ; Стил, Гай Л. младший (декабрь 1975 г.). . Памятка AI . 349 : 19.
То есть в этом программирования с передачей продолжения стиле функция всегда «возвращает» свой результат, «отправляя» его другой функции . Это ключевая идея.
- ^ Сассман, Джеральд Джей ; Стил, Гай Л. младший (декабрь 1998 г.). «Схема: интерпретатор расширенного лямбда-исчисления» (переиздание) . Вычисления высшего порядка и символьные вычисления . 11 (4): 405–439. дои : 10.1023/А:1010035624696 . S2CID 18040106 .
термина « стиль продолжения-прохода Мы полагаем, что это было первое появление в литературе ». Это оказалось важной концепцией анализа и преобразования исходного кода для компиляторов и других инструментов метапрограммирования. Он также вдохновил множество других «стилей» программного выражения.
- ^ «Часто задаваемые вопросы» . Креативное сообщество. 4 августа 2016 г. Проверено 20 декабря 2011 г.
- ^ Ривест, Рональд Л. (1990). «Криптография». В Дж. Ван Леувене (ред.). Справочник по теоретической информатике . Том. 1. Эльзевир.
- ^ Белларе, Михир; Рогауэй, Филипп (21 сентября 2005 г.). "Введение". Введение в современную криптографию . п. 10.
- ^ Менезес, AJ; ван Ооршот, ПК; Ванстон, ЮАР (1997). Справочник по прикладной криптографии . Тейлор и Фрэнсис. ISBN 978-0-8493-8523-0 .
- ^ Эрик С. Рэймонд . «демон» . Файл жаргона . Проверено 22 октября 2008 г.
- ^ Джеймс Гланц (22 сентября 2012 г.). «Энергия, загрязнение окружающей среды и Интернет» . Нью-Йорк Таймс . Проверено 25 сентября 2012 г.
- ↑ Перейти обратно: Перейти обратно: а б с «Учебная программа по интеллектуальному анализу данных» . АСМ СИГКДД . 30 апреля 2006 г. Проверено 27 января 2014 г.
- ^ Клифтон, Кристофер (2010). «Британская энциклопедия: определение интеллектуального анализа данных» . Проверено 9 декабря 2010 г.
- ^ Хасти, Тревор ; Тибширани, Роберт ; Фридман, Джером (2009). «Элементы статистического обучения: интеллектуальный анализ данных, логический вывод и прогнозирование» . Архивировано из оригинала 10 ноября 2009 г. Проверено 7 августа 2012 г.
- ^ Хан, Джайвэй; Камбер, Мишлин; Пей, Цзянь (2011). Интеллектуальный анализ данных: концепции и методы (3-е изд.). Морган Кауфман. ISBN 978-0-12-381479-1 .
- ^ Файад, Усама; Пятецкий-Шапиро, Григорий; Смит, Падрайк (1996). «От интеллектуального анализа данных к обнаружению знаний в базах данных» (PDF) . Проверено 17 декабря 2008 г.
- ^ Дхар, В. (2013). «Наука о данных и прогнозирование» . Коммуникации АКМ . 56 (12): 64–73. дои : 10.1145/2500499 . S2CID 6107147 .
- ^ Джефф Лик (12 декабря 2013 г.). «Ключевое слово в «Науке о данных» — не данные, а наука» . Просто статистика. Архивировано из оригинала 2 января 2014 г. Проверено 5 декабря 2018 г.
- ^ Хаяси, Чикио (1 января 1998 г.). «Что такое наука о данных? Фундаментальные концепции и эвристический пример» . В Хаяси, Чикио; Ядзима, Кейджи; Бок, Ганс-Германн; Осуми, Нобору; Танака, Ютака; Баба, Ясумаса (ред.). Наука о данных, классификация и родственные методы . Исследования в области классификации, анализа данных и организации знаний. Спрингер Япония. стр. 40–51. дои : 10.1007/978-4-431-65950-1_3 . ISBN 9784431702085 .
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2009) [1990]. Введение в алгоритмы (3-е изд.). MIT Press и McGraw-Hill. ISBN 0-262-03384-4 .
- ^ Блэк, Пол Э. (15 декабря 2004 г.). «структура данных» . В Питерсе, Вреда; Блэк, Пол Э. (ред.). Словарь алгоритмов и структур данных [онлайн] . Национальный институт стандартов и технологий . Проверено 6 ноября 2018 г.
- ^ «Структура данных» . Британская энциклопедия . 17 апреля 2017 года . Проверено 6 ноября 2018 г.
- ^ Вегнер, Питер; Рейли, Эдвин Д. (29 августа 2003 г.). Энциклопедия информатики . Чичестер, Великобритания: Джон Уайли и сыновья. стр. 507–512. ISBN 978-0470864128 .
- ^ наберите в бесплатном онлайн-словаре по информатике
- ^ Шаффер, Калифорния (2011). Структуры данных и алгоритмический анализ на C++ (3-е изд.). Минеола, Нью-Йорк: Дувр. 1.2. ISBN 978-0-486-48582-9 .
- ↑ Перейти обратно: Перейти обратно: а б с «Объявление определяет интерпретацию и атрибуты набора идентификаторов. Определение идентификатора — это объявление для этого идентификатора, которое:
- для объекта [переменная или константа] вызывает резервирование памяти для этого объекта;
- для функции включает тело функции;
- для константы перечисления — это (единственное) объявление идентификатора;
- для имени typedef — это первое (или единственное) объявление идентификатора».
- ^ Майк Банахан. «2.5. Объявление переменных» . ГБдирект . Проверено 8 июня 2011 г.
Объявление [A] [...] вводит только имя и тип чего-либо, но не выделяет памяти[...].
- ^ Стюарт Робинсон (2004). Моделирование – практика разработки и использования моделей . Уайли.
- ↑ Перейти обратно: Перейти обратно: а б Кулурис, Джордж; Джин Доллимор ; Тим Киндберг; Гордон Блэр (2011). Распределенные системы: концепции и проектирование (5-е изд.). Бостон: Аддисон-Уэсли. ISBN 978-0-132-14301-1 .
- ^ Бьёрнер, Дайнс (2006). «Триптих программной инженерии». Программная инженерия 3 - Домены, требования и дизайн программного обеспечения (книга). Том. И. Спрингер Верлаг. п. 9. ISBN 978-3-540-33653-2 . Проверено 19 декабря 2016 г.
- ^ «Что такое загрузка? — Определение с сайта WhatIs.com» . Поисковая сетьNexting . Архивировано из оригинала 5 сентября 2019 г. Проверено 4 марта 2019 г.
- ↑ Перейти обратно: Перейти обратно: а б Кесслер, Гэри (17 ноября 2006 г.). «Обзор криптографии» . Принстонский университет .
- ^ Вивек Гупта; Итан Джексон; Шаз Кадир; Шрирам Раджамани (ноябрь 2012 г.). «P: Безопасное асинхронное программирование, управляемое событиями» . Майкрософт . Проверено 20 февраля 2017 г.
- ^ «исполняемый» . Интернет-словарь Мерриам-Вебстера . Мерриам-Вебстер . Проверено 19 июля 2008 г.
- ^ Джастис, RT и Крейгсманн, Б. (1979). Технико-экономическое обоснование как инструмент венчурного анализа. Деловой журнал управления малым бизнесом 17 (1) 35-42.
- ^ Георгакеллос, Д.А. и Марсис, AM (2009). Применение подхода семантического обучения в процессе обучения подготовке ТЭО. Управление информационными системами 26 (3) 231–240.
- ^ Янг, ГИМ (1970). Технико-экономические обоснования. Оценочный журнал 38 (3) 376-383.
- ^ Р. У. Батлер (6 августа 2001 г.). «Что такое формальные методы?» . Проверено 16 ноября 2006 г.
- ^ К. Майкл Холлоуэй. Почему инженерам следует использовать формальные методы (PDF) . 16-я конференция по системам цифровой авионики (27–30 октября 1997 г.). Архивировано из оригинала (PDF) 16 ноября 2006 года . Проверено 16 ноября 2006 г.
- ^ Сангхави, Алок (21 мая 2010 г.). «Что такое формальная проверка?». EE Times Asia .
- ^ «Декларация против стиля выражения — HaskellWiki» .
- ^ Майерсон, Роджер Б. (1991). Теория игр: анализ конфликта, издательство Гарвардского университета , с. 1 . Ссылки на предварительный просмотр глав, стр. vii–xi .
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2009) [1990]. Введение в алгоритмы (3-е изд.). MIT Press и McGraw-Hill. стр. 151–152. ISBN 0-262-03384-4 .
- ^ Блэк (редактор), Пол Э. (14 декабря 2004 г.). Запись о куче в Словаре алгоритмов и структур данных . Онлайн-версия. США Национальный институт стандартов и технологий , 14 декабря 2004 г. Получено 8 октября 2017 г. с https://xlinux.nist.gov/dads/HTML/heap.html .
- ^ Скиена, Стивен (2012). «Сортировка и поиск». Руководство по проектированию алгоритмов . Спрингер. п. 109 . дои : 10.1007/978-1-84800-070-4_4 . ISBN 978-1-84800-069-8 .
[H]eapsort — это не что иное, как реализация сортировки выбором с использованием правильной структуры данных.
- ^ Международный стандарт ISO/IEC/IEEE – Системная и программная инженерия . ИСО/МЭК/ИИЭР 24765:2010(Е). 2010. стр. том, №, стр. 1–418, 15 декабря 2010 г.
- ^ Мартин А. Ульд и Чарльз Анвин (редактор), Тестирование в разработке программного обеспечения , BCS (1986), стр. 71 . По состоянию на 31 октября 2014 г.
- ^ Всемирная организация интеллектуальной собственности (ВОИС) (2016 г.). Понимание промышленной собственности . Всемирная организация интеллектуальной собственности. дои : 10.34667/tind.28945 . ISBN 9789280525885 . Проверено 6 декабря 2018 г.
- ^ «Интеллектуальная, промышленная и коммерческая собственность | Информационные бюллетени о Европейском Союзе» . Европейский парламент . Проверено 6 декабря 2018 г.
- ^ «Что такое права интеллектуальной собственности?» . Всемирная торговая организация . Проверено 23 мая 2016 г.
- ^ «Интеллектуальная собственность», Юридический словарь Блэка , 10-е изд. (2014).
- ^ «Понимание авторских и смежных прав» (PDF) . Всемирная организация интеллектуальной собственности. п. 4 . Проверено 6 декабря 2018 г.
- ^ «Что такое интеллектуальная собственность?» (PDF) . Всемирная организация интеллектуальной собственности (ВОИС). Архивировано из оригинала (PDF) 06 февраля 2020 г. Проверено 7 декабря 2018 г.
- ^ «Понимание промышленной собственности» (PDF) . Всемирная организация интеллектуальной собственности (ВОИС) . Проверено 7 декабря 2018 г.
- ^ Андерсон, Майкл; Андерсон, Сьюзан Ли (15 декабря 2007 г.). «Машинная этика: создание этического интеллектуального агента» . Журнал ИИ . 28 (4): 15. дои : 10.1609/aimag.v28i4.2065 . ISSN 2371-9621 . S2CID 17033332 .
- ^ Согласно определению, данному Расселом и Норвигом (2003 , глава 2)
- ^ Хукуэй, Б. (2014). «Глава 1: Предмет интерфейса». Интерфейс . МТИ Пресс. стр. 1–58. ISBN 9780262525503 .
- ^ IEEE 100 — Авторитетный словарь терминов стандартов IEEE . Нью-Йорк, Нью-Йорк, США: IEEE Press. 2000. стр. 574–575. ISBN 9780738126012 .
- ^ Данэм, Кен; Мельник, Джим (2008). Вредоносные боты: взгляд изнутри на киберпреступное подполье Интернета . ЦРК Пресс. ISBN 9781420069068 .
- ^ Гослинг и др. 2014 , с. 1.
- ^ «Java чисто объектно-ориентированная или нет?» . Переполнение стека . Проверено 24 мая 2019 г.
- ^ «Напиши один раз, побежишь куда угодно?» . Компьютерный еженедельник . 2 мая 2002 года . Проверено 27 июля 2009 г.
- ^ «1.2 Цели разработки языка программирования Java™» . Оракул. 1 января 1999 года. Архивировано из оригинала 23 января 2013 года . Проверено 14 января 2013 г.
- ^ Кнут 1998 , §6.1 («Последовательный поиск»).
- ^ Корпорация IBM (1972). Редактор и загрузчик IBM OS Linkage (PDF) .
- ^ Абельсон, Гарольд; Сассман, Джеральд Джей (1996). Структура и интерпретация компьютерных программ . МТИ Пресс.
- ^ Определение «без явного программирования» часто приписывают Артуру Сэмюэлю , который ввел термин «машинное обучение» в 1959 году, но в этой публикации эта фраза не встречается дословно и может быть перефразом , появившимся позже. Конференция «Перефразируя Артура Сэмюэля (1959), вопрос таков: как компьютеры могут научиться решать проблемы без явного программирования?» в Коза, Джон Р.; Беннетт, Форрест Х.; Андре, Дэвид; Кин, Мартин А. (1996). Автоматизированное проектирование топологии и размеров аналоговых электрических цепей с использованием генетического программирования . Искусственный интеллект в дизайне '96. Спрингер, Дордрехт. стр. 151–170. дои : 10.1007/978-94-009-0279-4_9 .
- ^ < Бишоп, CM (2006), Распознавание образов и машинное обучение, Springer, ISBN 978-0-387-31073-2
- ^ Тексты для студентов включают Булоса, Берджесса и Джеффри (2002) , Эндертона (2001) и Мендельсона (1997) . Классический текст для выпускников Шоенфилда (2001) впервые появился в 1967 году.
- ^ Аналогично, таблица .
- ^ Антон (1987 , стр. 23)
- ^ Борегар и Фрели (1973 , стр. 56)
- ^ Кнут (1998 , стр. 158)
- ^ Катахайнен, Юрки; Трефф, Йеспер Ларссон (март 1997 г.). «Тщательный анализ программ сортировки слиянием» (PDF) . Материалы 3-й итальянской конференции по алгоритмам и сложности . Итальянская конференция по алгоритмам и сложности. Рим. стр. 217–228. CiteSeerX 10.1.1.86.3154 . дои : 10.1007/3-540-62592-5_74 .
- ^ Потребителями объекта могут быть различные типы элементов, например, другие программы, удаленные компьютерные системы или программисты, желающие использовать объект как часть своих собственных программ.
- ↑ Перейти обратно: Перейти обратно: а б Управление информационной службы Центров Medicare и Medicaid Services (CMS) (2008 г.). Выбор подхода к разработке. Веб-статья. Министерство здравоохранения и социальных служб США (HHS). Повторно проверено: 27 марта 2008 г. Проверено 27 октября 2008 г.
- ^ Оппель, Энди (2005). SQL демистифицирован . МакГроу Хилл. п. 7. ISBN 0-07-226224-9 .
- ^ «Компилятор» . ТехТаржет . Проверено 1 сентября 2011 г.
Традиционно выходные данные компиляции называются объектным кодом или иногда объектным модулем.
- ^ Ахо, Альфред В .; Сетхи, Рави ; Уллман, Джеффри Д. (1986). «10 Оптимизация кода». Составители: принципы, методы и инструменты . Информатика. Марк С. Далтон. п. 704. ИСБН 0-201-10194-7 .
- ^ Киндлер, Э.; Кривой, И. (2011). «Объектно-ориентированное моделирование систем со сложным управлением». Международный журнал общих систем . 40 (3): 313–343. дои : 10.1080/03081079.2010.539975 . S2CID 205549734 .
- ^ Льюис, Джон; Лофтус, Уильям (2008). Программные решения на Java. Основы проектирования программирования. 6-е изд . Pearson Education Inc. ISBN 978-0-321-53205-3 . , раздел 1.6 «Объектно-ориентированное программирование»
- ^ Сен-Лоран, Эндрю М. (2008). Понимание лицензирования открытого и свободного программного обеспечения . О'Рейли Медиа. п. 4. ISBN 9780596553951 .
- ^ Левин, Шин С.; Приетула, Майкл Дж. (30 декабря 2013 г.). «Открытое сотрудничество ради инноваций: принципы и эффективность». Организационная наука . 25 (5): 1414–1433. arXiv : 1406.7541 . дои : 10.1287/orsc.2013.0872 . ISSN 1047-7039 . S2CID 6583883 .
- ^ «Оптическое волокно» . www.thefoa.org . Ассоциация оптоволокна . Проверено 17 апреля 2015 г.
- ^ Старший, Джон М.; Джамро, М. Юсиф (2009). Оптоволоконная связь: принципы и практика . Пирсон Образование. стр. 7–9. ISBN 978-0130326812 .
- ^ Уильямс, Лори (19–20 февраля 2001 г.). Интеграция парного программирования в процесс разработки программного обеспечения . 14-я конференция по образованию и обучению программной инженерии. Шарлотта. стр. 27–36. дои : 10.1109/CSEE.2001.913816 . ISBN 0-7695-1059-0 .
Один из программистов, водитель, управляет клавиатурой/мышью и активно реализует программу. Другой программист — наблюдатель — постоянно наблюдает за работой водителя на предмет выявления тактических (синтаксических, орфографических и т. д.) дефектов, а также стратегически думает о направлении работы.
- ^ Готлиб, Аллан; Алмаси, Джордж С. (1989). Высокопараллельные вычисления . Редвуд-Сити, Калифорния: Бенджамин/Каммингс. ISBN 978-0-8053-0177-9 .
- ^ Прата, Стивен (2004). C Primer Plus (5-е изд.). Сэмс. стр. 276–277. ISBN 978-0-672-32696-7 .
- ^ «Рабочий проект стандарта языка программирования C++» (PDF) . www.open-std.org . Проверено 1 января 2018 г.
- ^ Гордон, Аарон. «Подпрограммы и передача параметров» . rowdysites.msudenver.edu/~gordona . Архивировано из оригинала 1 января 2018 года . Проверено 1 января 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б Комиссия по содействию выборам США (2007 г.). «Определения слов со специальным значением» . Руководство по системе добровольного голосования . Архивировано из оригинала 8 декабря 2012 г. Проверено 14 января 2013 г.
- ^ Ранта, Аарне (9 мая 2012 г.). Реализация языков программирования (PDF) . Публикации колледжа. стр. 16–18. ISBN 9781848900646 . Проверено 22 марта 2020 г.
- ^ Клоксин, Уильям Ф.; Меллиш, Кристофер С. (2003). Программирование на Прологе . Берлин ; Нью-Йорк: Springer-Verlag. ISBN 978-3-540-00678-7 .
- ^ Братко, Иван (2012). Программирование на Прологе для искусственного интеллекта (4-е изд.). Харлоу, Англия ; Нью-Йорк: Эддисон Уэсли. ISBN 978-0-321-41746-6 .
- ^ Ковингтон, Майкл А. (1994). Обработка естественного языка для программистов на Прологе . Энглвуд Клиффс, Нью-Джерси: Прентис Холл. ISBN 978-0-13-629213-5 .
- ^ Ллойд, JW (1984). Основы логического программирования. Берлин: Springer-Verlag. ISBN 978-3-540-13299-8 .
- ^ Кульман, Дэйв. «Книга Python: Начало Python, продвинутый уровень Python и упражнения по Python». Раздел 1.1. Архивировано из оригинала (PDF) 23 июня 2012 года.
- ^ Национальные академии наук, техники и медицины (2019 г.). Ворчишь, Эмили; Горовиц, Марк (ред.). Квантовые вычисления: прогресс и перспективы (2018) . Вашингтон, округ Колумбия: Издательство национальных академий. п. Я-5. дои : 10.17226/25196 . ISBN 978-0-309-47969-1 . ОСЛК 1081001288 . S2CID 125635007 .
- ^ Язык R и окружающая среда
- Хорник, Курт (04 октября 2017 г.). «Р FAQ» . Комплексная сеть архивов R. 2.1 Что такое Р? . Проверено 6 августа 2018 г.
- Хорник, Курт (04 октября 2017 г.). «Р FAQ» . Комплексная сеть архивов R. 2.13 Что такое Фонд R? . Проверено 6 августа 2018 г.
- Основная команда R (2016). Р: Язык и среда для статистических вычислений. Фонд статистических вычислений R, Вена, Австрия. URL http://www.R-project.org/ .
- ^ широко используется
- Фокс, Джон и Андерсен, Роберт (январь 2005 г.). «Использование среды статистических вычислений R для преподавания курсов социальной статистики» (PDF) . Кафедра социологии Университета Макмастера . Проверено 6 августа 2018 г.
- Вэнс, Эшли (6 января 2009 г.). «Аналитики данных, очарованные мощью R» . Нью-Йорк Таймс . Проверено 6 августа 2018 г.
R — это также название популярного языка программирования, используемого все большим числом аналитиков данных в корпорациях и научных кругах. Это становится их лингва-франка...
- ^ Вэнс, Эшли (6 января 2009 г.). «Аналитики данных, очарованные мощью R» . Нью-Йорк Таймс . Проверено 6 августа 2018 г.
R — это также название популярного языка программирования, используемого все большим числом аналитиков данных в корпорациях и научных кругах. Это становится их лингва-франка...
- ^ «Определения словаря информатики» . Студенты-компьютерщики . Проверено 22 января 2018 г.
- ^ Радвани, Тибор (2014). Системы управления базами данных . Колледж Кароя Эстерхази. п. 19 . Проверено 23 сентября 2018 г.
- ^ Кахате, Атул (2006). Введение в системы управления базами данных . Пирсон. п. 3. ISBN 978-81-317-0078-5 . Проверено 23 сентября 2018 г.
- ^ Коннолли, Томас (2004). Решения для баз данных: пошаговое руководство по созданию баз данных (2-е изд.). Пирсон. п. 7 . ISBN 978-0-321-17350-8 .
- ^ Кодд, EF (1970). «Реляционная модель данных для больших общих банков данных». Коммуникации АКМ. 13 (6): 377–387. дои: 10.1145/362384.362685.
- ^ Эмблер, Скотт (21 марта 2023 г.). «Реляционные базы данных 101: взгляд на всю картину» .
- ^ Институт инженеров по электротехнике и электронике (1990) Стандартный компьютерный словарь IEEE: сборник стандартных компьютерных глоссариев IEEE. Нью-Йорк, штат Нью-Йорк ISBN 1-55937-079-3
- ^ Пецце, Мауро; Янг, Михал (2008). Тестирование и анализ программного обеспечения: процесс, принципы и методы . Уайли.
Действия по тестированию, направленные на решение проблем регрессии, называются (не)регрессионным тестированием. Обычно «не» опускается.
- ^ Басу, Анирбан (2015). Обеспечение качества программного обеспечения, тестирование и метрики . Обучение PHI. ISBN 978-81-203-5068-7 .
- ^ Комитет Национального исследовательского совета по старению авионики в военных самолетах: Старение авионики в военных самолетах . The National Academies Press, 2001, стр. 2: «Каждый цикл обновления технологий требует регрессионного тестирования».
- ^ Буланже, Жан-Луи (2015). Стандарты CENELEC 50128 и IEC 62279 . Уайли. ISBN 978-1119122487 .
- ^ Котоня, Джеральд; Соммервилл, Ян (1998). Разработка требований: процессы и методы . Чичестер, Великобритания: Джон Уайли и сыновья. ISBN 9780471972082 .
- ^ Юберхубер, Кристоф В. (1997), Численные вычисления 1: методы, программное обеспечение и анализ , Springer, стр. 139–146, ISBN 978-3-54062058-7
- ^ Форрестер, Дик (2018). Math/Comp241 Численные методы (конспекты лекций) . Дикинсон Колледж .
- ^ Аксой, Пелин; ДеНардис, Лаура (2007), Информационные технологии в теории , Cengage Learning, стр. 134, ISBN 978-1-42390140-2
- ^ Ралстон, Энтони; Рабиновиц, Филип (2012), Первый курс численного анализа , Dover Books on Mathematics (2-е изд.), Courier Dover Publications, стр. 2–4, ISBN 978-0-48614029-2
- ^ Батт, Ризван (2009), Введение в численный анализ с использованием MATLAB , Jones & Bartlett Learning, стр. 11–18, ISBN 978-0-76377376-2
- ^ «Обзор ключевых концепций протоколов маршрутизации: архитектуры, типы протоколов, алгоритмы и метрики» . Tcpipguide.com. Архивировано из оригинала 20 декабря 2010 года . Проверено 15 января 2011 г.
- ^ Филип А. Бернштейн , Вассос Хадзилакос, Натан Гудман (1987): Управление параллелизмом и восстановление в системах баз данных (бесплатная загрузка PDF), Addison Wesley Publishing Company, ISBN 0-201-10715-5
- ^ Герхард Вейкум , Готфрид Воссен (2001): Транзакционные информационные системы , Elsevier, ISBN 1-55860-508-8
- ^ Морис Херлихи и Дж. Элиот Б. Мосс. Транзакционная память: архитектурная поддержка структур данных без блокировок. Материалы 20-го ежегодного международного симпозиума по компьютерной архитектуре (ISCA '93). Том 21, выпуск 2, май 1993 г.
- ^ Маршалл Клайн. «Часто задаваемые вопросы по C++: «Что такое сериализация?» » . Архивировано из оригинала 5 апреля 2015 г.
Он позволяет вам взять объект или группу объектов, поместить их на диск или отправить через проводной или беспроводной транспортный механизм, а затем позже, возможно, на другом компьютере, обратить процесс вспять, воскресив исходный объект(ы). Основные механизмы заключаются в том, чтобы сгладить объект(ы) в одномерный поток битов и превратить этот поток битов обратно в исходный объект(ы).
- ^ Кирни, Коннектикут; Торелли, Ф. (2011). «Модель SLA». В Видере, П.; Батлер, Дж. М.; Тейльманн, В.; Яхьяпур, Р. (ред.). Соглашения об уровне обслуживания для облачных вычислений . Спрингер Сайенс+Бизнес Медиа, ООО. стр. 43–68. ISBN 9781461416142 .
- ^ Нвана, HS (1996). «Программные агенты: обзор». Обзор инженерии знаний . 21 (3): 205–244. CiteSeerX 10.1.1.50.660 . дои : 10.1017/s026988890000789x . S2CID 7839197 .
- ^ Шермер, BW (2007). Программные агенты, наблюдение и право на неприкосновенность частной жизни: законодательная база для наблюдения с помощью агентов (мягкая обложка) . Том. 21. Издательство Лейденского университета . стр. 140, 205–244. hdl : 1887/11951 . ISBN 978-0-596-00712-6 . Проверено 30 октября 2012 г.
- ^ ШВЕДСКИЙ Пьер Бурк; Робер Дюпюи; Ален Абран; Джеймс В. Мур, ред. (2004). «Глава 4: Создание программного обеспечения». Руководство к своду знаний по программной инженерии . Компьютерное общество IEEE . стр. 4–1–4–5. ISBN 0-7695-2330-7 . Архивировано из оригинала 14 июля 2014 г. Проверено 21 июня 2020 г.
- ^ Роджер С. Прессман Разработка программного обеспечения: подход практикующего специалиста (восьмое издание)
- ^ Ральф П. и Ванд Ю. (2009). Предложение по формальному определению концепции дизайна. Лютинен К., Лукопулос П., Милопулос Дж . и Робинсон В., редакторы, Семинар по требованиям к проектированию (LNBIP 14), стр. 103–136. Шпрингер-Верлаг, с. 109 дои : 10.1007/978-3-540-92966-6_6 .
- ^ Фриман, Питер; Дэвид Харт (2004). «Наука проектирования программно-емких систем». Коммуникации АКМ . 47 (8): 19–21 [20]. дои : 10.1145/1012037.1012054 . S2CID 14331332 .
- ^ «Разработка приложений (AppDev) – определение и объяснение» . Bestpricecomputers.co.uk. 13 августа 2007 г. Проверено 5 августа 2012 г.
- ^ DRM Associates (2002). «Глоссарий по разработке новых продуктов» . Проверено 29 октября 2006 г.
- ^ Абран и др. 2004 , стр. 1–1
- ^ АКМ (2007). «Компьютерные степени и карьера» . АКМ. Архивировано из оригинала 17 июня 2011 г. Проверено 23 ноября 2010 г.
- ^ Лапланте, Филипп (2007). Что должен знать каждый инженер о программной инженерии . Бока-Ратон: CRC. ISBN 978-0-8493-7228-5 . Проверено 21 января 2011 г.
- ^ «Объединенная целевая группа по учебной программе по вычислительной технике, 2005 г.» (PDF) . 21 октября 2014 г. Архивировано (PDF) из оригинала 21 октября 2014 г. Проверено 16 апреля 2020 г.
- ^ «ISO/IEC 14764:2006 Разработка программного обеспечения. Процессы жизненного цикла программного обеспечения. Сопровождение» . Исо.орг. 17 декабря 2011 г. Проверено 2 декабря 2013 г.
- ^ Канер, Джем (17 ноября 2006 г.). Исследовательское тестирование (PDF) . Всемирная ежегодная конференция Института обеспечения качества по тестированию программного обеспечения. Орландо, Флорида . Проверено 22 ноября 2014 г.
- ^ «Программирование на C: Учебное пособие» (PDF) . Архивировано из оригинала (PDF) 23 февраля 2015 года.
- ^ Напротив, простая ОЧЕРЕДЬ работает по принципу FIFO ( первым пришел — первым ушел ).
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2009) [1990]. Введение в алгоритмы (3-е изд.). MIT Press и McGraw-Hill. стр. 232–233. ISBN 0-262-03384-4 .
- ^ «Что такое лицо без гражданства? — Определение с сайта WhatIs.com» . techtarget.com .
- ^ "заявление" . вебопедия. Сентябрь 1996 года . Проверено 3 марта 2015 г.
- ^ «Базы данных NOSQL» . Архивировано из оригинала 26 декабря 2018 г.
ОПРЕДЕЛЕНИЕ NoSQL: базы данных следующего поколения, в основном учитывающие некоторые моменты: нереляционные, распределенные, с открытым исходным кодом и горизонтально масштабируемые.
- ^ Ливитт, Нил (2010). «Смогут ли базы данных NoSQL оправдать свои обещания?» (PDF). IEEE-компьютер. 43 (2): 12–14. дои:10.1109/MC.2010.58. S2CID 26876882.
- ^ Мохан, К. (2013). История повторяется: разумные и бессмысленные аспекты шумихи NoSQL (PDF) . Учеб. 16-я Международная конференция. о расширении технологии баз данных.
- ^ «Amazon возвращается в будущее с базой данных NoSQL» . ПРОВОДНОЙ. 19 января 2012 г. Проверено 6 марта 2017 г.
- ^ «СУРБД доминируют на рынке баз данных, но системы NoSQL догоняют их» . DB-Engines.com. 21 ноября 2013 г. Проверено 24 ноября 2013 г.
- ^ «NoSQL (не только SQL)» .
База данных NoSQL, также называемая Not Only SQL
- ^ Фаулер, Мартин . «НосклОпределение» .
многие сторонники NoSQL говорят, что это не означает «нет» SQL, скорее это означает «Не только SQL».
- ^ «Ассоциация ACM по компьютерной алгебре» .
- ^ Проблема синтаксиса или семантики?
- ^ Джон Пол Мюллер, Семантические ошибки в Java
- ^ Что такое «техническая документация»? на сайте Transcom.de. По состоянию на 25 февраля 2013 г.
- ^ Что такое техническая документация? Архивировано 18 апреля 2013 г. в archive.today в Tetras Translations. По состоянию на 25 февраля 2013 г.
- ^ Документирование новой системы в IGCSE ICT. По состоянию на 25 февраля 2013 г.
- ^ "Компьютерная надежда, языки поколений"
- ^ «Загрузить определение» . techterms.com . Проверено 30 марта 2017 г.
- ^ W3C (2009) .
- ^ «Вперед и обратная косая черта в URL-адресах» . zzz.buzz . Проверено 19 сентября 2018 г.
- ^ RFC 3986 (2005) .
- ↑ Перейти обратно: Перейти обратно: а б Объединенная группа по планированию URI W3C/IETF (2002 г.) .
- ^ RFC 2396 (1998) .
- ^ Мисслер, Дэниел (17 апреля 2024 г.). «Разница между URL-адресами и URI» .
- ^ Запись в файле жаргона для "Пользователь" . Проверено 7 ноября 2010 г.
- ^ «Определение пользовательского агента W3C» . www.w3.org. 16 июня 2011 года . Проверено 20 октября 2018 г.
- ^ Ахо, Альфред В.; Сетхи, Рави; Уллман, Джеффри Д. (1986), Составители: принципы, методы и инструменты , стр. 26–28, Bibcode : 1986cptt.book.....A
- ^ Кнут, Дональд (1997). Искусство компьютерного программирования . Том. 1 (3-е изд.). Ридинг, Массачусетс: Аддисон-Уэсли. стр. 3–4. ISBN 0-201-89683-4 .
- ^ Кевин Форсберг и Гарольд Муз , «Взаимосвязь системной инженерии с проектным циклом», в материалах первого ежегодного симпозиума Национального совета по системной инженерии, октябрь 1991 г.: 57–65.
- ^ Бил, Ванги (2 мая 2001 г.). «Что такое Wi-Fi (IEEE 802.11x)? Определение в вебпедии» . Вебопедия . Архивировано из оригинала 8 марта 2012 г.
- ^ Шофилд, Джек (21 мая 2007 г.). «Опасность излучения Wi-Fi (обновлено)» . The Guardian – через www.theguardian.com.
- ^ «Сертификация | Wi-Fi Альянс» . www.wi-fi.org .
Цитируемые работы [ править ]
- Абран, Ален; Мур, Джеймс В.; Бурк, Пьер; Дюпюи, Робер; Трипп, Леонард Л. (2004). Руководство к своду знаний по программной инженерии . IEEE. ISBN 978-0-7695-2330-9 .
- Антон, Ховард (1987), Элементарная линейная алгебра (5-е изд.), Нью-Йорк: Wiley, ISBN 0-471-84819-0
- Борегар, Раймонд А.; Фрэли, Джон Б. (1973), Первый курс линейной алгебры: с дополнительным введением в группы, кольца и поля , Бостон: Houghton Mifflin Co. , ISBN 0-395-14017-Х
- Бернерс-Ли, Тим ; Филдинг, Рой Т .; Масинтер, Ларри (август 1998 г.). Единые идентификаторы ресурсов (URI): общий синтаксис . дои : 10.17487/RFC2396 . РФК 2396 . Проверено 31 августа 2015 г.
- Бернерс-Ли, Тим ; Филдинг, Рой Т .; Масинтер, Ларри (январь 2005 г.). Единые идентификаторы ресурсов (URI): общий синтаксис . дои : 10.17487/RFC3986 . РФК 3986 . Проверено 31 августа 2015 г.
- Брюс, Ким Б. (2002). Основы объектно-ориентированных языков: типы и семантика . МТИ Пресс. ISBN 978-0-262-02523-2 .
- Баттерфилд, Эндрю; Нгонди, Джерард Э. (2016). Словарь информатики (7-е изд.). Оксфорд, Великобритания: Издательство Оксфордского университета . ISBN 978-0-19-968897-5 .
- Коннолли, Дэниел «Дэн» ; Сперберг-МакКуин, К. Майкл , ред. (21 мая 2009 г.). «Веб-адреса в HTML 5» . Консорциум Всемирной паутины . Архивировано из оригинала 10 июля 2015 г. Проверено 13 сентября 2015 г.
- Гамма; Шлем; Джонсон; Влиссидес (1995). Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования . Эддисон Уэсли. ISBN 9780201633610 .
- Гослинг, Джеймс; Джой, Билл; Стил, Гай; Браха, Гилад; Бакли, Алекс (2014). Спецификация языка Java® (Java SE 8-е изд.).
- Кнут, Дональд (1998). Сортировка и поиск . Искусство компьютерного программирования . Том. 3 (2-е изд.). Ридинг, Массачусетс: Addison-Wesley Professional. ISBN 978-0-201-89685-5 .
- Легг, Шейн; Хаттер, Маркус (15 июня 2007 г.). «Сборник определений интеллекта». arXiv : 0706.3639 [ cs.AI ].
- Миллинг, Майкл ; Дененберг, Рэй, ред. (август 2002 г.). Отчет Объединенной группы по планированию URI W3C/IETF: Единые идентификаторы ресурсов (URI), URL-адреса и унифицированные имена ресурсов (URN): разъяснения и рекомендации . дои : 10.17487/RFC3305 . РФК 3305 . Проверено 13 сентября 2015 г.
- Митчелл, Мелани (1996). Введение в генетические алгоритмы . Кембридж, Массачусетс: MIT Press. ISBN 9780585030944 .
- Нильссон, Нильс (1998). Искусственный интеллект: новый синтез . Морган Кауфманн. ISBN 978-1-55860-467-4 . Архивировано из оригинала 26 июля 2020 года . Проверено 18 ноября 2019 г.
- Пул, Дэвид ; Макворт, Алан ; Гебель, Рэнди (1998). Вычислительный интеллект: логический подход . Нью-Йорк: Издательство Оксфордского университета. ISBN 978-0-19-510270-3 . Архивировано из оригинала 26 июля 2020 года . Проверено 22 августа 2020 г.
- Рассел, Стюарт Дж .; Норвиг, Питер (2003), Искусственный интеллект: современный подход (2-е изд.), Аппер-Сэддл-Ривер, Нью-Джерси: Прентис-Холл, ISBN 0-13-790395-2
- Рассел, Стюарт Дж .; Норвиг, Питер (2009). Искусственный интеллект: современный подход (3-е изд.). Река Аппер-Сэддл, Нью-Джерси: Прентис-Холл. ISBN 978-0-13-604259-4 . .
Примечания [ править ]
- ^ Функция может храниться как ссылка на функцию, например указатель на функцию .
- ^ В этой статье термин «подпрограмма» относится к любой конструкции, похожей на подпрограмму, которая имеет разные имена и немного разные значения в зависимости от языка программирования . обсуждаемого
- ^ URL-адрес подразумевает средство доступа к указанному ресурсу и обозначается протоколом или механизмом доступа, что верно не для каждого URI. [235] [234] Таким образом
http://www.example.com
является URL-адресом, аwww.example.com
нет. [236]