Computer science

computer science designates the science of the systematic processing of information, in particular the automatic processing by computers. Historically computer science developed as science from mathematics, while the development of the first computers its origins inelectro-technology and communications technology has. Computer represents only the tool of computer science nevertheless to convert around the theoretical concepts practically. From the Netherlands computer scientist Edsger Dijkstra comes the sentence „in computer science goes it just as little around computers as inthe astronomy around telescopes. “

Table of contents

definition of computer science

concept formation

the term computer science is compound from thatWords information and mathematics. Other sources indicate information and mechanism . The word became in Germany for the first time 1957 of Karl stone book, at that time coworker the standard electrical connection group, in a publication over a data-processing system for the distributing house sourceused. As name for the science it became in the German linguistic area of determining representatives following an international colloquium in Dresden to 26. February 1968 after French and Russian model accepted. Few years after became the first faculties forComputer science based, after already since 1962 to the Purdue University a department OF computer Science existed. The term computer science coined/shaped in Europe covers among other things the fields, which are designated in English with computers science and information of system.

meaning of computer science

computer science within practically all ranges of the modern life introduction held. Obviously this is strengthened by the enormous influence of the Internets. World-wide cross-linking revolutionized enterprise communication and logistics, the media in addition,practically all private households. Less obviously, but computer science is pervasive in household appliances such as video recorders or dishwashers, in which so-called Embedded of system transfers the more or less intelligent control.

Computers can administer large data sets within a short time, secure, exchange andprocess. In order to make this possible, the interaction of complex hardware is necessary - and software systems, which represent also the substantial Forschungsgebiet of computer science. As example the Wikipedia may serve, in the 50,000 users and millions of visitors daily thousands articlessearch, read and work on.

The strengths of computer systems lie to be able to implement schematic computations on large data sets with high speed and accuracy. In contrast to it many apparently everyday intelligence achievements of humans are based however on cognitive achievements, until todayreduced by computers only strongly to be furnished can. As example here recognizing of faces is or cases of decisions with uncertain knowledge base mentioned. Such processes are examined by artificial intelligence. In individual partial disciplines thereby already considerable could Results to be obtained. Of a comprehensive imitation of human intelligence cannot be spoken thereby however yet.

As formal basic knowledge shank computer science, similarly as mathematics , has fundamental meaning for many other science ranges. One seizes mathematics as science of the„“up, then computer science concentrates formally conceivable on „the formally realizable “, thus which is accessible to the machine processing. Their questions, to the predictability etc., are enough into philosophy inside.

disciplines of computer science

thosePartial disciplines into computer science

computer science is divided into the substantial subsections of theoretical computer science, practical computer science and technical computer science. Beside these main columns there are still the ranges artificial intelligence as well as computer science and society,as interdisciplinary disciplines the z. T. are independent.

Applications of computer science within the different ranges of the daily life as well as in other fields of activity, as for example the economical informatics, geo computer science, medicine computer science, are led under the term of applied computer science.

Essentially can theoretical computer science as basis for the further subsections to be regarded. It supplies fundamental realizations for the Entscheidbarkeit of problems, for the classification of its complexity and for formalizing of automats and languages.

On this basis those buildPractical computer science and technical computer science up. They concern themselves with central problems of the data processing and offer pragmatically applicable solutions. Here these two subsections are closely into one another interlocked and differ only by the measure of the proximity to microelectronics.From view of computer science electronics is however more an aid and a not part of nuclear research in computer science. In practical computer science one tries to a large extent to compile independent solutions from electronics.

The results find finally use in thatApplied computer science. Hardware and software realizations are to be added to this range and thus a majority of the commercial IT-market. In the interdisciplinary subjects one examines beyond that, how the information technology can solve problems in other Wissenschaftsgebieten. As example likes here the development ofGeo data bases for the Geografie serve, in addition, the economic or bio computer science.

theoretical computer science

1-Band-Turingmaschine
1-Band-Turingmaschine

theoretical computer science concerns itself with the theory of formal languages and/or. Automata theory, predictability and complexity theory, graph theory, cryptology, logic (and. A. ) , And bases for the building of compilers of programming languages and mathematical formalizing of problem definitions offers propositional calculus and predicate calculus to formal semantics. It is thus the formal backbone of computer science.

automata theory and formal one languages

Ein deterministischer endlicher Automat, gegeben als Zustandsübergangsdiagramm
indeterministic finite automat, as condition transition diagram automat

meant machines are given “in computer science „, which itself according to certain rules, which hold back program. A finite automat has a finite quantity of internal conditions. It reads in „an input word “character by character and leadseach indication, in accordance with its program a condition transition through. Additionally it can spend „an expenditure symbol with each condition transition “. A finite automat has a quantity of conditions, among them a particularly marked starting condition and a quantity of characterized (accepting) final conditions. Reaches the automatafter a consequence of condition transitions, then this that the read word is present in the language, means a final state the automat accepts it thus. One calls the quantity of all words accepted by an automat the accepted language.

Kellerautomat
Pushdown machine

overmore complicated languages to accept to be able, are necessary other automat models, which must have a memory in particular. The quantity of all words, which exist followed from a consequence of letter A from a number equal in size of letter b, briefly <math> a^nb^n< /math>, can througha pushdown machine to be accepted, which has a push-pop stack available and thus note can, how often the letter A was read and how often the letter b must follow therefore.

The linguist Noam Chomsky arranged the formal languages into a hierarchy , which differentiates between regular , context-free and kontextsensitiven languages. First are recognized with finite automats, zweitere by pushdown machines and the latter by linear limited Turing machines.

predictability theory

in the context of the predictability theory examines the theoreticalComputer science, which problems with which machines are solvable. The churchsche thesis assumes all intuitively calculable questions can be computed also with register and Turing machines and it thus no machine give, which is computation-stronger. This thesis is formalnot provably, however generally one accepts. A computer model and/or. a programming language means turing completely, if one can simulate thereby a universal Turing machine. All computers and everything used today „correct “programming languages are turing complete, i.e. one knows thereby all decidable problemssolve. One can illustrate the term of the Entscheidbarkeit as the question whether a certain problem is algorithmically solvable at all. Like that finding of a largest common divisor of two whole numbers is decidable. A non-decidable problem is for example the question whethera given computer program with given input parameters ever to a result comes, which is called retaining problem. With the predictability one examines, which machine model can be used for the computation of a function. So the field man function cannot for example by the classthe loop programs, but by the more powerful class of the WHILE programs to be computed.

complexity theory

the complexity theory is concerned with the resources need of algorithmically treatable problems on different mathematically defined formal computer models, as well as the quality that it solving algorithms.In particular resources are examined „running time “and „storage location “and their need is usually represented in the land outer notation. Primarily the running time and memory requirements in dependence of the length of the input are noted. Algorithms, itself at the most by a constantFactor in their running time and/or. their storage requirement differentiate, by the land outer notation of the same class are assigned.

An algorithm, whose running time is independent of the input length, works „in constant time “, one writes O (1). For example the program becomes „gives firstElement of a list back “in constant time work. The program „examines whether a certain element is contained of O (n) in an unsorted list “needs „linear time “, thus, because the input list must at worst exactly once completely be read.

The complexity theory supplies so faronly upper barriers for the resources need of problems. Methods for accurate lower barriers are developed and only from few problems are hardly useful lower barriers admit (so for example for the task a list of values according to an order toosort). There are methods particularly difficult problems nevertheless to classify. Central is here the theory of the completeness of NP. Many statements of the complexity theory assume the class P is genuinly contained in NP (/math notes NP<)> by P< math> \ neq. P and NPthereby particularly defined classes of problems are. The question whether P< math> \ neq< /math> NP as one of the most important open mathematical questions regarded and is into the list of the Millennium problems been received.

practical computer science

practical computer science is occupied with thatSolution of concrete problems of the computer science and in particular the development of computer programs in the software technology. It supplies the fundamental concepts for the solution of tasks of standard, like storage and administration of the information by means of data structures. Thereby those have an important value Algorithms, which make sample solutions available for frequent or difficult tasks. Examples of it are the sort algorithms or also the fast fourier transformation.

One of the central topics of computer science is the software technology, which likewise falls into the range of practical computer science.It concerns itself with the systematic production of software. The results of all other ranges, like algorithms and programming languages, are used. In addition, additionally concepts and proposals for solution for large software projects are developed, the one repeatable process from the idea toto the finished software to permit are. The actual programming work, the so-called implementation , is only a small part of the total process.

Java program code machine code
 publicly class Ggt {/* * Computation ggT two numbers  * according to the Euclidean algorithm
  *private statics int ggt (int zahl1, int zahl2) {  while (zahl1! = zahl2) {    if (zahl1  < zahl2) {      zahl2 = zahl2 - zahl1;
     } else {      zahl2 = zahl1 - zahl2;
     }  }  return zahl2;
 } /* * main program:*publicly statics void Main (stringer [] args) {   /*   * Command line arguments read in   * Call: “zahl1 <ggt> <zahl2> “   *  int first number = Integer.parseInt (args [0]);
   int second number = Integer.parseInt (args [1]);
   
   // computes ggT with the function “ggt ()”   int result = ggt (first number, second number);
   
   // expenditure of theResult:
   System.out.println (“ggT of” + first number +       “and” + second number + “is: “+ result);
 } }
Compilers →
···
0010 0100 1011 0111
1000 1110 1100 1011
0101 1001 0010 0001
0111 0010 0011 1101
0001 0000 1001 0100
1000 1001 1011 1110
0001 0011 0101 1001
0111 0010 0011 1101
0001 0000 1001 0000
1000 1001 1011 1111
1001 1101 1001 1110
0111 0010 0011 1101
0001 0000 1001 0000
0111 0010 0011 1101
0001 0011 1001 1100
···

Practical computer science makes available in particular also the tools to the software development. Thus compilers for the programming languages are developed such as Visual basic , Java or [[C++]]. Compilers are even computer programs, the one computer language into anothertranslate. They permit to work it thus a programmer in a language more easily understandable for humans. The compiler translates the program later into the machine code, that much “natural” language of the computer. In particular in this area co-operation has betweenPractical and theoretical computer science led to innovative improvements. Only by the basis of the formal languages the efficient production of modern computer languages is possible. Translators are used also in many other places in computer science. For example when translating HTML- Code into a well readable document.

Sketch of a B-tree

apart from these bases turns practical computer science to also special solutions for certain tasks. Here in particular the operating systems and increasingly the data base technology are to be called. They administer the operational funds oneComputer and guarantee the reliable storage of all information. Due to the essential meaning of these high-complex software systems, numerous algorithms for the employment were developed in operating systems and data bases. An example for this is the B-tree, that in data bases and file systems,fast searches in large volume of data permits.

technical computer science

technical computer science is concerned with the bases on the hardware side of computer science as for instance the microprocessor technology, computer architectures and distributed systems. Thus it places a link to electro-technology .

The computer architecture is the science, which investigates concepts for the building of computers. Here interaction is defined and improved by microprocessor , main memory as well as CONTROLLER and periphery. The Forschungsgebiet orients itself thereby both at the requirements of the softwareand at the possibilities, which result over the advancement of integrated circuits.

Heimrouter
Home-rout

a further important area is computer communication. This makes electronic data exchange possible between computers and represents thereby the technical basis of the Internets. Beside, also the development of the software components , which is necessary for the enterprise of these devices, belongs to the development of routing, Switches or a Firewall. In particular the definition and standardisation of network minutes , like TCP , belong HTTP or SOAP to the Rechernerkommunikation.Minutes are thereby the languages in those computers with each other „talk “.

While computer communication regulates communication on protocol layer, the science of the distributed systems represents, the union of computers generally speaking. Here processes regulate the co-operation ofindividual systems in a group (cluster). Key words in this connection are for example Grid Computing and middleware.

some interdisciplinary

research beginnings, partly to own sciences, developed computer science in interdisciplinary sciences round around computer science:

The economical informatics (English information of system, also management information of system) is one „interface discipline “between computer science and the economic science, particularly the management economics. It developed by its interfaces to its own science. An emphasis of the economical informaticsis to systems on the illustration of business processes and the bookkeeping in relational data base systems and ERP - such as SAP. The restaurant computer scientist essentially concerns itself with the production of communication and information systems, whereby he the knowledge from the interdisciplinary discipline economical informaticsneeded.

In the computer linguistics one examines, how natural speech with the computer can be processed. It is actually a subrange of artificial intelligence in addition, simultaneous interface between linguistics and computer science. Related to it is also the term of the cognitive science,the one own interdisciplinary branch of science represents, to that and. A.Linguistics, computer science, philosophy, anthropology, psychology and neurology connect. Areas of application of the computer linguistics are speech recognition and - synthesis, automatic translation into other languages and information extraction from texts.

Bio computer science (English bioinformatics, also computational biology) is concerned with the information bases and applications of storage, organization and analysis of biological data concerned. First pure applications of bio computer science became for the DNA - sequence analysis develops. It concerns primarily thatsnaps finding samples in long DNA sequences and the solution of the problem, how one puts and aligns two or more similar sequences against each other so one above the other that one obtains as optimal an agreement as possible (sequence alignment). With the clearing-up and long-range functional analysisdifferent complete Genome (z. B. the Fadenwurms Caenorhabditis elegans) shifts the emphasis of bioinformation work on questions of the Proteomik, like z. B. the problem of the protein folding and structure forecast, thus the question about the secondary or Tertiary period structure with more givenAmino acid sequence.

Chemocomputer science (English. chemoinformatics, cheminformatics or chemiinformatics), that designates a branch of science the area of chemistry with methods of computer science connects and in reverse. It concerns itself with the search in the chemical area of which from virtual (in silico) exists or material molecules. The size of the chemical area becomes on approximately <math> 10^ {62}< /math> Molecules estimated and is far more largely than the quantity so far of the material synthesized molecules. Perhaps thus leave themselves million from molecules with the help of such Computer - methods in silico test, without having to produce these explicitly by means of methods of combinatorial chemistry or synthesis in the laboratory.

Geo computer science (English geoinformatics) is the theory natures and the function of the geo information and its supply in formof geo data and with applications based on it apart. It forms the scientific basis for geo information systems (GIS). The space reference is common to all applications of geo computer science.

Medium computer science has the interface between humans and machine as emphasis and is also concernedthe connection of computer science, psychology, ergonomics, media technics, medium organization and didactics.

There than environmental computer science, Computervisualistik, are further interfaces of computer science to other disciplines in medical computer science and the juridical informatics. Co-operation with thatMathematics or electro-technology is not called due to the relationship interdisciplinary.

artificial intelligence

Eine Kohonenkarte beim Lernen
a Kohonenkarte when learning

artificial intelligence (AI) is a large subsection of computer science with strong influences from logic, linguistics, neuro physiology and cognitive psychology. The AI differs in methodology partially substantially from classical computer science. Instead of giving a complete description of solution, in artificial intelligence the solution identification is left to the computer. Their procedures apply in expert systems, in the sensor technology and robotics.

In the understanding of the term „“often the conception of humans, originating from the clearing-up, is reflected artificial intelligence as machine again, whose imitation sits down the so-called „strong AI “to the goal: an intelligence toocreate, which like humans can think and solve problems and which by a form of consciousness and/or self-confident its as well as emotions is characterised.

The conversion of this beginning essentially took place via expert systems, those the collection, administration and application of oneMultiplicity from rules to a certain article (therefore it „experts “) carry out.

Contrary to the strong AI it concerns „to the weak AI “to master concrete application problems. In particular thereby such applications of interest, to their solution are after general understanding a formby „intelligence “seems necessary. In the long run it concerns to the weak AI thus the simulation of intelligent behavior with means of mathematics and computer science; it does not concern to it creation of consciousness or a deeper understanding of intelligence. An examplefor weak AI is the Fuzzy logic.

Neural nets count likewise into this category - since beginning of the 80's one analyzes the information architecture (human, animal) of the brain under this term. The modelling in form of artificial neural nets illustrates, howfrom a very simple essential structure a complex pattern processing (pattern recognition) to be carried out can. At the same time it becomes clear that this kind of learning is not based to linguistically formulatable rules - thus about also the special abilities on the derivation of logical,the human brain within the animal realm on a rule (and speaking) were not based „intelligence “- term are reducible. The effects of these insights on the AI research, in addition, on learning theory, didactics and other areas are still discussed.

While the strong AI at their philosophicalQuestion until today failed, only on the side of the weak AI in the last years of progress was obtained.

origin of the science

of computer science are appropriate for history

of computer science [work on] in mathematics, physics and electro-technology (here above all the communications technology). When engineering science conceives computer science mathematical machines, with which data transfer, to be stored and by algorithms automatically processed can. Thus computer science makes in particular the machine simulation possiblematerial processes. As „subsidiary science of other fields of activity “computer science illustrates their articles into abstract structures and their process in algorithms.

As over term around the data processing as well as the appropriate occupations the information technology ( IT) was established approximately.

Forerunners of the computer

a Japanese Soroban abacus

as first forerunners of computer science beyond mathematics, thus as forerunners of applied computer science, can be regarded the efforts to develop two kinds from machines to: Such computations mathematical with their assistance implemented orto be simplified („calculating machine), and such can, with which logical conclusions can be examined be pulled and arguments („logical machine “). As simple Rechengeräte abacuses carry and later the slide rule inestimable services out. Blaise Pascal a mechanical calculating machine designs 1641,the additions inclusive transfers to accomplish knows. Gottfried William Leibniz only little later presents a calculating machine, which controls all four basic operations of arithmetic. These machines are based on interlinking gear wheels. A step toward larger flexibility goes starting from 1838 Charles Babbage, thata controlling of the arithmetic operations by means of punch cards aims at. Only Herman Hollerith is due to the technical progress starting from 1886 able to convert this idea profitably. Its Zählmaschinen which are based on punch cards come among other things during the evaluation of a census in the USAto the employment.

The history of the logical machine becomes often to in 13. Century retraces and attributed to Raimundus Lullus. Even if its computingdisk-similar constructions, with which several against each other swivelling disks could represent different term combinations, were mechanically not yet very complex,it was probably that, which admits the idea of a logical machine made. Apart from this very early forerunner the history of logical machines runs rather even deferred too those of the calculating machines: On 1777 dates slide rule-similar equipment third EarlStanhope, to which is attributed to examine the validity of syllogisms (in the aristotelischen sense). A correct „machine “is for the first time in the shape „of the logical Pianos “from Jevons for late 19. Century delivers. The mechanics become only little later by electromechanicaland electrical circuits replaced. The logical machines in the 1940er and 1950er-Jahren experience their high point, for example with the machines of the English manufacturer Ferranti. With the development universal digital computer takes - contrary to the calculating machines - thoseHistory more independently logical machines a sudden end, by of them the worked on and solved tasks increasingly in software on exactly those computers are realized, among whose forerunners in terms of hardware it to be ranked are.

development of the computer

Major item: Computer history

one of the first larger calculating machines is, the still purely mechanically working Z1 of 1937, provided by Konrad Zuse. Later Zuse its idea realizes four years by means of electrical relays: The Z3 of 1941 has alreadya separation from command and data memories and an in/an expenditure desk. In England the efforts are advanced somewhat later to the building from calculating machines to cracking German secret messages under the relevant direction of Alan Turing with large success. Parallel Howard Aiken codeveloped MARK (1944) the first computer of the USA, where the further development was considerably advanced. One of the main participants is here John von Neumann, after whom is designated to today important of Neumann architecture. 1946 the development of the tube computer ENIAC takes place, 1949 are built the EDSAC. Starting from 1952 IBM enters into the development of computers and ascends within ten years to the market leader. With the development of the transistor technology and the microprocessor technology computers of this time to ever become more efficientand lower-priced. In the year 1982 the company Commodore finally conquers the mass-market with the C64.

development of computer science as science

Leibniz had been already occupied with binary number notations. Together with boolean algebra, those first 1847 by George Boole one prepared, form it the most important mathematical bases of later computing systems. 1936 publish Alan Turing its epoch-making work on Computable Numbers on with application ton the decision problem, in which the Turing machine designated after it is presented,mathematical machine model, which is until today for theoretical computer science from greatest importance. Some years before briefly Gödel the decision problem in accordance with the Hilbertprogramm negatively had already answered, and this result confirmed Turing now using a machine model. The term thatAre appropriate for predictability to today universal models like the Turing or register machine to reason, and also the complexity theory, which began to develop at the 1960er years, falls back into the present to variants of these models.

1956 Noam Chomsky

a hierarchy of formal grammars describes formal languages and programming languages, with which formal languages and special in each case machine models correspond. These formalizing attain great importance for the development of higher programming languages. Important milestones are the development of FORTRAN (1954), Lisp (1959), ALGOL (1960; 1968), BASIC (1960), C (1970), Pascal (1971), Smalltalk (1980) and Java (1995). Some these languages stand for typical programming paradigmstheir respective time. Languages and paradigm changes were accompanied intensive in each case or advanced by the computer science research.

Meanwhile almost any important subrange of computer science writes its own history, which would blow up in detail to pursue the framework of this section. As in othersSciences also, computer science with increasing proximity progresses to the present toward a ever larger specialization.

computer science and society

with the increasing spreading of the computer develop also social problems, those in the public often controversially andto be very emotional discussed. 2006 are year of computer science.

data security

one of these topics is the protection of the Privatsphäre of the computer user. It possible fast arbitrary information is not only to be queried by cross-linking. Also that is turned aroundSpy made possible by personal information by authorities, enterprises and criminal ones. A goal are on the one hand behaviors of customers with on-line purchases, in addition, personal E-Mail traffic or entrance data to banks.

Here mutual rigging took place, personal data over codings against unauthorized ones Access to secure, during on the other side by means of Cookies, Spyware or Phishing is tried to out-lever the protective mechanisms.

Enterprises search purposefully after typical behaviors of customers over Datamining. In such a way won information becomes then on the individual profileindividual customers applied. This serves either for more or less offers customers suitable suitable by „custom-made advertisement “(Spam), in addition, for selecting less and. At the time of the conclusion of an insurance enterprises try meanwhile aimed customers with small risk throughimproves conditions to actually bind. Customers from groups of risks received raised the price of conditions or are even excluded.

Prosecution authorities have a special interest in the access to personal data with the fight against terrorism and organized criminality. Thus the Federal employs office OFInvestigation (FBI) and national the Security Agency (NSA) specialist for systematic evaluating of the data traffic in the Internet. Here a special software (Carnivore) is used, in order to scan enamels for certain references. By the employment „of strong cryptography in such a way specified “,how it makes the Tool available PGP private people, however the value of this software is in question posed. So coded enamels are not to be decoded also by the experts of the NSA no more. For this reason there are efforts in allTo forbid countries such coding procedures. A prohibition would be likewise not effective however, since one skillfully coded message by means of Steganographie not when such is to be recognized. That is, that such a prohibition cannot prevent the employment of strong cryptography by criminal ones.Concerned from such a prohibition would thus only be the honest citizens, who want to protect themselves from criminal spying.

software patents

a software patent is a patent on a method for the programming of a computer. A generally accepted exact definitionthe term so far yet was not established. Proponents of software patents are usually large enterprises, which want to protect their products from imitation. They argue, the sense of software patents is (as also with „normal “patents), development costs of the productsto bring in in a short „monopoly phase “again. Opponents state, software patents are - differently than technical inventions - similar as mathematical realizations as knowledge to be arranged and therefore not in principle contactorable. In addition the product cycles are much shorter in the computer range than in othersIndustries, therefore mean a software patent unfairly lengthy downtimes of the competition.

there

are movements since beginning of the computer era to organizations and combinations, which use themselves for data security, uninformativeness and free software. Of it the GNU is most well-known - projectand the Free software Foundation, which was brought by smelling pool of broadcasting corporations Stallman into being. Stallman developed licenses for free software and free documentation, under whatever many projects are developed like the Wikipedia. In Germany above all that enjoys chaosComputer club high admittingness.

criticism at the relationship of humans and computer

it gives critics, under it also to computer scientists such as Joseph wheat tree, which reminds to more careful handling modern technology and the computer. Wheat tree wrote into that 1960ern the computer program ELIZA, with which it wanted to demonstrate the processing of natural speech by a computer; Eliza was celebrated as milestone „of artificial intelligence “and should replace human psychologists soon. Wheat tree was frightened over the effect of its relatively simpleProgram, which had been conceived never for replacing a therapist, and became by this key experience the computer and medium critic.

The far use of computers leads in more recent time to a broad public like scientific discussion across the effects on those Sozialisation and the learning behavior, in particular of children and young people. It prevails large consent that there are effects, however is investigations methodically with difficulty or comes to contradictory results.

see also

literature

Web on the left of

Wiktionary: Computer science - word origin, synonyms and translations
Wikiquote: Computer science - quotations

landspreading

Germany:

Austria:

Switzerland:

 

  > German to English > de.wikipedia.org (Machine translated into English)