Glossary of computer science
Appearance
Computer science |
---|
![]() |
Thisglossary of computer scienceis a list of definitions of terms and concepts used incomputer science,its sub-disciplines, and related fields, including terms relevant tosoftware,data science,andcomputer programming.
A
[edit]- abstract data type(ADT)
- Amathematical modelfordata typesin which a data type is defined by its behavior (semantics) from the point of view of auserof the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations. This contrasts withdata structures,which are concrete representations of data from the point of view of an implementer rather than a user.
- abstract method
- One with only asignatureand noimplementation body.It is often used to specify that a subclass must provide an implementation of the method. Abstract methods are used to specifyinterfacesin some computer languages.[1]
- abstraction
- 1. Insoftware engineeringandcomputer science,the process of removing physical, spatial, or temporal details[2]orattributesin 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 ofgeneralization.
- 2. The result of this process: anabstractconcept-objectcreated by keeping common features or attributes to various concrete objects or systems of study.[3]
- agent architecture
- Ablueprintforsoftware agentsandintelligent controlsystems depicting the arrangement of components. The architectures implemented byintelligent agentsare referred to ascognitive architectures.[4]
- agent-based model(ABM)
- A class ofcomputational modelsforsimulatingthe 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 ofgame theory,complex systems,emergence,computational sociology,multi-agent systems,andevolutionary programming.Monte Carlo methodsare used to introduce randomness.
- aggregate function
- Indatabase management,afunctionin 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 tosoftware developmentunder which requirements and solutions evolve through the collaborative effort ofself-organizingandcross-functionalteams and theircustomer(s)/end user(s).[5]It advocates adaptive planning, evolutionary development, early delivery, andcontinual 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 performcalculation,data processing,andautomated reasoningtasks. They are ubiquitous in computing technologies.
- algorithm design
- A method or mathematical process for problem-solving and for engineeringalgorithms.The design of algorithms is part of many solution theories ofoperation research,such asdynamic programminganddivide-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 analgorithmwhich relates to the number ofcomputational resourcesused by the algorithm. An algorithm must beanalyzedto 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 engineeringproductivityfor a repeating or continuous process.
- American Standard Code for Information Interchange(ASCII)
- Acharacter encodingstandard 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 ofsubroutinedefinitions,communication protocols,and tools for buildingsoftware.In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop acomputer programby providing all the building blocks, which are then put together by theprogrammer.
- application software
- Computer softwaredesigned to perform a group of coordinated functions, tasks, or activities for the benefit of theuser.Common examples of applications includeword processors,spreadsheets,accounting applications,web browsers,media players,aeronauticalflight simulators,console games,andphoto editors.This contrasts withsystem software,which is mainly involved with managing the computer's most basic running operations, often without direct input from the user. The collective nounapplication softwarerefers to all applications collectively.[8]
- array data structure
- Adata structureconsisting of a collection ofelements(valuesorvariables), each identified by at least onearray indexorkey.An array is stored such that the position of each element can be computed from its indextupleby 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 ofsoftware.Some artifacts (e.g.use cases,class diagrams,and otherUnified 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)
- Intelligencedemonstrated bymachines,in contrast to the natural intelligence displayed by humans and other animals. Incomputer 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 otherhuman minds,such as "learning" and "problem solving".[13]
- ASCII
- SeeAmerican Standard Code for Information Interchange.
- assertion
- Incomputer programming,astatementthat apredicate(Boolean-valued function,i.e. a true–falseexpression) is always true at that point in code execution. It can help a programmer read the code, help acompilercompile 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 deliberatelycrashesor throws an assertion failureexception.
- associative array
- An associative array, map, symbol table, or dictionary is anabstract data typecomposed of acollectionof(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 ofabstract machinesandautomata,as well as thecomputational problemsthat can be solved using them. It is a theory intheoretical computer scienceanddiscrete mathematics(a subject of study in bothmathematicsandcomputer science).
- automated reasoning
- An area ofcomputer scienceandmathematical logicdedicated to understanding different aspects ofreasoning.The study of automated reasoning helps producecomputer programsthat allow computers to reason completely, or nearly completely, automatically. Although automated reasoning is considered a sub-field ofartificial intelligence,it also has connections withtheoretical computer science,and evenphilosophy.
B
[edit]- bandwidth
- The maximum rate of data transfer across a given path. Bandwidth may be characterized asnetwork bandwidth,[16]data bandwidth,[17]ordigital bandwidth.[18][19]
- Bayesian programming
- A formalism and a methodology for having a technique to specifyprobabilistic modelsand solve problems when less than the necessary information is available.
- benchmark
- The act of running acomputer 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 termbenchmarkis also commonly utilized for the purposes of elaborately designed benchmarking programs themselves.
- best, worst and average case
- Expressions of what theresourceusage isat least,at most,andon average,respectively, for a givenalgorithm.Usually the resource being considered is running time, i.e.time complexity,but it could also be memory or some other resource.Best caseis the function which performs the minimum number of steps on input data ofnelements;worst caseis the function which performs the maximum number of steps on input data of sizen;average caseis the function which performs an average number of steps on input data ofnelements.
- big data
- A term used to refer todata setsthat are too large or complex for traditionaldata-processingapplication softwareto adequately deal with. Data with many cases (rows) offer greaterstatistical power,while data with higher complexity (more attributes or columns) may lead to a higherfalse discovery rate.[21]
- big O notation
- A mathematical notation that describes thelimiting behaviorof afunctionwhen the argument tends towards a particular value or infinity. It is a member of a family of notations invented byPaul Bachmann,[22]Edmund Landau,[23]and others, collectively calledBachmann–Landau notationorasymptotic notation.
- binary number
- In mathematics anddigital electronics,a number expressed in the base-2 numeral system or binary numeral system, which uses only two symbols: typically0 (zero)and1 (one).
- binary search algorithm
- Asearch algorithmthat finds the position of a target value within asorted array.[27]
- binary tree
- Atreedata structurein which each node has at most twochildren,which are referred to as theleft childand theright child.Arecursive definitionusing justset theorynotions is that a (non-empty) binary tree is atuple(L,S,R), whereLandRare binary trees or theempty setandSis asingleton set.[28]Some authors allow the binary tree to be the empty set as well.[29]
- bioinformatics
- An interdisciplinary field that combinesbiology,computer science,information engineering,mathematics,andstatisticsto develop methods andsoftware toolsfor analyzing and interpreting biological data. Bioinformatics is widely used forin silicoanalyses of biological queries using mathematical and statistical techniques.
- bit
- Abasic unit of informationused incomputingand digital communications; a portmanteau ofbinary digit.Abinarydigit can have one of two possiblevalues,and may be physically represented with a two-state device. These state values are most commonly represented as either a0or1.[30]
- bit rate(R)
- Intelecommunicationsandcomputing,the number ofbitsthat are conveyed or processed per unit of time.[31]
- blacklist
- Incomputing,a basicaccess controlmechanism that allows through all elements (email addresses, users, passwords,URLs,IP addresses,domain names,filehashes,etc.), except those explicitly mentioned in a list of prohibited elements. Those items on the list are denied access. The opposite is awhitelist,which means only items on the list are allowed through whatever gate is being used while all other elements are blocked. Agreylistcontains items that are temporarily blocked (or temporarily allowed) until an additional step is performed.
- BMP file format
- Araster graphicsimage file formatused to storebitmapdigital images independently of thedisplay device(such as agraphics adapter), used especially onMicrosoft Windows[32]andOS/2[33]operating systems.
- Boolean data type
- Adata typethat has one of two possible values (usually denotedtrueandfalse), intended to represent the twotruth valuesoflogicandBoolean algebra.It is named afterGeorge Boole,who first defined an algebraic system of logic in the mid-19th century. The Boolean data type is primarily associated withconditionalstatements, which allow different actions by changingcontrol flowdepending on whether a programmer-specified Booleanconditionevaluates to true or false. It is a special case of a more generallogical data type(seeprobabilistic logic)—i.e. logic need not always be Boolean.
- Boolean expression
- Anexpressionused in aprogramming languagethat returns aBoolean valuewhen evaluated, that is one oftrueorfalse.A Boolean expression may be composed of a combination of the Boolean constantstrueorfalse,Boolean-typedvariables, Boolean-valued operators, andBoolean-valued functions.[34]
- Boolean algebra
- In mathematics andmathematical logic,the branch ofalgebrain which the values of the variables are thetruth valuestrueandfalse,usually denoted 1 and 0, respectively. Contrary toelementary algebra,where the values of the variables are numbers and the prime operations are addition and multiplication, the main operations of Boolean algebra are theconjunctionand(denoted as ∧), thedisjunctionor(denoted as ∨), and thenegationnot(denoted as ¬). It is thus a formalism for describing logical relations in the same way that elementary algebra describes numeric relations.
- byte
- Aunit of digital informationthat most commonly consists of eightbits,representing abinary number.Historically, the byte was the number of bits used to encode a singlecharacterof text in a computer[35][36]and for this reason it is the smallestaddressableunit ofmemoryin manycomputer architectures.
- booting
- The procedures implemented in starting up acomputerorcomputer applianceuntil 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 calledread-only memory.There, a small program is stored calledfirmware.It doespower-on self-testsand, most importantly, allows access to other types of memory like ahard diskandmain memory.The firmware loads biggerprogramsinto the computer'smain memoryand runs it.
C
[edit]- callback
- Anyexecutable codethat is passed as anargumentto other code that is expected to "call back" (execute) the argument at a given time. This execution may be immediate, as in asynchronous callback,or it might happen at a later time, as in anasynchronous callback.
- central processing unit(CPU)
- The electronic circuitry within acomputerthat carries out theinstructionsof acomputer programby performing the basic arithmetic, logic, controlling, andinput/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 aprocessor,more specifically to its processing unit andcontrol unit(CU), distinguishing these core elements of a computer from external components such asmain memoryand I/O circuitry.[39]
- character
- Aunit of informationthat roughly corresponds to agrapheme,grapheme-like unit, or symbol, such as in anAlpha betorsyllabaryin the written form of anatural language.[40]
- cipher
- Incryptography,analgorithmfor performingencryptionordecryption—a series of well-defined steps that can be followed as aprocedure.
- class
- Inobject-oriented programming,an extensible program-code-template for creatingobjects,providing initial values for state (member variables) and implementations of behavior (member functions ormethods).[41][42]In many languages, the class name is used as the name for the class (the template itself), the name for the defaultconstructorof the class (asubroutinethat creates objects), and as thetypeof objects generated byinstantiatingthe class; these distinct concepts are easily conflated.[42]
- class-based programming
- A style ofobject-oriented programming(OOP) in which inheritance occurs via defining "classes"ofobjects,instead of via the objects alone (compareprototype-based programming).
- client
- A piece ofcomputer hardwareorsoftwarethat accesses a service made available by aserver.The server is often (but not always) on anothercomputer system,in which case the client accesses the service by way of anetwork.[43]The term applies to the role that programs or devices play in theclient–server model.
- cleanroom software engineering
- Asoftware development processintended to produce software with a certifiable level ofreliability.The cleanroom process was originally developed byHarlan Millsand several of his colleagues including Alan Hevner atIBM.[44]The focus of the cleanroom process is on defect prevention, rather than defect removal.
- closure
- A technique for implementinglexically scopedname bindingin a language withfirst-class functions.Operationally,a closure is arecordstoring afunction[a]together with an environment.[45]
- cloud computing
- Shared pools of configurable computersystem resourcesand higher-level services that can be rapidlyprovisionedwith minimal management effort, often over theInternet.Cloud computing relies on sharing of resources to achieve coherence andeconomies of scale,similar to apublic utility.
- code library
- A collection ofnon-volatile resourcesused bycomputer programs,often forsoftware development.These may include configuration data, documentation, help data, message templates,pre-written codeandsubroutines,classes,valuesortypespecifications. InIBM's OS/360 and its successorsthey are referred to aspartitioned data sets.
- coding
- Computer programming is the process of designing and building anexecutablecomputer programfor accomplishing a specificcomputingtask. Programming involves tasks such as analysis, generatingalgorithms,profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosenprogramming language(commonly referred to ascoding[46][47]). Thesource codeof 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 theapplication domain,specialized algorithms, and formallogic.
- coding theory
- The study of the properties ofcodesand their respective fitness for specific applications. Codes are used fordata compression,cryptography,error detection and correction,data transmissionanddata storage.Codes are studied by various scientific disciplines—such asinformation theory,electrical engineering,mathematics,linguistics,andcomputer 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,scientificstudy of themindand its processes.[48]It examines the nature, the tasks, and the functions ofcognition(in a broad sense). Cognitive scientists study intelligence and behavior, with a focus on how nervous systems represent, process, and transforminformation.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 toabstract data types,and does not prescribe a specific implementation as a concretedata structure,though often there is a conventional choice (seeContainerfortype theorydiscussion).
- comma-separated values(CSV)
- A delimitedtext filethat uses a comma to separate values. A CSV file storestabulardata (numbers and text) inplain text.Each line of the file is a datarecord.Each record consists of one or morefields,separated bycommas.The use of the comma as a field separator is the source of the name for thisfile format.
- compiler
- Acomputer programthat transforms computer code written in oneprogramming language(the source language) into another programming language (the target language). Compilers are a type oftranslatorthat support digital devices, primarily computers. The namecompileris primarily used for programs that translatesource codefrom ahigh-level programming languageto alower-level language(e.g.assembly language,object code,ormachine code) to create anexecutableprogram.[50]
- computability theory
- also known asrecursion theory,is a branch ofmathematical logic,ofcomputer science,and of thetheory of computationthat originated in the 1930s with the study ofcomputable functionsandTuring degrees.The field has since expanded to include the study of generalized computability and definability. In these areas, recursion theory overlaps withproof theoryandeffective descriptive set theory.
- computation
- Any type of calculation[51][52]that includes both arithmetical and non-arithmetical steps and follows a well-definedmodel,e.g. analgorithm.The study of computation is paramount to the discipline ofcomputer science.
- computational biology
- Involves the development and application of data-analytical and theoretical methods,mathematical modellingand computational simulation techniques to the study of biological, ecological, behavioural, and social systems.[53]The field is broadly defined and includes foundations inbiology,applied mathematics,statistics,biochemistry,chemistry,biophysics,molecular biology,genetics,genomics,computer science,andevolution.[54]Computational biology is different frombiological computing,which is a subfield ofcomputer scienceandcomputer engineeringusingbioengineeringandbiologyto buildcomputers.
- computational chemistry
- A branch ofchemistrythat usescomputer simulationto assist in solving chemical problems. It uses methods oftheoretical chemistry,incorporated into efficientcomputer programs,to calculate the structures and properties of molecules and solids.
- computational complexity theory
- A subfield ofcomputational sciencewhich 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 analgorithm.
- computational model
- Amathematical modelincomputational sciencethat requires extensivecomputational resourcesto study the behavior of a complex system bycomputer simulation.[55]
- computational neuroscience
- A branch ofneurosciencewhich employs mathematical models, theoretical analysis, and abstractions of the brain to understand the principles that govern thedevelopment,structure,physiology,andcognitive abilitiesof thenervous system.[56][57][58][59]
- computational physics
- Is the study and implementation ofnumerical analysisto solve problems inphysicsfor which aquantitative theoryalready exists.[60]Historically, computational physics was the first application of modern computers in science, and is now a subset ofcomputational 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 autonomouscomputational process,to change its outcome.
- computer
- A device that can be instructed to carry out sequences of arithmetic orlogicaloperations automatically viacomputer programming.Modern computers have the ability to follow generalized sets of operations, calledprograms.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 ofcomputersystems. 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 involvesinstruction set architecturedesign,microarchitecturedesign,logic design,andimplementation.[62]
- computer data storage
- A technology consisting ofcomputercomponents andrecording mediathat are used to retain digitaldata.Data storage is a core function and fundamental component of all modern computer systems.[63]: 15–16
- computer ethics
- A part ofpractical philosophyconcerned 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
- Adigitaltelecommunications networkwhich allowsnodesto share resources. In computer networks,computing devicesexchange datawith each other using connections (data links) between nodes. These data links are established overcable mediasuch as wires or optic cables, orwireless mediasuch asWi-Fi.
- computer program
- Is a collection ofinstructions[65]that can beexecutedby acomputerto perform a specific task.
- computer programming
- The process of designing and building anexecutablecomputer programfor accomplishing a specificcomputingtask. Programming involves tasks such as analysis, generatingalgorithms,profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosenprogramming language(commonly referred to ascoding[46][47]). Thesource codeof 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 theapplication domain,specialized algorithms, and formallogic.
- computer science
- The theory, experimentation, and engineering that form the basis for the design and use ofcomputers.It involves the study ofalgorithmsthat process, store, and communicatedigital information.Acomputer scientistspecializes in the theory ofcomputationand the design of computational systems.[66]
- computer scientist
- A person who has acquired the knowledge ofcomputer science,the study of the theoretical foundations of information and computation and their application.[67]
- computer security
- The protection ofcomputer systemsfrom theft or damage to theirhardware,software,orelectronic data,as well as fromdisruptionormisdirectionof the services they provide.
- computer vision
- An interdisciplinary scientific field that deals with how computers can be made to gain high-level understanding fromdigital imagesorvideos.From the perspective of engineering, it seeks to automate tasks that thehuman visual systemcan do.[69][70][71]
- computing
- Is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes study ofalgorithmicprocesses and development of bothhardwareandsoftware.It has scientific, engineering, mathematical, technological and social aspects. Major computing fields includecomputer engineering,computer science,cybersecurity,data science,information systems,information technologyandsoftware engineering.[72]
- concatenation
- Informal language theoryandcomputer programming,string concatenation is the operation of joiningcharacter stringsend-to-end.For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations ofconcatenation theory,also called string theory, string concatenation is aprimitive 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 aprogramming languagewhich performs different computations or actions depending on whether a programmer-specifiedBooleancondition evaluates to true or false. Apart from the case ofbranch predication,this is always achieved by selectively altering thecontrol flowbased on some condition.
- container
- Is aclass,adata structure,[74][75]or anabstract 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 offunctional programmingin whichcontrolis passed explicitly in the form of acontinuation.This is contrasted withdirect style,which is the usual style of programming.Gerald Jay SussmanandGuy L. Steele, Jr.coined the phrase inAI Memo349 (1975), which sets out the first version of theSchemeprogramming language.[76][77]
- control flow
- The order in which individualstatements,instructionsorfunction callsof animperativeprogramareexecutedor evaluated. The emphasis on explicit control flow distinguishes animperative programminglanguage from adeclarative programminglanguage.
- Creative Commons(CC)
- An Americannon-profit organizationdevoted to expanding the range of creative works available for others to build upon legally and to share.[78]The organization has released severalcopyright-licenses,known asCreative Commons licenses,free of charge to the public.
- cryptography
- Or cryptology, is the practice and study of techniques forsecure communicationin the presence of third parties calledadversaries.[79]More generally, cryptography is about constructing and analyzingprotocolsthat prevent third parties or the public from reading private messages;[80]various aspects ininformation securitysuch as dataconfidentiality,data integrity,authentication,andnon-repudiation[81]are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines ofmathematics,computer science,electrical engineering,communication science,andphysics.Applications of cryptography includeelectronic commerce,chip-based payment cards,digital currencies,computer passwords,andmilitary communications.
- CSV
- Seecomma-separated values.
- cyberbullying
- A form ofbullyingorharassmentusing electronic means.
- cyberspace
- Widespread, interconnected digitaltechnology.
D
[edit]- daemon
- Inmultitaskingcomputeroperating systems,a daemon (/ˈdiːmən/or/ˈdeɪmən/)[82]is acomputer programthat runs as abackground process,rather than being under the direct control of an interactive user. Traditionally, the process names of a daemon end with the letterd,for clarification that the process is in fact a daemon, and for differentiation between a daemon and a normal computer program. For example,syslogdis a daemon that implements system logging facility, andsshdis a daemon that serves incomingSSHconnections.
- Data
- data center
- A dedicated space used to housecomputer systemsand associated components, such as telecommunications anddata storage systems.It generally includesredundantor backup components and infrastructure forpower supply,data communications connections, environmental controls (e.g. air conditioning and fire suppression) and various security devices.[83]
- database
- An organized collection ofdata,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 largedata setsinvolving methods at the intersection ofmachine learning,statistics,anddatabase systems.[84]Data mining is aninterdisciplinarysubfield ofcomputer scienceandstatisticswith 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 anddata managementaspects,data pre-processing,modelandinferenceconsiderations, interestingness metrics,complexityconsiderations, post-processing of discovered structures,visualization,andonline updating.[84]
- data science
- An interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights fromdatain various forms, both structured and unstructured,[89][90]similar todata 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,andcomputer science.
- data structure
- A data organization, management, and storage format that enablesefficientaccess 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 ofdatawhich tells thecompilerorinterpreterhow the programmer intends to use the data. Mostprogramming languagessupport common data types ofreal,integer,andBoolean.A data type constrains the values that anexpression,such as avariableor afunction,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 acomputer programthat prevent correct operation ofcomputer softwareor the system as a whole. Debugging tactics can involve interactive debugging,control flowanalysis,unit testing,integration testing,log file analysis,monitoring at theapplicationorsystemlevel,memory dumps,andprofiling.
- declaration
- Incomputer programming,alanguage constructthat specifies properties of anidentifier:it declares what a word (identifier) "means".[98]Declarations are most commonly used forfunctions,variables,constants,andclasses,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 thedata type(for variables and constants), or thetype signature(for functions); types may also include dimensions, such as for arrays. A declaration is used to announce the existence of the entity to thecompiler;this is important in thosestrongly typedlanguages that require functions, variables, and constants, and their types, to be specified with a declaration before use, and is used inforward declaration.[99]The term "declaration" is frequently contrasted with the term "definition",[98]but meaning and usage varies significantly between languages.
- digital data
- Ininformation theoryandinformation systems,the discrete, discontinuousrepresentationof information or works. Numbers and letters are commonly used representations.
- digital signal processing(DSP)
- The use ofdigital processing,such as by computers or more specializeddigital signal processors,to perform a wide variety ofsignal processingoperations. The signals processed in this manner are a sequence of numbers that representsamplesof acontinuous variablein a domain such as time, space, or frequency.
- discrete event simulation(DES)
- A model of the operation of a system as adiscretesequence of events in time. Each event occurs at a particular instant in time and marks a change ofstatein the system.[100]Between consecutive events, no change in the system is assumed to occur; thus thesimulationcan 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 thehard disk drive(HDD) containing a non-removable disk, thefloppy disk drive(FDD) and its removablefloppy disk,and variousoptical disc drives(ODD) and associatedoptical discmedia.
- distributed computing
- A field ofcomputer sciencethat studies distributed systems. Adistributed systemis a system whose components are located on differentnetworked computers,which communicate and coordinate their actions bypassing messagesto 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 fromSOA-based systemstomassively multiplayer online gamestopeer-to-peer applications.
- divide and conquer algorithm
- Analgorithm design paradigmbased on multi-branchedrecursion.A divide-and-conqueralgorithmworks 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
- SeeDomain Name System.
- documentation
- Written text or illustration that accompaniescomputer softwareor is embedded in thesource 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 acomputer program.It is a term used insoftware 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 theInternetor to a private network. It associates various information withdomain namesassigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numericalIP addressesneeded for locating and identifying computer services and devices with the underlyingnetwork protocols.By providing a worldwide,distributeddirectory service,the Domain Name System has been an essential component of the functionality of the Internet since 1985.
- double-precision floating-point format
- Acomputer number format.It represents a wide dynamic range of numerical values by using a floatingradixpoint.
- download
- Incomputer networks,to receive data from a remote system, typically aserver[103]such as aweb server,anFTPserver, anemailserver, or other similar systems. This contrasts withuploading,where data is senttoa remote server. Adownloadis afileoffered 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 includerouters,routingswitches,integrated access devices(IADs), multiplexers, and a variety ofmetropolitan area network(MAN) andwide area network(WAN) access devices. Edge devices also provide connections into carrier and service provider networks. An edge device that connects alocal area networkto a high speed switch or backbone (such as an ATM switch) may be called an edge concentrator.
- encryption
- Incryptography,encryption is the process ofencodinginformation. This process converts the original representation of the information, known asplaintext,into an alternative form known asciphertext.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 apseudo-randomencryptionkeygenerated by analgorithm.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 ofpublic-keyandsymmetric-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 originatingasynchronouslyfrom the external environment, that may behandledby the software. Because an event is an entity which encapsulates the action and the contextual variables triggering the action, the acrostic mnemonic "ExecutionVariableEncapsulatingNamedTrigger "is often used to clarify the concept.
- event-driven programming
- Aprogramming paradigmin which theflow of the programis determined byeventssuch as user actions (mouseclicks, key presses),sensoroutputs, ormessagesfrom other programs orthreads.Event-driven programming is the dominant paradigm used ingraphical user interfacesand other applications (e.g. JavaScriptweb applications) that are centered on performing certain actions in response touser input.This is also true of programming fordevice drivers(e.g.Pin USB device driver stacks[105]).
- evolutionary computing
- A family ofalgorithmsforglobal optimizationinspired bybiological evolution,and the subfield ofartificial intelligenceandsoft computingstudying these algorithms. In technical terms, they are a family of population-based trial-and-error problem-solvers with ametaheuristicorstochastic optimizationcharacter.
- executable
- Causes a computer "to perform indicated tasks according to encodedinstructions,"[106]as opposed to adata filethat must beparsedby a program to be meaningful. The exact interpretation depends upon the use - while "instructions" is traditionally taken to meanmachine codeinstructions for a physicalCPU,in some contexts a file containingbytecodeorscripting languageinstructions may also be considered executable.
- execution
- Incomputerand software engineering is the process by which acomputerorvirtual machineexecutes the instructions of acomputer 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 thesemanticsof the instructions being executed.
- exception handling
- The process of responding to the occurrence, duringcomputation,ofexceptions– anomalous or exceptional conditions requiring special processing – often disrupting the normal flow ofprogramexecution.It is provided by specializedprogramming languageconstructs,computer hardwaremechanisms likeinterrupts,oroperating systemIPCfacilities likesignals.
- Existence detection
- An existence check before reading a file can catch and/or prevent a fatal error.
- expression
- In aprogramming language,a combination of one or moreconstants,variables,operators,andfunctionsthat the programming language interprets (according to its particularrules of precedenceand of association) and computes to produce ( "to return", in astatefulenvironment) another value. This process, as formathematical expressions,is called evaluation.
F
[edit]- fault-tolerant computer system
- A system designed around the concept offault 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 thenatural 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 arecord,can be divided into fields.Relational databasesarrange data as sets ofdatabase records,so calledrows.Each record consists of several fields; the fields of all records form thecolumns. Examples of fields: name, gender, hair colour.
- filename extension
- An identifier specified as asuffixto thenameof acomputer file.The extension indicates a characteristic of the file contents or its intended use.
- filter (software)
- Acomputer programorsubroutineto process astream,producing another stream. While a single filter can be used individually, they are frequently strung together to form apipeline.
- floating point arithmetic
- Incomputing,floating-point arithmetic (FP) is arithmetic using formulaic representation ofreal numbersas an approximation to support atrade-offbetween 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 ofsignificant digits(thesignificand) and scaled using anexponentin 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 ofmathematical modelsof strategic interaction between rational decision-makers.[114]It has applications in all fields ofsocial science,as well as inlogicandcomputer science.Originally, it addressedzero-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 anumbrella termfor thescienceof logical decision making in humans, animals, and computers.
- garbage in, garbage out(GIGO)
- A term used to describe the concept that flawed or nonsenseinputdata produces nonsenseoutputor "garbage". It can also refer to the unforgiving nature ofprogramming,in which a poorly written program might produce nonsensical behavior.
- Graphics Interchange Format
- gigabyte
- A multiple of the unitbytefor digital information. Theprefixgigameans 109in theInternational System of Units(SI). Therefore, one gigabyte is1000000000bytes.The unit symbol for the gigabyte is GB.
- global variable
- Incomputer programming,a variable with globalscope,meaning that it is visible (hence accessible) throughout the program, unlessshadowed.The set of all global variables is known as theglobal environmentorglobal state.In compiled languages, global variables are generallystatic variables,whoseextent(lifetime) is the entire runtime of the program, though in interpreted languages (includingcommand-line interpreters), global variables are generally dynamically allocated when declared, since they are not known ahead of time.
- graph theory
- In mathematics, the study ofgraphs,which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up ofvertices(also callednodesorpoints) which are connected byedges(also calledlinksorlines). 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
- Incomputer programming,a handle is an abstractreferenceto aresourcethat is used whenapplication softwarereferences blocks ofmemoryor objects that are managed by another system like adatabaseor anoperating 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
- Anyfunctionthat can be used to mapdataof arbitrary size to data of a fixed size. The values returned by a hash function are calledhash values,hash codes,digests,or simplyhashes.Hash functions are often used in combination with ahash table,a commondata structureused in computer software for rapid data lookup. Hash functions accelerate table or database lookup by detecting duplicated records in a large file.
- hash table
- Incomputing,ahash table(hash map) is adata structurethat implements anassociative arrayabstract data type,a structure that can mapkeystovalues.A hash table uses ahash functionto compute anindexinto an array ofbucketsorslots,from which the desired value can be found.
- heap
- A specializedtree-baseddata structurewhich is essentially an almost complete[115]tree that satisfies theheap property:if P is a parentnodeof C, then thekey(thevalue) of P is either greater than or equal to (in amax heap) or less than or equal to (in amin heap) the key of C.[116]The node at the "top" of the heap (with no parents) is called therootnode.
- heapsort
- Acomparison-basedsorting algorithm.Heapsort can be thought of as an improvedselection 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 aheapdata 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 ofcomputer science,behavioral sciences,design,media studies,andseveral other fields of study.
I
[edit]- identifier
- Incomputer languages,identifiers aretokens(also calledsymbols) which name language entities. Some of the kinds of entities an identifier might denote includevariables,types,labels,subroutines,andpackages.
- IDE
- Integrated development environment.
- image processing
- imperative programming
- Aprogramming paradigmthat usesstatementsthat change a program'sstate.In much the same way that theimperative moodinnatural languagesexpresses commands, an imperative program consists ofcommandsfor the computer to perform. Imperative programming focuses on describinghowa program operates.
- incremental build model
- A method ofsoftware developmentwhere the product isdesigned,implemented andtestedincrementally (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 thewaterfall modelwith the iterative philosophy ofprototyping.
- information space analysis
- A deterministic method, enhanced bymachine intelligence,for locating and assessingresourcesfor team-centric efforts.
- information visualization
- inheritance
- Inobject-oriented programming,the mechanism of basing anobjectorclassupon 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 orbase class) and forming them into a hierarchy of classes.
- input/output(I/O)
- The communication between an information processing system, such as acomputer,and the outside world, possibly a human or another information processing system.Inputsare the signals or data received by the system and outputs are the signals ordatasent from it. The term can also be used as part of an action; to "perform I/O" is to perform aninput or output operation.
- insertion sort
- A simplesorting algorithmthat builds the finalsorted array(or list) one item at a time.
- instruction cycle
- The cycle which thecentral processing unit(CPU) follows fromboot-upuntil 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, adata typethat represents somerangeof mathematicalintegers.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, includingvirtual machines,nearly always provide a way to represent a processorregisteror memory address as an integer.
- integrated development environment(IDE)
- Asoftware applicationthat provides comprehensive facilities to computer programmers forsoftware development.An IDE normally consists of at least asource code editor,build automationtools, and adebugger.
- integration testing
- (sometimes called integration and testing, abbreviated I&T) is the phase insoftware testingin which individual software modules are combined and tested as a group. Integration testing is conducted to evaluate thecomplianceof a system or component with specifiedfunctional requirements.[118]It occurs afterunit testingand beforevalidation testing.Integration testing takes as its inputmodulesthat have been unit tested, groups them in larger aggregates, applies tests defined in an integrationtest planto those aggregates, and delivers as its output the integrated system ready forsystem 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 arecopyrights,patents,trademarks,andtrade secrets.
- intelligent agent
- Inartificial intelligence,anintelligent agent(IA) refers to anautonomousentity which acts, directing its activity towards achieving goals (i.e. it is anagent), upon anenvironmentusing observation through sensors and consequent actuators (i.e. it is intelligent).[127]Intelligent agents may alsolearnor useknowledgeto achieve their goals. They may be very simple orvery complex.A reflex machine, such as athermostat,is considered an example of an intelligent agent.[128]
- interface
- A shared boundary across which two or more separate components of acomputer systemexchange information. The exchange can be betweensoftware,computer hardware,peripheraldevices,humans,and combinations of these.[129]Some computer hardware devices, such as atouchscreen,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
- Computersoftwareis said to have Internal Documentation if the notes on how and why various parts of code operate is included within thesource codeas comments. It is often combined with meaningfulvariablenames with the intention of providing potential future programmers a means of understanding the workings of the code. This contrasts with externaldocumentation,where programmers keep their notes and explanations in a separate document.
- internet
- The global system of interconnectedcomputer networksthat use theInternet protocol suite(TCP/IP) to link devices worldwide. It is anetwork of networksthat 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
- Asoftware applicationthat runs automated tasks (scripts) over theInternet.[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 inweb spidering(web crawler), in which an automated script fetches, analyzes and files information from web servers at many times the speed of ahuman.
- interpreter
- Acomputer programthat directlyexecutesinstructions written in aprogrammingorscripting language,without requiring them to have been previouslycompiledinto amachine languageprogram.
- 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 alogical assertionthat is always held to be true during a certain phase of execution. For example, aloop invariantis 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. Inmathematicsandcomputer science,iteration (along with the related technique ofrecursion) is a standard element ofalgorithms.
J
[edit]- Java
- Ageneral-purposeprogramming languagethat isclass-based,object-oriented[132](although not apureOO language[133]), and designed to have as few implementationdependenciesas possible. It is intended to letapplication developers"write once, run anywhere"(WORA),[134]meaning thatcompiledJava code can run on all platforms that support Java without the need for recompilation.[135]
K
[edit]- kernel
- The first section of anoperating systemto load intomemory.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 ofnon-volatileresources used bycomputer programs,often forsoftware development.These may include configuration data, documentation, help data, message templates,pre-written codeandsubroutines,classes,values,ortypespecifications.
- linear search
- A method for finding an element within alist.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 elementpointsto the next. It is adata structureconsisting of a collection ofnodeswhich together represent asequence.
- linker
- or link editor, is a computerutilityprogram that takes one or moreobject filesgenerated by acompileror anassemblerand combines them into a singleexecutablefile,libraryfile, or another 'object' file. A simpler version that writes its output directly to memory is called theloader,thoughloadingis typically considered a separate process.[137]
- list
- Anabstract data typethat represents a countable number of orderedvalues,where the same value may occur more than once. An instance of a list is a computer representation of the mathematical concept of a finitesequence;the (potentially) infinite analog of a list is astream.[138]: §3.5 Lists are a basic example ofcontainers,as they contain other values. If the same value occurs multiple times, each occurrence is considered a distinct item.
- loader
- The part of anoperating systemthat is responsible for loadingprogramsandlibraries.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 theexecutable filecontaining 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
- Incomputer programming,abugin a program that causes it to operate incorrectly, but not to terminate abnormally (orcrash). A logic error produces unintended or undesired output or other behaviour, although it may not immediately be recognized as such.
- logic programming
- A type ofprogramming paradigmwhich is largely based onformal logic.Any program written in a logicprogramming languageis a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families includeProlog,answer set programming(ASP), andDatalog.
M
[edit]- machine learning(ML)
- The scientific study ofalgorithmsandstatistical modelsthatcomputer systemsuse to perform a specific task without using explicit instructions, relying on patterns andinferenceinstead. It is seen as a subset ofartificial intelligence.Machine learning algorithms build amathematical modelbased 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 asystems engineeringdiscipline can be considered distinct fromcomputer vision,a form ofcomputer 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 ofmathematicsexploring the applications of formallogicto mathematics. It bears close connections tometamathematics,thefoundations of mathematics,andtheoretical computer science.[141]The unifying themes in mathematical logic include the study of the expressive power offormal systemsand thedeductivepower of formalproofsystems.
- matrix
- Inmathematics,a matrix, (plural matrices), is arectangulararray[142](seeirregular matrix) ofnumbers,symbols,orexpressions,arranged inrowsandcolumns.[143][144]
- memory
- Computer data storage, often called storage, is a technology consisting ofcomputercomponents andrecording mediathat are used to retain digitaldata.It is a core function and fundamental component of computers.[63]: 15–16
- merge sort
- An efficient, general-purpose,comparison-basedsorting algorithm.Most implementations produce astable sort,which means that the order of equal elements is the same in the input and output. Merge sort is adivide and conquer algorithmthat was invented byJohn von Neumannin 1945.[145]A detailed description and analysis of bottom-up mergesort appeared in a report byGoldstineandvon Neumannas early as 1948.[146]
- method
- Inobject-oriented programming(OOP), aprocedureassociated with amessageand anobject.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
- Insoftware engineering,a software development process is the process of dividingsoftware developmentwork into distinct phases to improvedesign,product management,andproject management.It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specificdeliverablesand artifacts that are created and completed by a project team to develop or maintain an application.[148]
- modem
- Ahardwaredevice that converts data into a format suitable for atransmission mediumso that it can be transmitted from one computer to another (historically along telephone wires). A modemmodulatesone or morecarrier wavesignals to encodedigital informationfor transmission anddemodulatessignals to decode the transmitted information. The goal is to produce asignalthat 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 fromlight-emitting diodestoradio.A common type of modem is one that turns thedigital dataof acomputerinto modulatedelectrical signalfor transmission overtelephone linesand demodulated by another modem at the receiver side to recover the digital data.
N
[edit]- natural language processing(NLP)
- A subfield oflinguistics,computer science,information engineering,andartificial intelligenceconcerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts ofnatural languagedata. Challenges in natural language processing frequently involvespeech recognition,natural language understanding,andnatural language generation.
- node
- Is a basic unit of adata structure,such as alinked listortreedata structure. Nodes containdataand also may link to other nodes. Links between nodes are often implemented bypointers.
- number theory
- A branch ofpure mathematicsdevoted primarily to the study of theintegersandinteger-valued functions.
- numerical analysis
- The study ofalgorithmsthat use numericalapproximation(as opposed tosymbolic manipulations) for the problems ofmathematical analysis(as distinguished fromdiscrete mathematics).
- numerical method
- Innumerical 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 avariable,adata structure,afunction,or amethod,and as such, is avalueinmemoryreferenced by anidentifier.In theclass-basedobject-oriented programmingparadigm,objectrefers to a particularinstanceof aclass,where the object can be a combination of variables, functions, and data structures. Inrelationaldatabasemanagement, 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 acompiler.[150]In a general sense object code is a sequence ofstatementsor instructions in a computer language,[151]usually amachine codelanguage (i.e.,binary) or an intermediate language such asregister transfer language(RTL). The term indicates that the code is thegoalor 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 applyingobject-oriented programming,as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.
- object-oriented programming(OOP)
- Aprogramming paradigmbased on the concept of "objects",which can containdata,in the form offields(often known asattributesorproperties), and code, in the form ofprocedures(often known asmethods). 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 areclass-based,meaning that objects areinstancesofclasses,which also determine theirtypes.
- open-source software(OSS)
- A type ofcomputer softwarein whichsource codeis released under alicensein which thecopyrightholder grants users the rights to study, change, anddistribute the softwareto anyone and for any purpose.[154]Open-source software may be developed in acollaborative public manner.Open-source software is a prominent example ofopen collaboration.[155]
- operating system(OS)
- System softwarethat managescomputer hardware,softwareresources, and provides commonservicesforcomputer programs.
- optical fiber
- A flexible,transparentfibermade bydrawingglass(silica) or plastic to a diameter slightly thicker than that of ahuman 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 infiber-optic communications,where they permit transmission over longer distances and at higherbandwidths(data rates) than electrical cables. Fibers are used instead ofmetalwires because signals travel along them with lessloss;in addition, fibers are immune toelectromagnetic interference,a problem from which metal wires suffer.[157]
P
[edit]- pair programming
- Anagile software developmenttechnique in which twoprogrammerswork together at one workstation. One, thedriver,writescodewhile the other, theobserverornavigator,[158]reviewseach line of code as it is typed in. The two programmers switch roles frequently.
- parallel computing
- A type ofcomputationin which many calculations or the execution ofprocessesare 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,andtask parallelism.
- parameter
- Incomputer programming,a special kind ofvariable,used in asubroutineto 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 calledactual argumentsoractual parameters) with which the subroutine is going to be called/invoked. An ordered list of parameters is usually included in thedefinition 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. Aninput devicesends data or instructions to the computer; anoutput deviceprovides output from the computer to the user; and aninput/output deviceperforms both functions.
- pointer
- Is anobjectin manyprogramming languagesthat stores amemory address.This can be that of another value located incomputer memory,or in some cases, that ofmemory-mappedcomputer hardware.A pointerreferencesa location in memory, and obtaining the value stored at that location is known asdereferencingthe 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 underlyingcomputer architecture.
- postcondition
- Incomputer programming,a condition orpredicatethat must always be true just after the execution of some section of code or after an operation in aformal specification.Postconditions are sometimes tested usingassertionswithin the code itself. Often, postconditions are simply included in the documentation of the affected section of code.
- precondition
- Incomputer programming,a condition orpredicatethat must always be true just prior to the execution of some section ofcodeor before an operation in aformal specification.If a precondition is violated, the effect of the section ofcodebecomes undefined and thus may or may not carry out its intended work.Securityproblems can arise due to incorrect preconditions.
- primary storage
- (Also known asmain memory,internal memoryorprime memory), often referred to simply asmemory,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
- Anabstract data typewhich is like a regularqueueorstackdata 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
- Procedural generation
- procedure
- Incomputer 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 particulartaskshould be performed.Subroutines may be defined within programs, or separately inlibrariesthat 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 termcallable unit is sometimes used.[163]
- program lifecycle phase
- Program lifecycle phases are the stages acomputer programundergoes, from initial creation to deployment andexecution.The phases are edit time, compile time, link time, distribution time, installation time, load time, and run time.
- programming language
- Aformal language,which comprises aset of instructionsthat produce various kinds ofoutput.Programming languages are used incomputer programmingto implementalgorithms.
- programming language implementation
- Is a system for executingcomputer programs.There are two general approaches to programming language implementation:interpretationandcompilation.[164]
- programming language theory
- (PLT) is a branch ofcomputer sciencethat deals with the design, implementation, analysis, characterization, and classification ofprogramming languagesand of their individualfeatures.It falls within the discipline of computer science, both depending on and affectingmathematics,software engineering,linguisticsand evencognitive science.It has become a well-recognized branch of computer science, and an active research area, with results published in numerousjournalsdedicated to PLT, as well as in general computer science and engineering publications.
- Prolog
- Is alogic programminglanguage associated withartificial intelligenceandcomputational linguistics.[165][166][167]Prolog has its roots infirst-order logic,aformal logic,and unlike many otherprogramming languages,Prolog is intended primarily as adeclarative programminglanguage: the program logic is expressed in terms ofrelations,represented as facts andrules.Acomputationis initiated by running aqueryover these relations.[168]
- Python
- Is aninterpreted,high-levelandgeneral-purpose programming language.Created byGuido van Rossumand first released in 1991, Python's design philosophy emphasizescode readabilitywith its notable use ofsignificant whitespace.Itslanguage constructsandobject-orientedapproach aim to helpprogrammerswrite clear, logical code for small and large-scale projects.[169]
Q
[edit]- quantum computing
- The use ofquantum-mechanicalphenomena such assuperpositionandentanglementto performcomputation.A quantum computer is used to perform such computation, which can be implemented theoretically or physically.[170]: I-5
- queue
- Acollectionin 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 asenqueue,and removal of entities from the front terminal position, known asdequeue.
- quicksort
- Anefficientsorting algorithmwhich serves as a systematic method for placing the elements of arandom accessfileor anarrayin order.
R
[edit]- R programming language
- Ris aprogramming languageandfree softwareenvironment forstatistical computingand graphics supported by the R Foundation for Statistical Computing.[171]The R language is widely used amongstatisticiansanddata minersfor developingstatistical software[172]anddata analysis.[173]
- radix
- Indigital numeral systems,the number of uniquedigits,including the digit zero, used to represent numbers in apositionalnumeral 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 thebinary systemthat is the standard incomputing,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 basicdata structure.Records in adatabaseorspreadsheetare 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 fromlinguisticstologic.The most common application of recursion is inmathematicsandcomputer science,where afunctionbeing 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 particulardatum,such as avariable's value or arecord,in thecomputer'smemoryor in some otherstorage device.The reference is said to refer to the datum, and accessing the datum is calleddereferencingthe reference.
- reference counting
- A programming technique of storing the number ofreferences,pointers,orhandlesto a resource, such as an object, a block of memory, disk space, and others. Ingarbage collectionalgorithms, reference counts may be used to deallocate objects which are no longer needed.
- regression testing
- (rarelynon-regression testing[178]) is re-runningfunctionalandnon-functional teststo ensure that previously developed and tested software still performs after a change.[179]If not, that would be called aregression.Changes that may require regression testing includebugfixes, software enhancements,configurationchanges, and even substitution ofelectronic components.[180]As regression test suites tend to grow with each found defect, test automation is frequently involved. Sometimes achange impact analysisis performed to determine an appropriate subset of tests (non-regression analysis[181]).
- relational database
- Is a digitaldatabasebased on therelational modelof data, as proposed byE. F. Coddin 1970.[182] A software system used to maintain relational databases is arelational database management system(RDBMS). Many relational database systems have an option of using theSQL(Structured Query Language) for querying and maintaining the database.[183][better source needed]
- reliability engineering
- A sub-discipline ofsystems engineeringthat emphasizes dependability in thelifecycle managementof a product. Reliability describes the ability of a system or component to function under stated conditions for a specified period of time.[184]Reliability is closely related toavailability,which is typically described as the ability of a component or system to function at a specified moment or interval of time.
- requirements analysis
- Insystems engineeringandsoftware 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 conflictingrequirementsof the variousstakeholders,analyzing, documenting, validating and managingsoftware or system requirements.[185]
- robotics
- An interdisciplinary branch ofengineeringandsciencethat includesmechanical engineering,electronic engineering,information engineering,computer science,and others. Robotics involves design, construction, operation, and use ofrobots,as well ascomputer systemsfor their perception, control,sensory feedback,andinformation 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 givenalgorithmusing 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 ofquantization error.[188]When using approximationequationsor algorithms, especially when using finitely many digits to represent real numbers (which in theory have infinitely many digits), one of the goals ofnumerical analysisis toestimatecomputation errors.[189]Computation errors, also callednumerical errors,include bothtruncation errorsand roundoff errors.[190]
- router
- Anetworking devicethat forwardsdata packetsbetweencomputer networks.Routers perform the traffic directing functions on theInternet.Data sent through the internet, such as aweb pageoremail,is in the form of data packets. A packet is typicallyforwardedfrom one router to another router through the networks that constitute aninternetwork(e.g. the Internet) until it reaches its destinationnode.[191]
- routing table
- Incomputer networkinga routing table, or routing information base (RIB), is adata tablestored in arouteror anetwork hostthat lists the routes to particular network destinations, and in some cases,metrics(distances) associated with those routes. The routing table contains information about thetopology of the networkimmediately around it.
- run time
- Runtime, run time, or execution time is the final phase of acomputer program'slife cycle,in which the code is beingexecutedon the computer'scentral processing unit(CPU) asmachine code.In other words, "runtime" is the running phase of a program.
- run time error
- Aruntime erroris detected after or during the execution (running state) of a program, whereas acompile-timeerror is detected by thecompilerbefore 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 differentprogramming languages,such asdivision by zeroerrors, domain errors,array subscript out of boundserrors,arithmetic underflowerrors, several types of underflow andoverflowerrors, 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
- Anyalgorithmwhich solves thesearch problem,namely, to retrieve information stored within some data structure, or calculated in thesearch spaceof a problemdomain,either withdiscrete or continuous values.
- secondary storage
- Also known asexternal memoryorauxiliary storage,differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses itsinput/outputchannels 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 anin-placecomparisonsorting algorithm.It has anO(n2)time complexity,which makes it inefficient on large lists, and generally performs worse than the similarinsertion sort.Selection sort is noted for its simplicity and has performance advantages over more complicated algorithms in certain situations, particularly whereauxiliary memoryis limited.
- semantics
- Inprogramming language theory,semantics is the field concerned with the rigorous mathematical study of the meaning ofprogramming languages.It does so by evaluating the meaning ofsyntacticallyvalidstringsdefined 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 certainplatform,hence creating amodel of computation.
- sequence
- Inmathematics,a sequence is an enumerated collection of objects in which repetitions are allowed andorderdoes matter. Like aset,it containsmembers(also calledelements,orterms). The number of elements (possibly infinite) is called thelengthof 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 afunctionwhose domain is either the set of thenatural numbers(for infinite sequences) or the set of the firstnnatural numbers (for a sequence of finite lengthn). The position of an element in a sequence is itsrankorindex;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, thenth element of the sequence is denoted by this symbol withnas subscript; for example, thenth element of theFibonacci sequenceFis generally denotedFn. 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 befinite,as in these examples, orinfinite,such as the sequence of allevenpositive integers(2, 4, 6,...). Incomputingandcomputer science,finite sequences are sometimes calledstrings,wordsorlists,the different names commonly corresponding to different ways to represent them incomputer memory;infinite sequences are calledstreams.The empty sequence ( ) is included in most notions of sequence, but may be excluded depending on the context.
- serializability
- Inconcurrency controlofdatabases,[192][193]transaction processing(transaction management), and varioustransactionalapplications (e.g.,transactional memory[194]andsoftware transactional memory), both centralized anddistributed,atransaction scheduleisserializableif 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 ofisolationbetweentransactions,and plays an essential role inconcurrency 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 translatingdata structuresorobjectstate into a format that can be stored (for example, in afileor memorybuffer) or transmitted (for example, across anetworkconnection 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 ofreferences,this process is not straightforward. Serialization of object-orientedobjectsdoes not include any of their associatedmethodswith which they were previously linked. This process of serializing an object is also calledmarshallingan object in some situations.[1][2]The opposite operation, extracting a data structure from a series of bytes, isdeserialization,(also calledunserializationorunmarshalling).
- 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 providersandtelcoswill 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 inmean time between failures(MTBF),mean time to repairormean 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 anabstract data typethat can store unique values, without any particularorder.It is a computer implementation of themathematicalconcept of afinite set.Unlike most othercollectiontypes, 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.
- software
- Computer software, or simply software, is a collection ofdataorcomputerinstructions that tell the computer how to work. This is in contrast tophysical hardware,from which the system is built and actually performs the work. Incomputer scienceandsoftware engineering,computer software is allinformationprocessed bycomputer systems,programsanddata.Computer software includescomputer programs,librariesand related non-executabledata,such asonline documentationordigital 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 Latinagere(to do): an agreement to act on one's behalf. Such "action on behalf of" implies theauthorityto decide which, if any, action is appropriate.[197][198]Agents are colloquially known asbots,fromrobot.They may be embodied, as when execution is paired with a robot body, or as software such as a chatbot executing 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 interactionenvironments) may possess human-like qualities such asnatural language understandingand speech, personality or embody humanoid form (seeAsimo).
- software construction
- Is asoftware engineeringdiscipline. It is the detailed creation of working meaningfulsoftwarethrough a combination ofcoding,verification,unit testing,integration testing,anddebugging.It is linked to all the othersoftware engineeringdisciplines, most strongly tosoftware designandsoftware testing.[199]
- software deployment
- Is all of the activities that make asoftware systemavailable for use.[200]
- software design
- Is the process by which anagentcreates a specification of asoftware artifact,intended to accomplishgoals,using a set of primitive components and subject toconstraints.[201]Software design may refer to either "all the activity involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying complex systems" or "the activity followingrequirementsspecification and beforeprogramming,as... [in] a stylized software engineering process. "[202]
- software development
- Is the process of conceiving, specifying, designing,programming,documenting,testing,andbug fi xinginvolved in creating and maintainingapplications,frameworks,or other software components. Software development is a process of writing andmaintainingthesource 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 andstructuredprocess.[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
- Insoftware engineering,a software development process is the process of dividingsoftware developmentwork into distinct phases to improvedesign,product management,andproject management.It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specificdeliverablesand artifacts that are created and completed by a project team to develop or maintain an application.[148]Most modern development processes can be vaguely described asagile.Other methodologies includewaterfall,prototyping,iterative and incremental development,spiral development,rapid application development,andextreme programming.
- software engineering
- Is the systematic application ofengineeringapproaches to thedevelopmentofsoftware.[205][206][207]Software engineering is acomputingdiscipline.[208]
- software maintenance
- Insoftware engineeringis the modification of a software product after delivery to correct faults, to improve performance or other attributes.[209]
- software prototyping
- Is the activity of creatingprototypesof software applications, i.e., incomplete versions of thesoftware programbeing developed. It is an activity that can occur insoftware developmentand is comparable toprototypingas known from other fields, such asmechanical engineeringormanufacturing.A prototype typically simulates only a few aspects of, and may be completely different from, the final product.
- software requirements specification
- (SRS), is a description of asoftware systemto bedeveloped.The software requirements specification lays outfunctionalandnon-functional requirements,and it may include a set ofuse casesthat describe user interactions that the software must provide to the user for perfect interaction.
- software testing
- Is an investigation conducted to provide stakeholders with information about thequalityof thesoftwareproduct or service under test.[210]Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of findingsoftware bugs(errors or other defects), and verifying that the software product is fit for use.
- sorting algorithm
- Is analgorithmthat puts elements of alistin a certainorder.The most frequently used orders arenumerical orderandlexicographical order.Efficientsortingis important for optimizing theefficiencyof other algorithms (such assearchandmergealgorithms) that require input data to be in sorted lists. Sorting is also often useful forcanonicalizingdata and for producing human-readable output. More formally, the output of any sorting algorithm must satisfy two conditions:
- The output is in nondecreasing order (each element is no smaller than the previous element according to the desiredtotal order);
- The output is apermutation(a reordering, yet retaining all of the original elements) of the input.
- source code
- Incomputing,source code is any collection of code, with or withoutcomments,written using[211]ahuman-readableprogramming language,usually asplain text.The source code of a program is specially designed to facilitate the work of computerprogrammers,who specify the actions to be performed by a computer mostly by writing source code. The source code is often transformed by anassemblerorcompilerintobinarymachine codethat can be executed by the computer. The machine code might then be stored forexecutionat a later time. Alternatively, source code may beinterpretedand thus immediately executed.
- spiral model
- Is a risk-drivensoftware development processmodel. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such asincremental,waterfall,orevolutionary prototyping.
- stack
- Is anabstract data typethat serves as acollectionof elements, with two main principal operations:
- push,which adds an element to the collection, and
- pop,which removes the most recently added element that was not yet removed.
- state
- Ininformation technologyand computer science, a system is described as stateful if it is designed to remember preceding events or user interactions;[214]the remembered information is called the state of the system.
- statement
- Incomputer programming,a statement is asyntacticunit of animperative programming languagethat expresses some action to be carried out.[215]Aprogramwritten in such a language is formed by a sequence of one or more statements. A statement may have internal components (e.g.,expressions).
- storage
- Computer data storage is a technology consisting ofcomputercomponents andrecording mediathat are used to retain digitaldata.It is a core function and fundamental component of computers.[63]: 15–16
- stream
- Is asequenceofdata elementsmade available over time. A stream can be thought of as items on aconveyor beltbeing processed one at a time rather than in large batches.
- string
- Incomputer programming,a string is traditionally asequenceofcharacters,either as aliteral constantor as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally considered as adata typeand is often implemented as anarray data structureofbytes(orwords) that stores a sequence of elements, typically characters, using somecharacter encoding.Stringmay also denote more generalarraysor other sequence (orlist) data types and structures.
- structured storage
- A NoSQL (originally referring to "non-SQL"or" non-relational ")[216]databaseprovides a mechanism forstorageandretrievalof data that is modeled in means other than the tabular relations used inrelational databases.Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century,[217]triggered by the needs ofWeb 2.0companies.[218][219]NoSQL databases are increasingly used inbig dataandreal-time webapplications.[220]NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may supportSQL-like query languages or sit alongside SQL databases inpolyglot-persistentarchitectures.[221][222]
- subroutine
- Incomputer 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 particulartaskshould be performed.Subroutines may be defined within programs, or separately inlibrariesthat 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 termcallable unit is sometimes used.[163]
- symbolic computation
- Inmathematicsandcomputer science,[223]computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development ofalgorithmsandsoftwarefor manipulatingmathematical expressionsand othermathematical objects.Although computer algebra could be considered a subfield ofscientific computing,they are generally considered as distinct fields because scientific computing is usually based onnumerical computationwith approximatefloating point numbers,while symbolic computation emphasizesexactcomputation with expressions containingvariablesthat have no given value and are manipulated as symbols.
- syntax
- The syntax of acomputer languageis the set of rules that defines the combinations of symbols that are considered to be correctly structuredstatementsorexpressionsin that language. This applies both toprogramming languages,where the document representssource code,and tomarkup languages,where the document represents data.
- syntax error
- Is an error in thesyntaxof a sequence of characters ortokensthat is intended to be written incompile-time.A program will not compile until all syntax errors are corrected. Forinterpreted languages,however, a syntax error may be detected duringprogram execution,and an interpreter's error messages might not differentiate syntax errors from errors of other kinds. There is some disagreement as to just what errors are "syntax errors". For example, some would say that the use of an uninitialized variable's value in Java code is a syntax error, but many others would disagree[224][225]and would classify this as a(static) semanticerror.
- system console
- The system console, computer console, root console,operator's console, or simply console is the text entry and display device for system administration messages, particularly those from theBIOSorboot loader,thekernel,from theinitsystem and from thesystem logger.It is a physical device consisting of a keyboard and a screen, and traditionally is atext terminal,but may also be agraphical terminal.System consoles are generalized tocomputer terminals,which are abstracted respectively byvirtual consolesandterminal emulators.Today communication with system consoles is generally done abstractly, via thestandard streams(stdin,stdout,andstderr), but there may be system-specific interfaces, for example those used by the system kernel.
T
[edit]- technical documentation
- In engineering, any type ofdocumentationthat describes handling, functionality, and architecture of a technical product or a product underdevelopmentor use.[226][227][228]The intended recipient for product technical documentation is both the (proficient)end useras well as the administrator/service or maintenance technician. In contrast to a mere "cookbook"manual,technical documentation aims at providing enough information for a user to understand inner and outer dependencies of the product at hand.
- third-generation programming language
- A third-generation programming language (3GL) is ahigh-levelcomputerprogramming languagethat tends to be more machine-independent and programmer-friendly than themachine codeof thefirst-generationandassembly languagesof thesecond-generation,while having a less specific focus to thefourthandfifthgenerations.[229]Examples of common and historical third-generation programming languages areALGOL,BASIC,C,COBOL,Fortran,Java,andPascal.
- top-down and bottom-up design
- tree
- A widely usedabstract data type(ADT) that simulates a hierarchicaltree structure,with a root value and subtrees of children with aparent node,represented as a set of linkednodes.
- type theory
- In mathematics, logic, and computer science, a type theory is any of a class offormal systems,some of which can serve as alternatives toset theoryas afoundation for all mathematics.In type theory, every "term" has a "type" and operations are restricted to terms of a certain type.
U
[edit]- upload
- Incomputer networks,to senddatato a remote system such as aserveror another client so that the remote system can store a copy.[230]Contrastdownload.
- Uniform Resource Locator(URL)
- A reference to aweb resourcethat specifies its location on acomputer networkand a mechanism for retrieving it. A URL is a specific type ofUniform Resource Identifier(URI),[232][233]although many people use the two terms interchangeably.[234][c]URLs occur most commonly to reference web pages (http), but are also used for file transfer (ftp), email (mailto), database access (JDBC), and many other applications.
- user
- Is a person who utilizes acomputerornetworkservice.Users of computer systems and software products generally lack the technical expertise required to fully understand how they work.[237]Power usersuse advanced features of programs, though they are not necessarily capable ofcomputer programmingandsystem administration.
- user agent
- Software (asoftware agent) that acts on behalf of auser,such as aweb browserthat "retrieves, renders and facilitates end user interaction with Web content".[238]An email reader is amail user agent.
- user interface(UI)
- The space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, whilst the machine simultaneously feeds back information that aids the operators'decision-makingprocess. Examples of this broad concept of user interfaces include the interactive aspects of computeroperating systems,handtools,heavy machineryoperator controls, andprocesscontrols. The design considerations applicable when creating user interfaces are related to or involve such disciplines asergonomicsandpsychology.
- user interface design
- The design ofuser interfacesfor machines andsoftware,such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizingusabilityand theuser experience.The goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of accomplishing user goals (user-centered design).
V
[edit]- variable
- Incomputer programming,a variable, or scalar, is a storage location (identified by amemory address) paired with an associated symbolic name (anidentifier), which contains some known or unknown quantity of information referred to as avalue.The variable name is the usual way toreferencethe stored value, in addition to referring to the variable itself, depending on the context. This separation of name and content allows the name to be used independently of the exact information it represents. The identifier in computersource codecan beboundto a value duringrun time,and the value of the variable may therefore change during the course ofprogram execution.[239][240]
- virtual machine(VM)
- Anemulationof a computer system. Virtual machines are based oncomputer architecturesand attempt to provide the same functionality as a physical computer. Their implementations may involve specialized hardware, software, or a combination of both.
- V-Model
- Asoftware development processthat may be considered an extension of thewaterfall model,and is an example of the moregeneral V-model.Instead of moving down in a linear way, the process steps are bent upwards after thecodingphase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase oftesting.The horizontal and vertical axes represent time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.[241]
W
[edit]- waterfall model
- A breakdown of project activities into linearsequentialphases, where each phase depends on the deliverables of the previous one and corresponds to a specialisation of tasks. The approach is typical for certain areas ofengineering design.Insoftware development,it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction ( "downwards" like awaterfall) through the phases of conception, initiation,analysis,design,construction,testing,deploymentandmaintenance.
- Waveform Audio File Format
- Anaudio file formatstandard, developed byMicrosoftandIBM,for storing an audio bitstream onPCs.It is an application of theResource Interchange File Format(RIFF)bitstream formatmethod for storing data in "chunks", and thus is also close to the8SVXand theAIFFformat used onAmigaandMacintoshcomputers, respectively. It is the main format used onMicrosoft Windowssystems for raw and typically uncompressed audio. The usual bitstream encoding is thelinear pulse-code modulation(LPCM) format.
- web crawler
- AnInternet botthat systematically browses theWorld Wide Web,typically for the purpose ofWeb inde xing(web spidering).
- Wi-Fi
- A family of wireless networking technologies, based on theIEEE 802.11family of standards, which are commonly used forlocal area networkingof devices andInternetaccess.Wi‑Fiis a trademark of the non-profitWi-Fi Alliance,which restricts the use of the termWi-Fi Certifiedto products that successfully completeinteroperabilitycertification testing.[242][243][244]
X
[edit]- XHTML
- Part of the family ofXMLmarkup languages.It mirrors or extends versions of the widely usedHyperText Markup Language(HTML), the language in whichweb pagesare formulated.
See also
[edit]References
[edit]- ^"Abstract Methods and Classes".oracle.Oracle Java Documentation.Retrieved11 December2014.
- ^Colburn, Timothy; Shute, Gary (2007-06-05). "Abstraction in Computer Science".Minds and Machines.17(2): 169–184.doi:10.1007/s11023-007-9061-7.ISSN0924-6495.S2CID5927969.
- ^abKramer, Jeff (2007-04-01). "Is abstraction the key to computing?".Communications of the ACM.50(4): 36–42.CiteSeerX10.1.1.120.6776.doi:10.1145/1232743.1232745.ISSN0001-0782.S2CID12481509.
- ^Comparison of Agent ArchitecturesArchivedAugust 27, 2008, at theWayback Machine
- ^Collier, Ken W. (2011).Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing.Pearson Education. pp. 121 ff.ISBN9780321669544.
What is a self-organizing team?
- ^"What is Agile Software Development?".Agile Alliance. 8 June 2013.Retrieved4 April2015.
- ^Goodrich, Michael T.;Tamassia, Roberto(2002),Algorithm Design: Foundations, Analysis, and Internet Examples,John Wiley & Sons, Inc.,ISBN978-0-471-38365-9
- ^"Application software".PC Magazine.Ziff Davis.
- ^Black, Paul E. (13 November 2008)."array".Dictionary of Algorithms and Data Structures.National Institute of Standards and Technology.Retrieved22 August2010.
- ^Bjoern Andres; Ullrich Koethe; Thorben Kroeger; Hamprecht (2010). "Runtime-Flexible Multi-dimensional Arrays and Views for C++98 and C++0x".arXiv:1008.2909[cs.DS].
- ^Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: a C++ library for generic programming with arrays".Software: Practice and Experience.35(2): 159–188.doi:10.1002/spe.630.ISSN0038-0644.S2CID10890293.
- ^
Definition of AI as the study ofintelligent agents:
- Poole, Mackworth & Goebel 1998,p. 1,which provides the version that is used in this article. Note that they use the term "computational intelligence" as a synonym for artificial intelligence.
- Russell & Norvig (2003)(who prefer the term "rational agent" ) and write "The whole-agent view is now widely accepted in the field" (Russell & Norvig 2003,p. 55).
- Nilsson 1998
- Legg & Hutter 2007.
- ^Russell & Norvig 2009,p. 2.
- ^Goodrich, Michael T.;Tamassia, Roberto(2006), "9.1 The Map Abstract Data Type",Data Structures & Algorithms in Java(4th ed.), Wiley, pp. 368–371
- ^Mehlhorn, Kurt;Sanders, Peter(2008), "4 Hash Tables and Associative Arrays",Algorithms and Data Structures: The Basic Toolbox(PDF),Springer, pp. 81–98
- ^Douglas Comer,Computer Networks and Internets,page 99 ff, Prentice Hall 2008.
- ^Fred Halsall,to data+communications and computer networks,page 108, Addison-Wesley, 1985.
- ^Cisco Networking Academy Program: CCNA 1 and 2 companion guide, Volym 1–2,Cisco Academy 2003
- ^Behrouz A. Forouzan,Data communications and networking,McGraw-Hill, 2007
- ^Fleming, Philip J.; Wallace, John J. (1986-03-01)."How not to lie with statistics: the correct way to summarize benchmark results".Communications of the ACM.29(3): 218–221.doi:10.1145/5666.5673.ISSN0001-0782.S2CID1047380.
- ^Breur, Tom (July 2016)."Statistical Power Analysis and the contemporary" crisis "in social sciences".Journal of Marketing Analytics.4(2–3): 61–65.doi:10.1057/s41270-016-0001-3.ISSN2050-3318.
- ^Bachmann, Paul(1894).Analytische Zahlentheorie[Analytic Number Theory] (in German). Vol. 2. Leipzig: Teubner.
- ^Landau, Edmund(1909).Handbuch der Lehre von der Verteilung der Primzahlen[Handbook on the theory of the distribution of the primes] (in German). Leipzig: B. G. Teubner. p. 883.
- ^Williams, Jr., Louis F. (22 April 1976).A modification to the half-interval search (binary search) method.Proceedings of the 14th ACM Southeast Conference. ACM. pp. 95–101.doi:10.1145/503561.503582.Archivedfrom the original on 12 March 2017.Retrieved29 June2018.
- ^Knuth 1998,§6.2.1 ( "Searching an ordered table" ), subsection "Binary search".
- ^Butterfield & Ngondi 2016,p. 46.
- ^Cormen, Thomas H.;Leiserson, Charles E.;Rivest, Ronald L.;Stein, Clifford(2009) [1990].Introduction to Algorithms(3rd ed.). MIT Press and McGraw-Hill. p. 39.ISBN0-262-03384-4.
- ^Rowan Garnier; John Taylor (2009).Discrete Mathematics: Proofs, Structures and Applications, Third Edition.CRC Press. p. 620.ISBN978-1-4398-1280-8.
- ^Steven S Skiena (2009).The Algorithm Design Manual.Springer Science & Business Media. p. 77.ISBN978-1-84800-070-4.
- ^Mackenzie, Charles E. (1980).Coded Character Sets, History and Development(PDF).The Systems Programming Series (1 ed.).Addison-Wesley Publishing Company, Inc.p. x.ISBN978-0-201-14460-4.LCCN77-90165.Archived(PDF)from the original on May 26, 2016.RetrievedAugust 25,2019.
- ^Gupta, Prakash C (2006).Data Communications and Computer Networks.PHI Learning.ISBN9788120328464.Retrieved10 July2011.
- ^James D. Murray; William vanRyper (April 1996).Encyclopedia of Graphics File Formats(Second ed.).O'Reilly.bmp.ISBN978-1-56592-161-0.Retrieved2014-03-07.
- ^James D. Murray; William vanRyper (April 1996).Encyclopedia of Graphics File Formats(Second ed.).O'Reilly.os2bmp.ISBN978-1-56592-161-0.Retrieved2014-03-07.
- ^Gries, David;Schneider, Fred B.(1993), "Chapter 2. Boolean Expressions",A Logical Approach to Discrete Math,Monographs in Computer Science, Springer, p. 25ff,ISBN9780387941158
- ^Blaauw, Gerrit Anne;Brooks, Jr., Frederick Phillips;Buchholz, Werner(1962),"4: Natural Data Units"(PDF),inBuchholz, Werner(ed.),Planning a Computer System – Project Stretch,McGraw-Hill Book Company, Inc./ The Maple Press Company, York, PA., pp. 39–40,LCCN61-10466,archived(PDF)from the original on 2017-04-03,retrieved2017-04-03,
[…] Terms used here to describe the structure imposed by the machine design, in addition tobit,are listed below.
Bytedenotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other thancharacteris used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined frombite,but respelled to avoid accidental mutation tobit.)
Awordconsists of the number of data bits transmitted in parallel from or to memory in one memory cycle.Word sizeis thus defined as a structural property of the memory. (The termcatenawas coined for this purpose by the designers of theBullGAMMA 60 computer.)
Blockrefers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. […] - ^Bemer, Robert William(1959), "A proposal for a generalized card code of 256 characters",Communications of the ACM,2(9): 19–23,doi:10.1145/368424.368435,S2CID36115735
- ^"What is a callback function?".Stack Overflow.Retrieved2018-05-16.
- ^Weik, Martin H. (1961).A Third Survey of Domestic Electronic Digital Computing Systems(Report).Ballistic Research Laboratory.
- ^Kuck, David (1978).Computers and Computations, Vol 1.John Wiley & Sons, Inc. p. 12.ISBN978-0471027164.
- ^"Definition of CHARACTER".merriam-webster.Retrieved1 April2018.
- ^Gamma et al. 1995,p. 14.
- ^abBruce 2002,2.1 Objects, classes, and object types,https://books.google /books?id=9NGWq3K1RwUC&pg=PA18.
- ^Sadoski, Darleen. Client/Server Software Architectures – An Overview,Software Technology Roadmap, 1997-08-02. Retrieved on 2008-09-16.
- ^Mills, H.;M. Dyer; R. Linger (September 1987). "Cleanroom Software Engineering".IEEE Software.4(5): 19–25.CiteSeerX10.1.1.467.2435.doi:10.1109/MS.1987.231413.S2CID383170.
- ^Sussman and Steele. "Scheme: An interpreter for extended lambda calculus". "... a data structure containing a lambda expression, and an environment to be used when that lambda expression is applied to arguments." (Wikisource)
- ^abShaun Bebbington (2014)."What is coding".Retrieved2014-03-03.
- ^abShaun Bebbington (2014)."What is programming".Retrieved2014-03-03.
- ^Cognitive science is an interdisciplinary field of researchers from Linguistics, psychology, neuroscience, philosophy, computer science, and anthropology that seek to understand the mind.How We Learn: Ask the Cognitive Scientist
- ^Thagard, Paul,Cognitive Science,The Stanford Encyclopedia of Philosophy(Fall 2008 Edition),Edward N. Zalta(ed.).
- ^PC Mag Staff (28 February 2017)."Encyclopedia: Definition of Compiler".PCMag.Retrieved28 February2017.[permanent dead link]
- ^Computationfrom the Free Merriam-Webster Dictionary
- ^"Computation: Definition and Synonyms from Answers".Answers.Archived fromthe originalon 22 February 2009.Retrieved26 April2017.
- ^"NIH working definition of bioinformatics and computational biology" (PDF). Biomedical Information Science and Technology Initiative. 17 July 2000. Archived from the original (PDF) on 5 September 2012. Retrieved 18 August 2012.
- ^"About the CCMB". Center for Computational Molecular Biology. Retrieved 18 August 2012.
- ^Melnik, Roderick, ed. (2015).Mathematical and Computational Modeling: With Applications in Natural and Social Sciences, Engineering, and the Arts.Wiley.ISBN978-1-118-85398-6.
- ^Trappenberg, Thomas P. (2002).Fundamentals of Computational Neuroscience.United States: Oxford University Press Inc. p.1.ISBN978-0-19-851582-1.
- ^What is computational neuroscience? Patricia S. Churchland, Christof Koch, Terrence J. Sejnowski. in Computational Neuroscience pp.46-55. Edited by Eric L. Schwartz. 1993. MIT Press"Computational Neuroscience - the MIT Press".Archived fromthe originalon 2011-06-04.Retrieved2009-06-11.
- ^"Theoretical Neuroscience".The MIT Press.Archived fromthe originalon 2018-05-31.Retrieved2018-05-24.
- ^Gerstner, W.; Kistler, W.; Naud, R.; Paninski, L. (2014).Neuronal Dynamics.Cambridge, UK:Cambridge University Press.ISBN9781107447615.
- ^Thijssen, Jos (2007). Computational Physics. Cambridge University Press.ISBN978-0521833462.
- ^Clements, Alan.Principles of Computer Hardware(Fourth ed.). p. 1.
Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.
- ^Hennessy, John; Patterson, David.Computer Architecture: A Quantitative Approach(Fifth ed.). p. 11.
This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
- ^abcPatterson, David A.; Hennessy, John L. (2005).Computer Organization and Design: The Hardware/Software Interface(3rd ed.).Amsterdam:Morgan Kaufmann Publishers.ISBN1-55860-604-1.OCLC56213091.
- ^Bynum, Terrell Ward."A Very Short History of Computer Ethics".Southern Connecticut Wein University. Archived fromthe originalon 2008-04-18.Retrieved2011-01-05.
- ^Rochkind, Marc J. (2004).Advanced Unix Programming, Second Edition.Addison-Wesley. p. 1.1.2.
- ^"WordNet Search—3.1".Wordnetweb.princeton.edu.Retrieved14 May2012.
- ^Orsucci, Franco F.; Sala, Nicoletta (2008).Refle xing Interfaces: The Complex Coevolution of Information Technology Ecosystems, Information Science Reference.p.335.
- ^Schatz, Daniel; Bashroush, Rabih; Wall, Julie (2017)."Towards a More Representative Definition of Cyber Security".Journal of Digital Forensics, Security and Law.12(2).ISSN1558-7215.
- ^Dana H. Ballard; Christopher M. Brown (1982). Computer Vision. Prentice Hall.ISBN0-13-165316-4.
- ^Huang, T. (1996-11-19). Vandoni, Carlo, E, ed. Computer Vision: Evolution And Promise (PDF). 19th CERN School of Computing. Geneva: CERN. pp. 21–25. doi:10.5170/CERN-1996-008.21.ISBN978-9290830955.
- ^Milan Sonka; Vaclav Hlavac; Roger Boyle (2008). Image Processing, Analysis, and Machine Vision. Thomson.ISBN0-495-08252-X.
- ^"Computing Curriculum 2020"(PDF).[permanent dead link]
- ^Lamport, Leslie (July 1978)."Time, Clocks, and the Ordering of Events in a Distributed System"(PDF).Communications of the ACM.21(7): 558–565.CiteSeerX10.1.1.142.3682.doi:10.1145/359545.359563.S2CID215822405.Retrieved4 February2016.
- ^Paul E. Black (ed.), entry fordata structureinDictionary of Algorithms and Data Structures.USNational Institute of Standards and Technology.15 December 2004. Accessed 4 Oct 2011.
- ^Entrydata structurein theEncyclopædia Britannica(2009)Online entryAccessed 4 Oct 2011.
- ^Sussman, Gerald Jay;Steele, Guy L. Jr.(December 1975). .AI Memo.349:19.
That is, in thiscontinuation-passing programming style,a function always "returns" its result by "sending" it to another function.This is the key idea.
- ^Sussman, Gerald Jay;Steele, Guy L. Jr.(December 1998)."Scheme: A Interpreter for Extended Lambda Calculus"(reprint).Higher-Order and Symbolic Computation.11(4): 405–439.doi:10.1023/A:1010035624696.S2CID18040106.
We believe that this was the first occurrence of the term "continuation-passing style"in the literature. It has turned out to be an important concept in source code analysis and transformation for compilers and other metaprogramming tools. It has also inspired a set of other" styles "of program expression.
- ^"Frequently Asked Questions".Creative Commons. 4 August 2016.Retrieved20 December2011.
- ^Rivest, Ronald L.(1990). "Cryptography". In J. Van Leeuwen (ed.).Handbook of Theoretical Computer Science.Vol. 1. Elsevier.
- ^Bellare, Mihir; Rogaway, Phillip (21 September 2005). "Introduction".Introduction to Modern Cryptography.p. 10.
- ^Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. (1997).Handbook of Applied Cryptography.Taylor & Francis.ISBN978-0-8493-8523-0.
- ^Eric S. Raymond."daemon".The Jargon File.Retrieved2008-10-22.
- ^James Glanz (September 22, 2012)."Power, Pollution and the Internet".The New York Times.Retrieved2012-09-25.
- ^abc"Data Mining Curriculum".ACMSIGKDD.2006-04-30.Retrieved2014-01-27.
- ^Clifton, Christopher (2010)."Encyclopædia Britannica: Definition of Data Mining".Retrieved2010-12-09.
- ^Hastie, Trevor;Tibshirani, Robert;Friedman, Jerome(2009)."The Elements of Statistical Learning: Data Mining, Inference, and Prediction".Archived fromthe originalon 2009-11-10.Retrieved2012-08-07.
- ^Han, Jaiwei; Kamber, Micheline; Pei, Jian (2011).Data Mining: Concepts and Techniques(3rd ed.). Morgan Kaufmann.ISBN978-0-12-381479-1.
- ^Fayyad, Usama; Piatetsky-Shapiro, Gregory; Smyth, Padhraic (1996). "From Data Mining to Knowledge Discovery in Databases" (PDF). Retrieved 17 December 2008.
- ^Dhar, V. (2013)."Data science and prediction".Communications of the ACM.56(12): 64–73.doi:10.1145/2500499.S2CID6107147.
- ^Jeff Leek(2013-12-12)."The key word in" Data Science "is not Data, it is Science".Simply Statistics. Archived fromthe originalon 2014-01-02.Retrieved2018-12-05.
- ^Hayashi, Chikio (1998-01-01)."What is Data Science? Fundamental Concepts and a Heuristic Example".In Hayashi, Chikio; Yajima, Keiji; Bock, Hans-Hermann; Ohsumi, Noboru; Tanaka, Yutaka; Baba, Yasumasa (eds.).Data Science, Classification, and Related Methods.Studies in Classification, Data Analysis, and Knowledge Organization. Springer Japan. pp. 40–51.doi:10.1007/978-4-431-65950-1_3.ISBN9784431702085.
- ^Cormen, Thomas H.;Leiserson, Charles E.;Rivest, Ronald L.;Stein, Clifford(2009) [1990].Introduction to Algorithms(3rd ed.). MIT Press and McGraw-Hill.ISBN0-262-03384-4.
- ^Black, Paul E. (15 December 2004)."data structure".In Pieterse, Vreda; Black, Paul E. (eds.).Dictionary of Algorithms and Data Structures [online].National Institute of Standards and Technology.Retrieved2018-11-06.
- ^"Data structure".Encyclopaedia Britannica.17 April 2017.Retrieved2018-11-06.
- ^Wegner, Peter; Reilly, Edwin D. (2003-08-29).Encyclopedia of Computer Science.Chichester, UK: John Wiley and Sons. pp. 507–512.ISBN978-0470864128.
- ^typeat theFree On-line Dictionary of Computing
- ^Shaffer, C. A. (2011).Data Structures & Algorithm Analysis in C++(3rd ed.). Mineola, NY: Dover. 1.2.ISBN978-0-486-48582-9.
- ^abc"A declaration specifies the interpretation and attributes of a set of identifiers. Adefinitionof an identifier is a declaration for that identifier that:
- for an object [variable or constant], causes storage to be reserved for that object;
- for a function, includes the function body;
- for an enumeration constant, is the (only) declaration of the identifier;
- for a typedef name, is the first (or only) declaration of the identifier. "
- ^Mike Banahan."2.5. Declaration of variables".GBdirect.Retrieved2011-06-08.
[A] declaration [...] introduces just the name and type of something but allocates no storage[...].
- ^Stewart Robinson (2004).Simulation – The practice of model development and use.Wiley.
- ^abCoulouris, George;Jean Dollimore;Tim Kindberg; Gordon Blair (2011).Distributed Systems: Concepts and Design(5th ed.). Boston: Addison-Wesley.ISBN978-0-132-14301-1.
- ^Bjørner, Dines (2006). "The Tryptych of Software Engineering".Software Engineering 3 – Domains, Requirements, and Software Design(book). Vol. I. Springer Verlag. p. 9.ISBN978-3-540-33653-2.Retrieved2016-12-19.
- ^"What is downloading? - Definition from WhatIs".SearchNetworkNexting.Archived fromthe originalon 2019-09-05.Retrieved2019-03-04.
- ^abKessler, Gary (November 17, 2006)."An Overview of Cryptography".Princeton University.
- ^Vivek Gupta; Ethan Jackson; Shaz Qadeer; Sriram Rajamani (November 2012)."P: Safe Asynchronous Event-Driven Programming".Microsoft.Retrieved20 February2017.
- ^"executable".Merriam-Webster's Online Dictionary.Merriam-Webster.Retrieved2008-07-19.
- ^Justis, R. T. & Kreigsmann, B. (1979). The feasibility study as a tool for venture analysis.Business Journal of Small Business Management17 (1) 35-42.
- ^Georgakellos, D. A. & Marcis, A. M. (2009). Application of the semantic learning approach in the feasibility studies preparation training process.Information Systems Management26 (3) 231–240.
- ^Young, G. I. M. (1970). Feasibility studies.Appraisal Journal38 (3) 376-383.
- ^R. W. Butler (2001-08-06)."What is Formal Methods?".Retrieved2006-11-16.
- ^C. Michael Holloway.Why Engineers Should Consider Formal Methods(PDF).16th Digital Avionics Systems Conference (27–30 October 1997). Archived fromthe original(PDF)on 16 November 2006.Retrieved2006-11-16.
- ^Sanghavi, Alok (May 21, 2010). "What is formal verification?".EE Times Asia.
- ^"Declaration vs. expression style - HaskellWiki".
- ^Myerson, Roger B.(1991).Game Theory: Analysis of Conflict,Harvard University Press,p.1.Chapter-preview links, pp.vii–xi.
- ^Cormen, Thomas H.;Leiserson, Charles E.;Rivest, Ronald L.;Stein, Clifford(2009) [1990].Introduction to Algorithms(3rd ed.). MIT Press and McGraw-Hill. pp. 151–152.ISBN0-262-03384-4.
- ^Black (ed.), Paul E. (2004-12-14). Entry forheapinDictionary of Algorithms and Data Structures.Online version. U.S.National Institute of Standards and Technology,14 December 2004. Retrieved on 2017-10-08 fromhttps://xlinux.nist.gov/dads/HTML/heap.html.
- ^Skiena, Steven(2012). "Sorting and Searching".The Algorithm Design Manual.Springer. p.109.doi:10.1007/978-1-84800-070-4_4.ISBN978-1-84800-069-8.
[H]eapsort is nothing but an implementation of selection sort using the right data structure.
- ^ISO/IEC/IEEE International Standard - Systems and software engineering.ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 Dec. 2010.
- ^Martyn A Ould & Charles Unwin (ed),Testing in Software Development,BCS (1986), p71.Accessed 31 Oct 2014
- ^World Intellectual Property Organization (WIPO) (2016).Understanding Industrial Property.World Intellectual Property Organization.doi:10.34667/tind.28945.ISBN9789280525885.Retrieved2018-12-06.
- ^"Intellectual, industrial and commercial property | Fact Sheets on the European Union".European Parliament.Retrieved2018-12-06.
- ^"What are intellectual property rights?".World Trade Organization.Retrieved2016-05-23.
- ^"Intellectual property",Black's Law Dictionary,10th ed. (2014).
- ^"Understanding Copyright and Related Rights"(PDF).World Intellectual Property Organization. p. 4.Retrieved2018-12-06.
- ^"What is Intellectual Property?"(PDF).World Intellectual Property Organization (WIPO). Archived fromthe original(PDF)on 2020-02-06.Retrieved2018-12-07.
- ^"Understanding Industrial Property"(PDF).World Intellectual Property Organization (WIPO).Retrieved2018-12-07.
- ^Anderson, Michael; Anderson, Susan Leigh (2007-12-15)."Machine Ethics: Creating an Ethical Intelligent Agent".AI Magazine.28(4): 15.doi:10.1609/aimag.v28i4.2065.ISSN2371-9621.S2CID17033332.
- ^According to the definition given byRussell & Norvig (2003,chpt. 2)
- ^Hookway, B. (2014). "Chapter 1: The Subject of the Interface".Interface.MIT Press. pp. 1–58.ISBN9780262525503.
- ^IEEE 100 - The Authoritative Dictionary Of IEEE Standards Terms.NYC, NY, USA: IEEE Press. 2000. pp. 574–575.ISBN9780738126012.
- ^Dunham, Ken; Melnick, Jim (2008).Malicious Bots: An Inside Look into the Cyber-Criminal Underground of the Internet.CRC Press.ISBN9781420069068.
- ^Gosling et al. 2014,p. 1.
- ^"Java is pure object oriented or not?".Stack Overflow.Retrieved2019-05-24.
- ^"Write once, run anywhere?".Computer Weekly.May 2, 2002.Retrieved2009-07-27.
- ^"1.2 Design Goals of the Java™ Programming Language".Oracle. January 1, 1999.Archivedfrom the original on January 23, 2013.RetrievedJanuary 14,2013.
- ^Knuth 1998,§6.1 ( "Sequential search" ).
- ^IBM Corporation (1972).IBM OS Linkage Editor and Loader(PDF).
- ^Abelson, Harold; Sussman, Gerald Jay (1996).Structure and Interpretation of Computer Programs.MIT Press.
- ^The definition "without being explicitly programmed" is often attributed toArthur Samuel,who coined the term "machine learning" in 1959, but the phrase is not found verbatim in this publication, and may be aparaphrasethat appeared later. Confer "Paraphrasing Arthur Samuel (1959), the question is: How can computers learn to solve problems without being explicitly programmed?" inKoza, John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996).Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming.Artificial Intelligence in Design '96. Springer, Dordrecht. pp. 151–170.doi:10.1007/978-94-009-0279-4_9.
- ^< Bishop, C. M. (2006), Pattern Recognition and Machine Learning, Springer,ISBN978-0-387-31073-2
- ^Undergraduate texts include Boolos, Burgess, and Jeffrey(2002),Enderton(2001),and Mendelson(1997).A classic graduate text by Shoenfield(2001)first appeared in 1967.
- ^Equivalently,table.
- ^Anton (1987,p. 23)
- ^Beauregard & Fraleigh (1973,p. 56)
- ^Knuth (1998,p. 158)
- ^Katajainen, Jyrki; Träff, Jesper Larsson (March 1997)."A meticulous analysis of mergesort programs"(PDF).Proceedings of the 3rd Italian Conference on Algorithms and Complexity.Italian Conference on Algorithms and Complexity. Rome. pp. 217–228.CiteSeerX10.1.1.86.3154.doi:10.1007/3-540-62592-5_74.
- ^Consumers of an object may consist of various kinds of elements, such as other programs, remote computer systems, or computer programmers who wish to utilize the object as part of their own programs.
- ^abCenters for Medicare & Medicaid Services (CMS) Office of Information Service (2008). Selecting a development approach. Webarticle. United States Department of Health and Human Services (HHS). Re-validated: March 27, 2008. Retrieved 27 Oct 2008.
- ^Oppel, Andy (2005).SQL Demystified.McGraw Hill. p. 7.ISBN0-07-226224-9.
- ^"Compiler".TechTarget.Retrieved1 September2011.
Traditionally, the output of the compilation has been called object code or sometimes an object module.
- ^Aho, Alfred V.;Sethi, Ravi;Ullman, Jeffrey D.(1986). "10 Code Optimization".Compilers: principles, techniques, and tools.Computer Science. Mark S. Dalton. p. 704.ISBN0-201-10194-7.
- ^Kindler, E.; Krivy, I. (2011). "Object-Oriented Simulation of systems with sophisticated control".International Journal of General Systems.40(3): 313–343.doi:10.1080/03081079.2010.539975.S2CID205549734.
- ^Lewis, John; Loftus, William (2008).Java Software Solutions Foundations of Programming Design 6th ed.Pearson Education Inc.ISBN978-0-321-53205-3.,section 1.6 "Object-Oriented Programming"
- ^St. Laurent, Andrew M. (2008).Understanding Open Source and Free Software Licensing.O'Reilly Media. p. 4.ISBN9780596553951.
- ^Levine, Sheen S.; Prietula, Michael J. (2013-12-30). "Open Collaboration for Innovation: Principles and Performance".Organization Science.25(5): 1414–1433.arXiv:1406.7541.doi:10.1287/orsc.2013.0872.ISSN1047-7039.S2CID6583883.
- ^"Optical Fiber".thefoa.org.The Fiber Optic Association.Retrieved17 April2015.
- ^Senior, John M.; Jamro, M. Yousif (2009).Optical fiber communications: principles and practice.Pearson Education. pp. 7–9.ISBN978-0130326812.
- ^Williams, Laurie(February 19–20, 2001).Integrating pair programming into a software development process.14th Conference on Software Engineering Education and Training. Charlotte. pp. 27–36.doi:10.1109/CSEE.2001.913816.ISBN0-7695-1059-0.
One of the programmers, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects, and also thinks strategically about the direction of the work.
- ^Gottlieb, Allan; Almasi, George S. (1989).Highly parallel computing.Redwood City, Calif.: Benjamin/Cummings.ISBN978-0-8053-0177-9.
- ^Prata, Stephen (2004).C primer plus(5th ed.). Sams. pp. 276–277.ISBN978-0-672-32696-7.
- ^"Working Draft, Standard for Programming Language C++"(PDF).open-std.org.Retrieved1 January2018.
- ^Gordon, Aaron."Subprograms and Parameter Passing".rowdysites.msudenver.edu/~gordona.Archived fromthe originalon 1 January 2018.Retrieved1 January2018.
- ^abU.S. Election Assistance Commission(2007)."Definitions of Words with Special Meanings".Voluntary Voting System Guidelines.Archived fromthe originalon 2012-12-08.Retrieved2013-01-14.
- ^Ranta, Aarne (9 May 2012).Implementing Programming Languages(PDF).College Publications. pp. 16–18.ISBN9781848900646.Retrieved22 March2020.
- ^Clocksin, William F.; Mellish, Christopher S. (2003).Programming in Prolog.Berlin; New York: Springer-Verlag.ISBN978-3-540-00678-7.
- ^Bratko, Ivan (2012).Prolog programming for artificial intelligence(4th ed.). Harlow, England; New York: Addison Wesley.ISBN978-0-321-41746-6.
- ^Covington, Michael A. (1994).Natural language processing for Prolog programmers.Englewood Cliffs, N.J.: Prentice Hall.ISBN978-0-13-629213-5.
- ^Lloyd, J. W. (1984). Foundations of logic programming. Berlin: Springer-Verlag.ISBN978-3-540-13299-8.
- ^Kuhlman, Dave. "A Python Book: Beginning Python, Advanced Python, and Python Exercises". Section 1.1. Archived from the original (PDF) on 23 June 2012.
- ^The National Academies of Sciences, Engineering, and Medicine (2019). Grumbling, Emily; Horowitz, Mark (eds.).Quantum Computing: Progress and Prospects (2018).Washington, D.C.: National Academies Press. p. I-5.doi:10.17226/25196.ISBN978-0-309-47969-1.OCLC1081001288.S2CID125635007.
- ^R language and environment
- Hornik, Kurt (2017-10-04)."R FAQ".The Comprehensive R Archive Network.2.1 What is R?.Retrieved2018-08-06.
- Hornik, Kurt (2017-10-04)."R FAQ".The Comprehensive R Archive Network.2.13 What is the R Foundation?.Retrieved2018-08-06.
- R Core Team (2016). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URLhttp:// R-project.org/.
- ^widely used
- Fox, John & Andersen, Robert (January 2005)."Using the R Statistical Computing Environment to Teach Social Statistics Courses"(PDF).Department of Sociology, McMaster University.Retrieved2018-08-06.
- Vance, Ashlee(2009-01-06)."Data Analysts Captivated by R's Power".New York Times.Retrieved2018-08-06.
R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca...
- ^Vance, Ashlee (2009-01-06)."Data Analysts Captivated by R's Power".New York Times.Retrieved2018-08-06.
R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca...
- ^"Computer Science Dictionary Definitions".Computing Students.RetrievedJan 22,2018.
- ^Radványi, Tibor (2014).Database Management Systems.Eszterházy Károly College. p. 19.Retrieved23 September2018.
- ^Kahate, Atul (2006).Introduction to Database Management Systems.Pearson. p. 3.ISBN978-81-317-0078-5.Retrieved23 September2018.
- ^Connolly, Thomas (2004).Database Solutions: A Step by Step Guide to Building Databases(2nd ed.). Pearson. p.7.ISBN978-0-321-17350-8.
- ^Pezzè, Mauro; Young, Michal (2008).Software testing and analysis: process, principles, and techniques.Wiley.
Testing activities that focus on regression problems are called (non) regression testing. Usually "non" is omitted
- ^Basu, Anirban (2015).Software Quality Assurance, Testing and Metrics.PHI Learning.ISBN978-81-203-5068-7.
- ^National Research CouncilCommittee on Aging Avionics in Military Aircraft:Aging Avionics in Military Aircraft.The National Academies Press, 2001, page 2: ″Each technology-refresh cycle requires regression testing.″
- ^Boulanger, Jean-Louis (2015).CENELEC 50128 and IEC 62279 Standards.Wiley.ISBN978-1119122487.
- ^Codd, E. F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
- ^Ambler, Scott (21 March 2023)."Relational Databases 101: Looking at the Whole Picture".
- ^Institute of Electrical and Electronics Engineers (1990) IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. New York, NYISBN1-55937-079-3
- ^Kotonya, Gerald; Sommerville, Ian (1998).Requirements Engineering: Processes and Techniques.Chichester, UK: John Wiley and Sons.ISBN9780471972082.
- ^Ueberhuber, Christoph W. (1997),Numerical Computation 1: Methods, Software, and Analysis,Springer, pp. 139–146,ISBN978-3-54062058-7
- ^Forrester, Dick (2018).Math/Comp241 Numerical Methods (lecture notes).Dickinson College.
- ^Aksoy, Pelin; DeNardis, Laura (2007),Information Technology in Theory,Cengage Learning, p. 134,ISBN978-1-42390140-2
- ^Ralston, Anthony; Rabinowitz, Philip (2012),A First Course in Numerical Analysis,Dover Books on Mathematics (2nd ed.), Courier Dover Publications, pp. 2–4,ISBN978-0-48614029-2
- ^Butt, Rizwan (2009),Introduction to Numerical Analysis Using MATLAB,Jones & Bartlett Learning, pp. 11–18,ISBN978-0-76377376-2
- ^"Overview Of Key Routing Protocol Concepts: Architectures, Protocol Types, Algorithms and Metrics".Tcpipguide.Archivedfrom the original on 20 December 2010.Retrieved15 January2011.
- ^Philip A. Bernstein,Vassos Hadzilacos, Nathan Goodman (1987):Concurrency Control and Recovery in Database Systems(free PDF download), Addison Wesley Publishing Company,ISBN0-201-10715-5
- ^Gerhard Weikum,Gottfried Vossen (2001):Transactional Information Systems,Elsevier,ISBN1-55860-508-8
- ^Maurice Herlihyand J. Eliot B. Moss.Transactional memory: architectural support for lock-free data structures.Proceedings of the 20th annual international symposium on Computer architecture (ISCA '93). Volume 21, Issue 2, May 1993.
- ^Marshall Cline."C++ FAQ:" What's this "serialization" thing all about? "".Archived fromthe originalon 2015-04-05.
It lets you take an object or group of objects, put them on a disk or send them through a wire or wireless transport mechanism, then later, perhaps on another computer, reverse the process, resurrecting the original object(s). The basic mechanisms are to flatten object(s) into a one-dimensional stream of bits, and to turn that stream of bits back into the original object(s).
- ^Kearney, K.T.; Torelli, F. (2011). "The SLA Model". In Wieder, P.; Butler, J.M.; Theilmann, W.; Yahyapour, R. (eds.).Service Level Agreements for Cloud Computing.Springer Science+Business Media, LLC. pp. 43–68.ISBN9781461416142.
- ^Nwana, H. S. (1996). "Software Agents: An Overview".Knowledge Engineering Review.21(3): 205–244.CiteSeerX10.1.1.50.660.doi:10.1017/s026988890000789x.S2CID7839197.
- ^Schermer, B. W. (2007).Software agents, surveillance, and the right to privacy: A legislative framework for agent-enabled surveillance(paperback).Vol. 21.Leiden University Press.pp. 140, 205–244.hdl:1887/11951.ISBN978-0-596-00712-6.Retrieved2012-10-30.
- ^SWEBOKPierre Bourque; Robert Dupuis; Alain Abran; James W. Moore, eds. (2004). "Chapter 4: Software Construction".Guide to the Software Engineering Body of Knowledge.IEEE Computer Society.pp. 4–1–4–5.ISBN0-7695-2330-7.Archived fromthe originalon 2014-07-14.Retrieved2020-06-21.
- ^Roger S. PressmanSoftware engineering: a practitioner's approach (eighth edition)
- ^Ralph, P. and Wand, Y. (2009). A proposal for a formal definition of the design concept. In Lyytinen, K., Loucopoulos, P.,Mylopoulos, J.,and Robinson, W., editors, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109doi:10.1007/978-3-540-92966-6_6.
- ^Freeman, Peter; David Hart (2004). "A Science of design for software-intensive systems".Communications of the ACM.47(8): 19–21 [20].doi:10.1145/1012037.1012054.S2CID14331332.
- ^"Application Development (AppDev) Defined and Explained".Bestpricecomputers.co.uk. 2007-08-13.Retrieved2012-08-05.
- ^DRM Associates (2002)."New Product Development Glossary".Retrieved2006-10-29.
- ^Abran et al. 2004,pp. 1–1
- ^ACM (2007)."Computing Degrees & Careers".ACM. Archived fromthe originalon 2011-06-17.Retrieved2010-11-23.
- ^Laplante, Phillip (2007).What Every Engineer Should Know about Software Engineering.Boca Raton: CRC.ISBN978-0-8493-7228-5.Retrieved2011-01-21.
- ^"The Joint Task Force for Computing Curricula 2005"(PDF).2014-10-21.Archived(PDF)from the original on 2014-10-21.Retrieved2020-04-16.
- ^"ISO/IEC 14764:2006 Software Engineering — Software Life Cycle Processes — Maintenance".Iso.org. 2011-12-17.Retrieved2013-12-02.
- ^Kaner, Cem(November 17, 2006).Exploratory Testing(PDF).Quality Assurance Institute Worldwide Annual Software Testing Conference. Orlando, FL.RetrievedNovember 22,2014.
- ^"Programming in C: A Tutorial" (PDF). Archived from the original(PDF) on 23 February 2015.
- ^By contrast, a simple QUEUE operates FIFO (first in, first out).
- ^Cormen, Thomas H.;Leiserson, Charles E.;Rivest, Ronald L.;Stein, Clifford(2009) [1990].Introduction to Algorithms(3rd ed.). MIT Press and McGraw-Hill. pp. 232–233.ISBN0-262-03384-4.
- ^"What is stateless? - Definition from WhatIs".techtarget.
- ^"statement".webopedia. September 1996.Retrieved2015-03-03.
- ^"NOSQL Databases".Archived fromthe originalon 2018-12-26.
NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalab
- ^Leavitt, Neal (2010). "Will NoSQL Databases Live Up to Their Promise?" (PDF). IEEE Computer. 43 (2): 12–14. doi:10.1109/MC.2010.58. S2CID 26876882.
- ^Mohan, C. (2013).History Repeats Itself: Sensible and NonsenSQL Aspects of the NoSQL Hoopla(PDF).Proc. 16th Int'l Conf. on Extending Database Technology.
- ^"Amazon Goes Back to the Future With 'NoSQL' Database".WIRED. 2012-01-19.Retrieved2017-03-06.
- ^"RDBMS dominate the database market, but NoSQL systems are catching up".DB-Engines. 21 Nov 2013.Retrieved24 Nov2013.
- ^"NoSQL (Not Only SQL)".
NoSQL database, also called Not Only SQL
- ^Fowler, Martin."NosqlDefinition".
many advocates of NoSQL say that it does not mean a "no" to SQL, rather it means Not Only SQL
- ^"ACM Association in computer algebra".
- ^Issue of syntax or semantics?
- ^John Paul Mueller,Semantic Errors in Java
- ^What is "technical documentation"?at Transcom.de. Accessed February 25, 2013.
- ^What is Technical Documentation?Archived2013-04-18 atarchive.todayat Tetras Translations. Accessed February 25, 2013.
- ^Documenting the New Systemat IGCSE ICT. Accessed February 25, 2013.
- ^"Computer Hope, Generation languages"
- ^"Upload Definition".techterms.Retrieved2017-03-30.
- ^W3C (2009).
- ^"Forward and Backslashes in URLs".zzz.buzz.Retrieved2018-09-19.
- ^RFC 3986 (2005).
- ^abJoint W3C/IETF URI Planning Interest Group (2002).
- ^RFC 2396 (1998).
- ^Miessler, Daniel (17 April 2024)."The Difference Between URLs and URIs".
- ^Jargon Fileentry for"User".RetrievedNovember 7,2010.
- ^"W3C Definition of User Agent".w3.org. 16 June 2011.Retrieved2018-10-20.
- ^Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986),Compilers: Principles, Techniques, and Tools,pp. 26–28,Bibcode:1986cptt.book.....A
- ^Knuth, Donald (1997).The Art of Computer Programming.Vol. 1 (3rd ed.). Reading, Massachusetts: Addison-Wesley. pp. 3–4.ISBN0-201-89683-4.
- ^Kevin ForsbergandHarold Mooz,"The Relationship of System Engineering to the Project Cycle", in Proceedings of the First Annual Symposium of National Council on System Engineering, October 1991: 57–65.
- ^Beal, Vangie (2 May 2001)."What is Wi-Fi (IEEE 802.11x)? A Webopedia Definition".Webopedia.Archivedfrom the original on 2012-03-08.
- ^Schofield, Jack (21 May 2007)."The dangers of Wi-Fi radiation (updated)".The Guardian– via theguardian.
- ^"Certification | Wi-Fi Alliance".wi-fi.org.
Works cited
[edit]- Abran, Alain; Moore, James W.; Bourque, Pierre; Dupuis, Robert; Tripp, Leonard L. (2004).Guide to the Software Engineering Body of Knowledge.IEEE.ISBN978-0-7695-2330-9.
- Anton, Howard (1987),Elementary Linear Algebra(5th ed.), New York: Wiley,ISBN0-471-84819-0
- Beauregard, Raymond A.; Fraleigh, John B. (1973),A First Course In Linear Algebra: with Optional Introduction to Groups, Rings, and Fields,Boston:Houghton Mifflin Co.,ISBN0-395-14017-X
- Berners-Lee, Tim;Fielding, Roy T.;Masinter, Larry(August 1998).Uniform Resource Identifiers (URI): Generic Syntax.doi:10.17487/RFC2396.RFC2396.Retrieved31 August2015.
- Berners-Lee, Tim;Fielding, Roy T.;Masinter, Larry(January 2005).Uniform Resource Identifiers (URI): Generic Syntax.doi:10.17487/RFC3986.RFC3986.Retrieved31 August2015.
- Bruce, Kim B. (2002).Foundations of Object-oriented Languages: Types and Semantics.MIT Press.ISBN978-0-262-02523-2.
- Butterfield, Andrew; Ngondi, Gerard E. (2016).A dictionary of computer science(7th ed.). Oxford, UK:Oxford University Press.ISBN978-0-19-968897-5.
- Connolly, Daniel "Dan";Sperberg-McQueen, C. Michael,eds. (21 May 2009)."Web addresses in HTML 5".World Wide Web Consortium.Archivedfrom the original on 2015-07-10.Retrieved13 September2015.
- Gamma; Helm; Johnson; Vlissides (1995).Design Patterns: Elements of Reusable Object-Oriented Software.Addison Wesley.ISBN9780201633610.
- Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad; Buckley, Alex (2014).The Java® Language Specification(Java SE 8 ed.).
- Knuth, Donald(1998).Sorting and searching.The Art of Computer Programming.Vol. 3 (2nd ed.). Reading, MA: Addison-Wesley Professional.ISBN978-0-201-89685-5.
- Legg, Shane; Hutter, Marcus (15 June 2007). "A Collection of Definitions of Intelligence".arXiv:0706.3639[cs.AI].
- Mealling, Michael;Denenberg, Ray, eds. (August 2002).Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations.doi:10.17487/RFC3305.RFC3305.Retrieved13 September2015.
- Mitchell, Melanie (1996).An Introduction to Genetic Algorithms.Cambridge, MA: MIT Press.ISBN9780585030944.
- Nilsson, Nils(1998).Artificial Intelligence: A New Synthesis.Morgan Kaufmann.ISBN978-1-55860-467-4.Archivedfrom the original on 26 July 2020.Retrieved18 November2019.
- Poole, David;Mackworth, Alan;Goebel, Randy(1998).Computational Intelligence: A Logical Approach.New York: Oxford University Press.ISBN978-0-19-510270-3.Archivedfrom the original on 26 July 2020.Retrieved22 August2020.
- Russell, Stuart J.;Norvig, Peter(2003),Artificial Intelligence: A Modern Approach(2nd ed.), Upper Saddle River, New Jersey: Prentice Hall,ISBN0-13-790395-2
- Russell, Stuart J.;Norvig, Peter(2009).Artificial Intelligence: A Modern Approach(3rd ed.). Upper Saddle River, New Jersey: Prentice Hall.ISBN978-0-13-604259-4..
Notes
[edit]- ^The function may be stored as areferenceto a function, such as afunction pointer.
- ^In this article, the term "subroutine" refers to any subroutine-like construct, which have different names and slightly different meanings depending on theprogramming languagebeing discussed.
- ^A URL implies the means to access an indicated resource and is denoted by a protocol or an access mechanism, which is not true of every URI.[235][234]Thus
http:// example
is a URL, whileexample
is not.[236]