Informatik und Datei:218px-Five elements and pentagram 2.svg.png: Unterschied zwischen den Seiten

Aus AnthroWiki
(Unterschied zwischen Seiten)
imported>Joachim Stiller
 
(== Beschreibung == Importing file)
Markierung: Serverseitig hochgeladene Datei
 
Zeile 1: Zeile 1:
{| style="border:1px solid #CCCCCC; width:320px; float:right; margin-left:1em; font-size:88%;"
== Beschreibung ==
|-
Importing file
| [[Datei:Lambda lc.svg|x110px|zentriert|alt=Großbuchstabe Lambda|Programmiersprache]]
| [[Datei:Sorting quicksort anim frame.svg|x110px|zentriert|alt=Plot einer Ausführung des Quicksort-Algorithmus|Komplexitätstheorie]]
|-
| [[Datei:Utah teapot simple 2.png|x110px|zentriert|alt=Utah Teekanne|Computergrafik]]
| [[Datei:3-Tastenmaus Microsoft.jpg|x110px|zentriert|alt=Tastenmaus|Mensch-Computer-Interaktion]]
|-
|colspan="2"|Informatik ist die „Wissenschaft der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern“
|}
'''Informatik''' ist die „Wissenschaft von der systematischen Darstellung, Speicherung, Verarbeitung und Übertragung von [[Information]]en, besonders der automatischen Verarbeitung mithilfe von [[Computer|Digitalrechnern]]“.<ref name="DudenInf">''Duden Informatik A – Z: Fachlexikon für Studium, Ausbildung und Beruf, 4. Aufl., Mannheim 2006.'' ISBN 978-3-411-05234-9.</ref> Historisch hat sich die Informatik einerseits aus der [[Mathematik]] entwickelt, andererseits als [[Ingenieurwissenschaften|Ingenieursdisziplin]] aus dem praktischen Bedarf nach der schnellen und insbesondere automatischen Ausführung von [[Kalkulation|Berechnungen]].
 
== Entwicklung der Informatik ==
=== Ursprung ===
Bereits [[Gottfried Wilhelm Leibniz|Leibniz]] hatte sich mit [[Dualsystem|binären Zahlendarstellungen]] beschäftigt. Gemeinsam mit der [[Boolesche Algebra|Booleschen Algebra]], die zuerst 1847 von [[George Boole]] ausgearbeitet wurde, bilden sie die wichtigsten mathematischen Grundlagen späterer Rechensysteme. 1937 veröffentlicht [[Alan Turing]] seine Arbeit ''On Computable Numbers with an application to the Entscheidungsproblem'', in welcher die nach ihm benannte [[Turingmaschine]] vorgestellt wird, ein mathematisches Maschinenmodell, das bis heute für die [[Theoretische Informatik]] von größter Bedeutung ist. Dem Begriff der [[Berechenbarkeit]] liegen bis heute universelle Modelle, wie die Turingmaschine und die [[Komplexitätstheorie]] zu Grunde, die sich ab den 1960er Jahren zu entwickeln begann. Die Berechenbarkeit greift bis in die Gegenwart auf Varianten dieser Modelle zurück.
 
=== Etymologie ===
Das Wort ''Informatik'' ist die Verschmelzung von ''Information'' und ''Automatik''.<ref>Schulbuch: Informatik – Vom Problem zum Programm – 1978, Helmut Balzert</ref> Geprägt wurde die Bezeichnung ''Informatik'' von [[Karl Steinbuch]] und kann auf seine erste Publikation ''Informatik: Automatische Informationsverarbeitung''<ref>Karl Steinbuch (Standard Elektrik AG, Informatikwerk), INFORMATIK: Automatische Informationsverarbeitung, SEG-Nachrichten 1957, Heft 4</ref> von 1957 zurückgeführt werden.<ref>[http://www.karl-steinbuch-stipendium.de/karlsteinbuch.html Karl Steinbuch – Informatiker der ersten Stunde] (abgerufen am 27. Juli 2012)</ref>
 
Nach einem internationalen [[Kolloquium]] in Dresden am 26.&nbsp;Februar 1968 setzte sich ''Informatik'' als Bezeichnung für die Wissenschaft nach französischem und russischem Vorbild auch im deutschen Sprachraum durch.<ref> {{Webarchiv|text=Präsentation zur 40-jährigen Geschichte der GI und der Informatik |url=http://www.gi.de/fileadmin/redaktion/Download/40-jahre-gi.pdf |wayback=20121223150726 |archiv-bot=2018-04-16 00:18:06 InternetArchiveBot }} (PDF; 3,1&nbsp;MB)</ref> Während im englischen Sprachraum die Bezeichnung ''Computer Science'' üblich ist, konnte sich die deutsche Entsprechung ''Computerwissenschaften'' nicht durchsetzen. Jedoch wird der Ausdruck ''Informatics'' im Englischen für bestimmte Teile der [[Angewandte Informatik|Angewandten Informatik]] verwendet – etwa im Falle der ''[[Bioinformatik|Bioinformatics]]'' oder der ''[[Geoinformatik|Geoinformatics]]''. Bei Übersetzungen ins Englische wird im deutschen Sprachraum teilweise die Bezeichnung ''Informatics'' gegenüber ''Computer Science'' bevorzugt.<ref>{{Internetquelle |titel=Start of study as from winter semester 2012/2013 – Fakultät für Informatik der Technischen Universität München |url=http://www.in.tum.de/en/current-students/bachelors-programs/informatics/curriculum-and-courses/start-of-study-as-from-winter-semester-20122013.html |zugriff=2015-09-07 |werk=www.in.tum.de}}</ref>
 
=== Entwicklung der Informatik zur Wissenschaft ===
Bereits 1967 bot die TU München den ersten Informatik-Studiengang auf Initiative Friedrich Ludwig Bauers an, damals noch unter dem Namen ''Informationsverarbeitung''.<ref> {{Webarchiv|text=''Festschrift'' |url=http://www.in.tum.de/fileadmin/user_upload/Oeffentlichkeitsarbeit/Broschueren/Broschueren_der_Fakultaet/40J_Informatik_Festschrift.pdf |wayback=20110517130115 |archiv-bot=2018-04-16 00:18:06 InternetArchiveBot }} (PDF) S. 26 auf ''in.tum.de'', abgerufen am 5. Januar 2014.</ref> Am 1. September 1969 begann die Technische Universität Dresden als erste Hochschule der DDR mit der Ausbildung von Dipl.-Ing. für Informationsverarbeitung. Ebenfalls 1969 begann die Ingenieurschule Furtwangen (später Fachhochschule Furtwangen) mit der Ausbildung, hier noch Informatorik genannt.<ref name="HSGeschichte">[http://www.hs-furtwangen.de/willkommen/die-hochschule/zahlen-und-fakten/geschichte.html ''Geschichte der HS Furtwangen'']</ref> Im Wintersemester 1969/70 begann die Universität Karlsruhe (heute Karlsruher Institut für Technologie) als erste bundesdeutsche Hochschule mit der Ausbildung von „echten“ Diplom-Informatikern.<ref>[http://www.archiv.kit.edu/101.php ''Geschichte des Universitätsbereichs im KIT'']</ref> Im Wintersemester 1970/71 folgte die Technische Universität Wien mit der Studienrichtung Informatik und der Ausbildung zum Diplomingenieur.<ref>[http://www.tuwien.ac.at/dle/archiv/geschichte_der_tu_wien/ ''Kurze Geschichte der Technischen Universität Wien'']</ref> Wenige Jahre darauf gründeten sich die ersten Fakultäten für Informatik, nachdem bereits seit 1962 an der [[Purdue University]] ein ''Department of Computer Science'' bestanden hatte. Heute wird die Informatik weder eindeutig als ingenieurwissenschaftliche noch als mathematisch-naturwissenschaftliche [[Disziplin]] eingeordnet, sondern als eine Disziplin, die beides verbindet.
 
=== Organisationen ===
Die [[Gesellschaft für Informatik]] (GI) wurde 1969 gegründet und ist die größte Fachvertretung im deutschsprachigen Raum. International bedeutend sind vor allem die beiden großen amerikanischen Vereinigungen [[Association for Computing Machinery]] (ACM) seit 1947 und das [[Institute of Electrical and Electronics Engineers]] (IEEE) seit 1963. Die bedeutendste deutschsprachige Organisation, die sich mit ethischen und gesellschaftlichen Effekten der Informatik auseinandersetzt ist, das [[Forum InformatikerInnen für Frieden und gesellschaftliche Verantwortung]].
 
=== Rechenmaschinen – Vorläufer des Computers ===
[[Datei:Soroban.jpg|mini|Ein japanischer [[Soroban]]]]
 
Als erste Vorläufer der Informatik jenseits der Mathematik können die Bestrebungen angesehen werden, zwei Arten von Maschinen zu entwickeln: solche, mit deren Hilfe mathematische Berechnungen ausgeführt oder vereinfacht werden können („[[Rechenmaschine]]n“), und solche, mit denen logische Schlüsse gezogen und Argumente überprüft werden können („[[Logische Maschine]]n“). Als einfache Rechengeräte leisteten [[Abakus (Rechenhilfsmittel)|Abakus]] und später der [[Rechenschieber]] unschätzbare Dienste. 1641 konstruierte [[Blaise Pascal]] eine mechanische Rechenmaschine, die Additionen und Subtraktionen inklusive [[Übertrag|Überträgen]] durchführen konnte. Nur wenig später stellte [[Gottfried Wilhelm Leibniz]] eine Rechenmaschine vor, die alle vier [[Grundrechenart]]en beherrschte. Diese Maschinen basieren auf ineinandergreifenden Zahnrädern. Einen Schritt in Richtung größerer Flexibilität ging ab 1838 [[Charles Babbage]], der eine Steuerung der Rechenoperationen mittels [[Lochkarte]]n anstrebte. Erst [[Herman Hollerith]] war dank dem technischen Fortschritt ab 1886 in der Lage, diese Idee gewinnbringend umzusetzen. Seine auf Lochkarten basierenden Zählmaschinen wurden unter anderem bei der Auswertung einer [[Volkszählung]] in den USA eingesetzt.
 
Die Geschichte der [[Logische Maschine|logischen Maschinen]] wird oft bis ins 13. Jahrhundert zurückverfolgt und auf [[Ramon Llull]] zurückgeführt. Auch wenn seine [[rechenscheibe]]nähnlichen Konstruktionen, bei denen mehrere gegeneinander drehbare Scheiben unterschiedliche Begriffskombinationen darstellen konnten, mechanisch noch nicht sehr komplex waren, war er wohl derjenige, der die Idee einer logischen Maschine bekannt gemacht hat. Von diesem sehr frühen Vorläufer abgesehen, verläuft die Geschichte logischer Maschinen eher sogar zeitversetzt zu jener der Rechenmaschinen: Auf 1777 datiert ein rechenschieberähnliches Gerät des [[Charles Stanhope, 3. Earl Stanhope|dritten Earl Stanhope]], dem zugeschrieben wird, die Gültigkeit von [[Syllogismus|Syllogismen]] (im aristotelischen Sinn) zu prüfen. Eine richtige „Maschine“ ist erstmals in der Gestalt des „Logischen Pianos“ von [[William Stanley Jevons|Jevons]] für das späte 19. Jahrhundert überliefert. Nur wenig später wurde die Mechanik durch elektromechanische und elektrische Schaltungen abgelöst. Ihren Höhepunkt erlebten die logischen Maschinen in den 1940er und 1950er Jahren, zum Beispiel mit den Maschinen des englischen Herstellers [[Ferranti]]. Mit der Entwicklung universeller [[Digitalrechner|digitaler Computer]] nahm –&nbsp;im Gegensatz zu den Rechenmaschinen&nbsp;– die Geschichte selbständiger logischen Maschinen ein jähes Ende, indem die von ihnen bearbeiteten und gelösten Aufgaben zunehmend in [[Software]] auf genau jenen Computern realisiert wurden, zu deren hardwaremäßigen Vorläufern sie zu zählen sind.
 
=== Entwicklung moderner Rechenmaschinen ===
{{Siehe auch|Computer#Der Siegeszug des elektronischen Digitalrechners|titel1=Der Siegeszug des elektronischen Digitalrechners im Artikel Computer}}
 
[[Datei:Konrad Zuse (1992).jpg|mini|hochkant|[[Konrad Zuse]]]]
 
Eine der ersten größeren Rechenmaschinen ist die von [[Konrad Zuse]] erstellte, noch immer rein mechanisch arbeitende [[Zuse Z1|Z1]] von 1937. Vier Jahre später realisierte Zuse seine Idee mittels elektrischer [[Relais]]: Die [[Zuse Z3|Z3]] von 1941 trennte als weltweit erster funktionsfähiger frei programmierbarer [[Digitalrechner]]<ref>[http://www.zib.de/institute/konrad_zuse Konrad Zuse – der Namenspatron des ZIB] (abgerufen am 27. Juli 2012)</ref> bereits [[Befehlsspeicher|Befehls-]] und [[Datenspeicher]] und Ein-/Ausgabepult. Etwas später wurden in England die Bemühungen zum Bau von Rechenmaschinen zum Knacken von deutschen Geheimbotschaften unter maßgeblicher Leitung von [[Alan Turing]] (Turingbombe) und von Thomas Flowers (Colossus) mit großem Erfolg vorangetrieben. Parallel entwickelte [[Howard Aiken]] mit [[Mark I (Computer)|Mark I]] (1944) den ersten programmgesteuerten Relaisrechner der USA, wo die weitere Entwicklung maßgeblich vorangetrieben wurde. Weitere Relaisrechner entstanden in den Bell-Labors (George Stibitz). Als erster Röhrenrechner gilt der Atanasoff-Berry-Computer. Einer der Hauptakteure ist hier [[John von Neumann]], nach dem die bis heute bedeutende [[Von-Neumann-Architektur]] benannt ist. 1946 erfolgte die Entwicklung des Röhrenrechners [[ENIAC]], 1949 wurde der [[Electronic Delay Storage Automatic Calculator|EDSAC]] gebaut. Ab 1948 stieg [[IBM]] in die Entwicklung von Computern ein und wurde innerhalb von zehn Jahren Marktführer. Mit der Entwicklung der [[Transistor]]technik und der [[Mikroprozessor]]technik wurden Computer von dieser Zeit an immer leistungsfähiger und preisgünstiger. Im Jahre 1982 öffnete die Firma [[Commodore International|Commodore]] schließlich mit dem [[Commodore 64|C64]] den Massenmarkt speziell für Heimanwender, aber auch weit darüber hinaus.
 
=== Programmiersprachen ===
{{Hauptartikel|Programmiersprache|titel1=Programmiersprachen}}
Bedeutsam für die Entwicklung der Programmiersprachen war die Erfindung der "automatischen Programmierung" durch Heinz Rutishauser (1951). 1956 beschrieb [[Noam Chomsky]] eine Hierarchie [[Formale Grammatik|formaler Grammatiken]], mit denen [[formale Sprache]]n und jeweils spezielle Maschinenmodelle korrespondieren. Diese Formalisierungen erlangten für die Entwicklung der [[Programmiersprache]]n große Bedeutung. Wichtige Meilensteine waren die Entwicklung von [[Fortran]] (aus englisch: "FORmula TRANslation", Formelübersetzung; erste [[höhere Programmiersprache]], 1957), [[ALGOL]] (aus englisch: "ALGOrithmic Language", Algorithmensprache; [[Strukturierte Programmierung|strukturiert]]/[[Imperative Programmierung|imperativ]]; 1958/1960/1968), [[Lisp]] (aus englisch: "LISt Processing", Verarbeitung von Listen; [[Funktionale Programmierung|funktional]], 1959), [[COBOL]] (aus englisch: "COmmon Business Orientated Language", Programmiersprache für kaufmännische Anwendungen, 1959), [[Smalltalk (Programmiersprache)|Smalltalk]] ([[Objektorientierte Programmiersprache|objektorientiert]], 1971), [[Prolog (Programmiersprache)|Prolog]] ([[Logische Programmierung|logisch]], 1972) und [[SQL]] ([[Relationale Datenbank]]en, 1976). Einige dieser Sprachen stehen für typische [[Programmierparadigma|Programmierparadigmen]] ihrer jeweiligen Zeit. Weitere über lange Zeit in der Praxis eingesetzte Programmiersprachen sind [[BASIC]] (seit 1960), [[C (Programmiersprache)|C]] (seit 1970), [[Pascal (Programmiersprache)|Pascal]] (seit 1971), [[Objective-C]] ([[Objektorientierte Programmiersprache|objektorientiert]], 1984), [[C++]] (objektorientiert, [[Generische Programmierung|generisch]], multi-paradigma, seit 1985), [[Java (Programmiersprache)|Java]] (objektorientiert, seit 1995) und [[C-Sharp|C#]] (objektorientiert, um 2000). Sprachen und Paradigmenwechsel wurden von der Informatik-Forschung intensiv begleitet oder vorangetrieben.
 
Wie bei anderen Wissenschaften gibt es auch einen zunehmenden Trend zur Spezialisierung.
 
== Disziplinen der Informatik ==
[[Datei:Alan Turing Memorial Closer.jpg|mini|hochkant|[[Alan Turing|Alan-Turing]]-Gedenkstatue im Sackville Park in [[Manchester]]]]
 
Die Informatik unterteilt sich in die Teilgebiete der [[Theoretische Informatik|Theoretischen Informatik]], der [[Praktische Informatik|Praktischen Informatik]] und der [[Technische Informatik|Technischen Informatik]].
 
Die Anwendungen der Informatik in den verschiedenen Bereichen des täglichen Lebens sowie in anderen Fachgebieten, wie beispielsweise der [[Wirtschaftsinformatik]], [[Geoinformatik]] und [[Medizinische Informatik|Medizininformatik]] werden unter dem Begriff der [[Angewandte Informatik|Angewandten Informatik]] geführt. Auch die [[Informatik und Gesellschaft|Auswirkungen auf die Gesellschaft]] werden interdisziplinär untersucht.
[[Datei:Architektur-der-informatik.png|zentriert|Architektur der Informatik]]
 
Die Theoretische Informatik bildet die theoretische Grundlage für die anderen Teilgebiete. Sie liefert fundamentale Erkenntnisse für die [[Entscheidbar]]keit von Problemen, für die Einordnung ihrer [[Komplexitätstheorie|Komplexität]] und für die Modellierung von [[Automat (Informatik)|Automaten]] und [[Formale Sprache|Formalen Sprachen]].
 
Auf diese Erkenntnisse stützen sich Disziplinen der Praktischen und der Technischen Informatik. Sie beschäftigen sich mit zentralen Problemen der Informationsverarbeitung und suchen anwendbare Lösungen.
 
Die Resultate finden schließlich Verwendung in der Angewandten Informatik. Diesem Bereich sind Hardware- und Software-Realisierungen zuzurechnen und damit ein Großteil des kommerziellen IT-Marktes. In den interdisziplinären Fächern wird darüber hinaus untersucht, wie die [[Informationstechnik]] Probleme in anderen Wissenschaftsgebieten lösen kann, wie beispielsweise die Entwicklung von [[Geoinformationssystem|Geodatenbanken]] für die [[Geographie]], aber auch die [[Wirtschaftsinformatik|Wirtschafts-]] oder [[Bioinformatik]].
 
=== Theoretische Informatik ===
Als Rückgrat der Informatik befasst sich das Gebiet der [[Theoretische Informatik|Theoretischen Informatik]] mit den [[Abstrakt|abstrakten]] und mathematikorientierten [[Aspekte|Aspekten]] der Wissenschaft. Das Gebiet ist breit gefächert und beschäftigt sich unter anderem mit Themen aus der theoretischen Linguistik ([[Formale Sprache|Theorie formaler Sprachen]] bzw. [[Automatentheorie]]), [[Berechenbarkeitstheorie|Berechenbarkeits-]] und [[Komplexitätstheorie]]. Ziel dieser Teilgebiete ist es, fundamentale Fragen wie "Was kann berechnet werden?" und "Wie effektiv/effizient kann man etwas berechnen?" umfassend zu beantworten.
 
{| style="border:1px solid #CCCCCC; text-align:center; margin:auto;" cellspacing="15"
|-
| [[Datei:DFAexample.svg|96px]]
| [[Datei:Wang tiles.png|96px]]
| '''P = NP''' ?
| [[Datei:Blochsphere.svg|96px]]
|-
| [[Automatentheorie]]
| [[Berechenbarkeitstheorie]]
| [[Komplexitätstheorie]]
| [[Quantencomputer]]
|}
 
==== Automatentheorie und Formale Sprachen ====
[[Datei:Dea01.png|mini|Ein [[Deterministischer endlicher Automat|DFA]], gegeben als [[Zustandsübergangsdiagramm]]]]
[[Datei:Kellerautomat.svg|mini|[[Kellerautomat]]]]
[[Datei:Turingmaschine.svg|mini|1-Band-[[Turingmaschine]]]]
 
[[Automat (Informatik)|Automaten]] sind in der Informatik „gedachte Maschinen“, die sich nach bestimmten Regeln verhalten. Ein [[endlicher Automat]] hat eine endliche Menge von inneren Zuständen. Er liest ein „Eingabewort“ zeichenweise ein und führt bei jedem Zeichen einen Zustandsübergang durch. Zusätzlich kann er bei jedem Zustandsübergang ein „Ausgabesymbol“ ausgeben. Nach Ende der Eingabe kann der Automat das Eingabewort akzeptieren oder ablehnen.
 
Der Ansatz der [[Formale Sprache|formalen Sprachen]] hat seinen Ursprung in der [[Linguistik]] und eignet sich daher gut zur Beschreibung von Programmiersprachen. Formale Sprachen lassen sich aber auch durch Automatenmodelle beschreiben, da die Menge aller von einem Automaten akzeptierten Wörter als formale Sprache betrachtet werden kann.
 
Kompliziertere Modelle verfügen über einen Speicher, zum Beispiel [[Kellerautomat]]en oder die Turingmaschine, welche gemäß der [[Church-Turing-These]] alle durch Menschen berechenbaren Funktionen nachbilden kann.
 
==== Berechenbarkeitstheorie ====
Im Rahmen der [[Berechenbarkeitstheorie]] untersucht die theoretische Informatik, welche [[Problem]]e mit welchen Maschinen lösbar sind. Ein Rechnermodell oder eine [[Programmiersprache]] heißt [[Turing-Vollständigkeit|Turing-vollständig]], wenn damit eine [[Turingmaschine#Universelle Turingmaschine|universelle Turingmaschine]] simuliert werden kann. Alle heute eingesetzten Computer und die meisten Programmiersprachen sind Turing-vollständig, das heißt man kann damit dieselben Aufgaben lösen. Auch alternative Berechnungsmodelle wie der [[Lambda-Kalkül]], [[WHILE-Programm]]e, [[Μ-Rekursion|μ-rekursive Funktionen]] oder [[Registermaschine]]n stellten sich als Turing-vollständig heraus. Aus diesen Erkenntnissen entwickelte sich die [[Church-Turing-These]], die zwar formal nicht beweisbar ist, jedoch allgemein akzeptiert wird.
 
Den Begriff der [[Entscheidbar]]keit kann man veranschaulichen als die Frage, ob ein bestimmtes Problem algorithmisch lösbar ist. Ein entscheidbares Problem ist zum Beispiel die Eigenschaft eines Texts, ein syntaktisch korrektes Programm zu sein. Ein nicht-entscheidbares Problem ist zum Beispiel die Frage, ob ein gegebenes Programm mit gegebenen Eingabeparametern jemals zu einem Ergebnis kommt, was als [[Halteproblem]] bezeichnet wird.
 
==== Komplexitätstheorie ====
Die [[Komplexitätstheorie]] befasst sich mit dem [[Ressource]]nbedarf von algorithmisch behandelbaren Problemen auf verschiedenen mathematisch definierten formalen Rechnermodellen, sowie der Güte der sie lösenden Algorithmen. Insbesondere werden die Ressourcen „[[Laufzeit (Informatik)|Laufzeit]]“ und „[[Speicherplatz]]“ untersucht und ihr Bedarf wird üblicherweise in der [[Landau-Notation]] dargestellt. In erster Linie werden die Laufzeit und der Speicherplatzbedarf in Abhängigkeit von der Länge der Eingabe notiert. Algorithmen, die sich höchstens durch einen konstanten Faktor in ihrer Laufzeit bzw. ihrem Speicherbedarf unterscheiden, werden durch die Landau-Notation derselben Klasse, d.&nbsp;h. einer Menge von Problemen mit äquivalenter vom Algorithmus für die Lösung benötigter Laufzeit, zugeordnet.
 
Ein Algorithmus, dessen Laufzeit von der Eingabelänge unabhängig ist, arbeitet „in konstanter Zeit“, man schreibt <math>\mathcal{O}(1)</math>. Beispielsweise wird das Programm „gib das erste Element einer Liste zurück“ in konstanter Zeit arbeiten. Das Programm „prüfe, ob ein bestimmtes Element in einer unsortierten Liste der Länge n enthalten ist“ braucht „lineare Zeit“, also <math>\mathcal{O}(n)</math>, denn die Eingabeliste muss schlimmstenfalls genau einmal gelesen werden.
 
Die Komplexitätstheorie liefert bisher fast nur obere Schranken für den [[Ressourcenbedarf]] von Problemen, denn Methoden für exakte untere Schranken sind kaum entwickelt und nur von wenigen Problemen bekannt (so zum Beispiel für die Aufgabe, eine Liste von Werten mit Hilfe einer gegebenen [[Ordnungsrelation]] durch Vergleiche zu sortieren, die untere Schranke <math>\Omega(n \log(n))</math>). Dennoch gibt es Methoden, besonders schwierige Probleme als solche zu klassifizieren, wobei die Theorie der [[NP-Vollständigkeit]] eine zentrale Rolle spielt. Demnach ist ein Problem besonders schwierig, wenn man durch dessen Lösung auch automatisch die meisten anderen natürlichen Probleme lösen kann, ohne dafür wesentlich mehr Ressourcen zu verwenden.
 
Die größte offene Frage in der Komplexitätstheorie ist die Frage nach '''[[Wikipedia:P-NP-Problem|P = NP?]]'''. Das Problem ist eines der [[Millennium-Probleme]], die vom [[Clay Mathematics Institute]] mit einer Million US-Dollar ausgeschrieben sind. Wenn P nicht gleich NP ist, können NP-vollständige Probleme nicht effizient gelöst werden.
 
==== Theorie der Programmiersprachen ====
Dieser Bereich beschäftigt sich mit der Theorie, Analyse, Charakterisierung und Implementierung von [[Programmiersprachen]] und wird sowohl in der praktischen als auch der theoretischen Informatik aktiv erforscht. Das Teilgebiet beeinflusst stark angrenzende Fachbereiche wie Teile der [[Mathematik]] und der [[Linguistik]].
 
{| style="border:1px solid #CCCCCC; text-align:center; margin:auto;" cellspacing="15"
|-
| <math>\Gamma\vdash x: \text{Int}</math>
| [[Datei:Compiler.svg|96px]]
| [[Datei:Python add5 syntax.svg|96px]]
|-
| [[Typentheorie]]
| [[Compilerbau]]
| [[Programmiersprachen]]
|}
 
==== Theorie der formalen Methoden ====
Die Theorie der [[Formale Methode|formalen Methoden]] beschäftigt sich mit einer Vielzahl an Techniken zur formalen [[Spezifikation]] und [[Verifikation]] von [[Software]]- und [[Hardware]]systemen. Die Motivation für dieses Gebiet entstammt dem [[ingenieurwissenschaftlichen Denken]] – eine strenge mathematische Analyse hilft, die Zuverlässigkeit und Robustheit eines Systems zu verbessern. Diese Eigenschaften sind insbesondere bei Systemen, die in sicherheitskritischen Bereichen arbeiten, von großer Bedeutung. Die Erforschung solcher Methoden erfordert unter anderem Kenntnisse aus der [[Mathematische Logik|mathematischen Logik]] und der [[Formale Semantik|formalen Semantik]].
 
=== Praktische Informatik ===
Die [[Praktische Informatik]] entwickelt grundlegende Konzepte und Methoden zur Lösung konkreter Probleme in der realen Welt, beispielsweise der Verwaltung von Daten in [[Datenstruktur]]en oder der Entwicklung von [[Software]]. Einen wichtigen Stellenwert hat dabei die Entwicklung von [[Algorithmus|Algorithmen]]. Beispiele dafür sind [[Sortierverfahren|Sortier-]] und [[Suchverfahren|Suchalgorithmen]].
 
Eines der zentralen Themen der praktischen Informatik ist die [[Softwaretechnik]] (auch ''Softwareengineering'' genannt). Sie beschäftigt sich mit der systematischen Erstellung von Software. Es werden auch Konzepte und Lösungsvorschläge für große Softwareprojekte entwickelt, die einen wiederholbaren Prozess von der Idee bis zur fertigen Software erlauben sollen.
 
[[Datei:B-tree-definition.png|mini|Skizze eines [[B-Baum]]s]]
 
Ein wichtiges Thema der Praktischen Informatik ist der [[Compilerbau]], der auch in der Theoretischen Informatik untersucht wird. Ein [[Compiler]] ist ein Programm, das andere Programme aus einer Quellsprache (beispielsweise [[Java (Programmiersprache)|Java]] oder [[C++]]) in eine Zielsprache übersetzt. Ein Compiler ermöglicht es einem Menschen, Software in einer abstrakteren Sprache zu entwickeln als in der von der [[Prozessor|CPU]] verwendeten [[Maschinensprache]].
 
Ein Beispiel für den Einsatz von Datenstrukturen ist der [[B-Baum]], der in Datenbanken und [[Dateisystem]]en das schnelle Suchen in großen Datenbeständen erlaubt.
 
=== Technische Informatik ===
Die [[Technische Informatik]] befasst sich mit den hardwareseitigen Grundlagen der Informatik, wie etwa [[Mikroprozessor]]technik, [[Rechnerarchitektur]], [[Eingebettetes System|eingebetteten]] und [[Echtzeitsystem]]en, [[Rechnernetz]]en samt der zugehörigen systemnahen Software, sowie den hierfür entwickelten Modellierungs- und Bewertungsmethoden.
 
[[Datei:WirkspektrumTI.png|mini|Wirkungsspektrum der Technischen Informatik]]
 
==== Mikroprozessortechnik, Rechnerentwurfsprozess ====
Die [[Mikroprozessortechnik]] wird durch die schnelle Entwicklung der [[Halbleitertechnik]] dominiert. Die Strukturbreiten im Nanometerbereich ermöglichen die Miniaturisierung von hochkomplexen [[Schaltkreis]]en mit mehreren Milliarden Einzelbauelementen. Diese Komplexität ist nur mit ausgereiften Entwurfswerkzeugen und leistungsfähigen [[Hardwarebeschreibungssprache]]n zu beherrschen. Der Weg von der Idee zum fertigen Produkt führt über viele Stufen, die weitgehend rechnergestützt sind und ein hohes Maß an Exaktheit und Fehlerfreiheit sichern. Werden wegen hoher Anforderungen an die Leistungsfähigkeit Hardware und Software gemeinsam entworfen, so spricht man auch von Hardware-Software-Codesign.
 
==== Architekturen ====
Die [[Rechnerarchitektur]] bzw. Systemarchitektur ist das Fachgebiet, das Konzepte für den Bau von Computern bzw. Systemen erforscht. Bei der Rechnerarchitektur wird z.&nbsp;B. das Zusammenspiel von [[Prozessor]]en, [[Arbeitsspeicher]] sowie Steuereinheiten ([[Controller (Hardware)|Controller]]) und [[Peripheriegerät|Peripherie]] definiert und verbessert. Das Forschungsgebiet orientiert sich dabei sowohl an den Anforderungen der Software als auch an den Möglichkeiten, die sich über die Weiterentwicklung von [[Integrierter Schaltkreis|Integrierten Schaltkreisen]] ergeben. Ein Ansatz ist dabei rekonfigurierbare Hardware wie z.&nbsp;B. [[FPGA]]s (Field Programmable Gate Arrays), deren Schaltungsstruktur an die jeweiligen Anforderungen angepasst werden kann.
 
Aufbauend auf der Architektur der sequentiell arbeitenden [[Von-Neumann-Architektur|Von-Neumann-Maschine]], bestehen heutige Rechner in der Regel aus einem Prozessor, der selbst wieder mehrere Prozessorkerne, Speicher-Controller und eine ganze Hierarchie von [[Cache]]-Speichern enthalten kann, einem als Direktzugriffsspeicher ([[Random-Access Memory]], RAM) ausgelegten [[Arbeitsspeicher]] (Primärspeicher) und Ein/Ausgabe-Schnittstellen unter anderem zu Sekundärspeichern (z.&nbsp;B. [[Festplatte]] oder [[Solid-State-Drive|SSD-Speicher]]). Durch die vielen Einsatzgebiete ist heute ein weites Spektrum von Prozessoren im Einsatz, das von einfachen [[Mikrocontroller]]n, z.&nbsp;B. in Haushaltsgeräten über besonders energieeffiziente Prozessoren in mobilen Geräten wie [[Smartphone]]n oder [[Tabletcomputer]]n bis hin zu intern parallel arbeitenden Hochleistungsprozessoren in [[Personal Computer]]n und [[Server]]n reicht. [[Parallelrechner]] gewinnen an Bedeutung, bei denen Rechenoperationen auf mehreren Prozessoren gleichzeitig ausgeführt werden können. Der Fortschritt der Chiptechnik ermöglicht heute schon die Realisierung einer großen Zahl (gegenwärtige Größenordnung 100…1000) von Prozessorkernen auf einem einzigen Chip ([[Mehrkernprozessor]]en, Multi/Manycore-Systeme, „[[System-on-a-Chip]]“ (SoCs)).
 
Ist der Rechner in ein technisches System eingebunden und verrichtet dort weitgehend unsichtbar für den Benutzer Aufgaben wie Steuerung, Regelung oder Überwachung, spricht man von einem eingebetteten System. Eingebettete Systeme sind in einer Vielzahl von Geräten des Alltags wie Haushaltsgeräten, Fahrzeugen, Geräten der Unterhaltungselektronik, Mobiltelefonen, aber auch in industriellen Systemen z.&nbsp;B. in der Prozessautomation oder der Medizintechnik im Einsatz. Da eingebettete Computer immerzu und überall verfügbar sind, spricht man auch von allgegenwärtigem oder ubiquitärem Rechnen ([[Ubiquitous computing]]). Immer häufiger sind diese Systeme vernetzt, z.&nbsp;B. mit dem Internet („[[Internet der Dinge|Internet of Things]]“). Netzwerke von interagierenden Elementen mit physikalischer Eingabe von und Ausgabe zu ihrer Umwelt werden auch als [[Cyber-physisches System|Cyber-Physical Systems]] bezeichnet. Ein Beispiel sind drahtlose [[Sensornetz]]e zur Umweltüberwachung.
 
[[Datei:Router.jpg|mini|[[Router|Heimrouter]]]]
 
[[Echtzeitsystem]]e sind darauf ausgelegt, dass sie auf bestimmte zeitkritisch ablaufende Prozesse der Außenwelt mit angemessener Reaktionsgeschwindigkeit rechtzeitig antworten können. Dies setzt voraus, dass die Ausführungszeit der Antwortprozesse entsprechende vorgegebene Zeitschranken garantiert nicht überschreitet. Viele eingebettete Systeme sind auch Echtzeitsysteme.
 
Eine zentrale Rolle bei allen Mehrrechnersystemen spielt die Rechnerkommunikation. Diese ermöglicht den elektronischen Datenaustausch zwischen Computern und stellt damit die technische Grundlage des Internets dar. Neben der Entwicklung von [[Router]]n, [[Switch (Netzwerktechnik)|Switches]] oder [[Firewall]]s, gehört hierzu auch die Entwicklung der Softwarekomponenten, die zum Betrieb dieser Geräte nötig ist. Dies schließt insbesondere die Definition und Standardisierung von [[Netzwerkprotokoll]]en, wie [[Transmission Control Protocol|TCP]], [[HTTP]] oder [[SOAP]], ein. Protokolle sind dabei die Sprachen, in denen Rechner untereinander Information austauschen.
 
Bei [[Verteiltes System|Verteilten Systemen]] arbeitet eine große Zahl von Prozessoren ohne gemeinsamen Speicher zusammen. Üblicherweise regeln [[Prozess (Informatik)|Prozesse]], die über Nachrichten miteinander kommunizieren, die Zusammenarbeit von einzelnen weitgehend unabhängigen Computern in einem Verbund ([[Rechnerverbund|Cluster]]). Schlagworte in diesem Zusammenhang sind beispielsweise [[Middleware]], [[Grid-Computing]] und [[Cloud Computing]].
 
==== Modellierung und Bewertung ====
Als Basis für die Bewertung der genannten Architekturansätze sind – wegen der generellen Komplexität solcher Systemlösungen – spezielle Modellierungsmethoden entwickelt worden, um Bewertungen bereits vor der eigentlichen Systemrealisierung durchführen zu können. Besonders wichtig ist dabei zum einen die Modellierung und Bewertung der resultierenden Systemleistung, z.&nbsp;B. anhand von [[Benchmark (Computer)|Benchmark]]-Programmen. Als Methoden zur Leistungsmodellierung sind z.&nbsp;B. [[Warteschlange (Datenstruktur)|Warteschlangenmodelle]], [[Petri-Netz]]e und spezielle verkehrstheoretische Modelle entwickelt worden. Vielfach wird insbesondere bei der Prozessorentwicklung auch [[Computersimulation]] eingesetzt.
 
Neben der Leistung können auch andere Systemeigenschaften auf der Basis der Modellierung studiert werden; z.&nbsp;B. spielt gegenwärtig auch der Energieverbrauch von Rechnerkomponenten eine immer größere, zu berücksichtigende Rolle. Angesichts des Wachstums der Hardware- und Softwarekomplexität sind außerdem Probleme der Zuverlässigkeit, Fehlerdiagnose und [[Fehlertoleranz]], insbesondere bei sicherheitskritischen Anwendungen, von großer Bedeutung. Hier gibt es entsprechende, meist auf Verwendung redundanter Hardware- bzw. Softwareelemente basierende Lösungsmethoden.
 
==== Beziehungen zu anderen Informatikgebieten und weiteren Fachdisziplinen ====
Die Technische Informatik hat enge Beziehungen zu anderen Gebieten der Informatik und den Ingenieurwissenschaften. Sie baut auf der [[Elektronik]] und Schaltungstechnik auf, wobei digitale Schaltungen im Vordergrund stehen ([[Digitaltechnik]]). Für die höheren Softwareschichten stellt sie die Schnittstellen bereit, auf denen wiederum diese Schichten aufbauen. Insbesondere über eingebettete Systeme und Echtzeitsysteme gibt es enge Beziehungen zu angrenzenden Gebieten der [[Elektrotechnik]] und des [[Maschinenbau]]s wie [[Steuerungstechnik|Steuerungs-]], [[Regelungstechnik|Regelungs-]] und [[Automatisierungstechnik]] sowie zur [[Robotik]].
 
=== Informatik in interdisziplinären Wissenschaften ===
Unter dem Sammelbegriff der [[Angewandte Informatik|Angewandten Informatik]] ''„fasst man das Anwenden von Methoden der Kerninformatik in anderen Wissenschaften … zusammen“''.<ref name="DudenInf" /> Rund um die Informatik haben sich einige interdisziplinäre Teilgebiete und Forschungsansätze entwickelt, teilweise zu eigenen [[Wissenschaft]]en. Beispiele:
 
==== Computational sciences ====
Dieses interdisziplinäre Feld beschäftigt sich mit der computergestützten Analyse, [[Modellierung]] und [[Simulation]] von naturwissenschaftlichen Problemen und Prozessen. Entsprechend den [[Naturwissenschaft]]en wird hier unterschieden:
 
* Die ''[[Bioinformatik]]'' (englisch ''bioinformatics'', auch ''computational biology'') befasst sich mit den informatischen Grundlagen und Anwendungen der [[Datenbanksystem|Speicherung, Organisation]] und Analyse [[Biologie|biologischer]] [[Daten]]. Die ersten reinen Bioinformatikanwendungen wurden für die [[Desoxyribonukleinsäure|DNA]]-Sequenzanalyse entwickelt. Dabei geht es primär um das schnelle Auffinden von Mustern in langen DNA-Sequenzen und die Lösung des Problems, wie man zwei oder mehr ähnliche Sequenzen so übereinander legt und gegeneinander ausrichtet, dass man eine möglichst optimale Übereinstimmung erzielt (''sequence alignment''). Mit der Aufklärung und weitreichenden Funktionsanalyse verschiedener vollständiger [[Genom]]e (z.&nbsp;B. des [[Fadenwürmer|Fadenwurms]] ''Caenorhabditis elegans'') verlagert sich der Schwerpunkt bioinformatischer Arbeit auf Fragestellungen der [[Proteomik]], wie z.&nbsp;B. dem Problem der [[Proteinfaltung]] und [[Proteinstruktur#Strukturvorhersage|Strukturvorhersage]], also der Frage nach der Sekundär- oder Tertiärstruktur bei gegebener Aminosäuresequenz.
** Die ''[[Biodiversitätsinformatik]]'' umfasst die Speicherung und Verarbeitung von Informationen zur biologischen Vielfalt. Während die Bioinformatik sich mit Nucleinsäuren und Proteinen beschäftigt, sind die Objekte der Biodiversitätsinformatik [[Taxon|Taxa]], biologische Sammlungsbelege und Beobachtungsdaten.
** ''[[Künstliches Leben]]'' (englisch ''Artificial life'') wurde 1986 als interdisziplinäre Forschungsdisziplin etabliert.<ref>Christopher Langton: ''Studying Artificial Life with Cellular Automata.'' In: ''Physics'' 22ID:120-149</ref><ref>Christopher Langton: ''What is Artificial Life?'' (1987) {{Webarchiv|url=http://www.probelog.com/texts/Langton_al.pdf|text=pdf|wayback=20070311225322}}</ref> Die Simulation natürlicher Lebensformen mit Software- (''soft artificial life'') und Hardwaremethoden (''hard artificial life'') ist ein Hauptziel dieser Disziplin.<ref name="Bedau2">[http://people.reed.edu/~mab/publications/papers/BedauTICS03.pdf Marc A. Bedau: Artificial life: organization, adaptation and complexity from the bottom up]</ref> Anwendungen für künstliches Leben gibt es heute unter anderem in der synthetischen Biologie, im [[Sektor|Gesundheitssektor]] und der Medizin, in der Ökologie, bei autonomen Robotern, im Transport- und Verkehrssektor, in der Computergrafik, für virtuelle Gesellschaften und bei Computerspielen.<ref name="Banzhaf2">Wolfgang Banzhaf, Barry McMullin: ''Artificial Life.'' In: Grzegorz Rozenberg, Thomas Bäck, Joost N. Kok (Hrsg.): ''Handbook of Natural Computing.'' Springer 2012. ISBN 978-3-540-92909-3 (Print) 978-3-540-92910-9 (Online)</ref>
 
* Die ''[[Chemoinformatik]]'' (englisch ''chemoinformatics'', ''cheminformatics'' oder ''chemiinformatics'') bezeichnet einen Wissenschaftszweig, der das Gebiet der [[Chemie]] mit Methoden der Informatik verbindet und umgekehrt. Sie beschäftigt sich mit der Suche im [[Chemical Space|chemischen Raum]] welcher aus [[virtuell]]en ''([[in silico]])'' oder [[Realität|realen]] [[Molekül]]en besteht. Die Größe des chemischen Raumes wird auf etwa 10<sup>62</sup> Moleküle geschätzt und ist weit größer als die Menge der bisher real [[Synthese (Chemie)|synthetisierten]] Moleküle. Somit lassen sich unter Umständen Millionen von Molekülen mit Hilfe solcher Computer-Methoden ''in silico'' testen, ohne diese explizit mittels Methoden der [[Kombinatorische Chemie|Kombinatorischen Chemie]] oder [[Synthese (Chemie)|Synthese]] im Labor erzeugen zu müssen.
 
==== Ingenieurinformatik, Maschinenbauinformatik ====
Die ''[[Ingenieurinformatik]]'', englisch auch als ''[[Computational Engineering Science]]'' bezeichnet, ist eine interdisziplinäre Lehre an der Schnittstelle zwischen den [[Ingenieurwissenschaften]], der Mathematik und der Informatik an den Fachbereichen [[Elektrotechnik]], [[Maschinenbau]], [[Verfahrenstechnik]], [[Systemtechnik]].<br />
Die ''[[Maschinenbauinformatik]]'' beinhaltet im Kern die virtuelle Produktentwicklung ([[Produktionsinformatik]]) mittels [[Computervisualistik]], sowie die [[Automatisierungstechnik]].
 
==== Wirtschaftsinformatik, Informationsmanagement ====
Die ''[[Wirtschaftsinformatik]]'' (englisch ''(business) information systems'', auch ''management information systems'') ist eine „Schnittstellen-Disziplin“ zwischen der Informatik und den [[Wirtschaftswissenschaft]]en, besonders der [[Betriebswirtschaftslehre]]. Sie hat sich durch ihre Schnittstellen zu einer eigenständigen Wissenschaft entwickelt. Ein Schwerpunkt der Wirtschaftsinformatik liegt auf der Abbildung von [[Geschäftsprozess]]en und der Buchhaltung in [[Relationale Datenbank|relationalen Datenbanksystemen]] und [[Enterprise-Resource-Planning]]-Systemen.
Das [[Information Engineering]] der Informationssysteme und das [[Informationsmanagement]] spielen im Rahmen der Wirtschaftsinformatik eine gewichtige Rolle. Entwickelt wurde dies an der [[Hochschule Furtwangen|Fachhochschule Furtwangen]] bereits 1971.<ref name="HSGeschichte" /> Ab 1974 richteten die damalige TH Darmstadt, die Johannes-Kepler-Universität Linz und die TU Wien einen Studiengang Wirtschaftsinformatik ein.
 
==== Sozioinformatik ====
Die [[Sozioinformatik]] befasst sich mit den Auswirkungen von IT-Systemen auf die Gesellschaft, wie sie z.&nbsp;B. Organisationen und Gesellschaft in ihrer Organisation unterstützen, aber auch wie die Gesellschaft auf die Entwicklung von sozial eingebetteten IT-Systemen einwirkt, sei es als [[Prosument]]en auf kollaborativen Plattformen wie der Wikipedia, oder mittels rechtlicher Einschränkungen, um beispielsweise Datensicherheit zu garantieren.
 
==== Sozialinformatik ====
Die [[Sozialinformatik]] befasst sich zum einen mit dem IT-Betrieb in sozialen Organisationen, zum anderen mit Technik und Informatik als Instrument der Sozialen Arbeit, wie zum Beispiel beim [[Ambient Assisted Living]].
 
==== Medieninformatik ====
Die ''[[Medieninformatik]]'' hat die Schnittstelle zwischen Mensch und Maschine als Schwerpunkt und befasst sich mit der Verbindung von Informatik, [[Psychologie]], [[Arbeitswissenschaft]], [[Medientechnik]], [[Mediengestalter Digital und Print|Mediengestaltung]] und [[Didaktik]].
 
==== Computerlinguistik ====
In der ''[[Computerlinguistik]]'' wird untersucht, wie [[natürliche Sprache]] mit dem Computer verarbeitet werden kann. Sie ist ein Teilbereich der [[Künstliche Intelligenz|Künstlichen Intelligenz]], aber auch gleichzeitig Schnittstelle zwischen [[Angewandte Linguistik|Angewandter Linguistik]] und [[Angewandte Informatik|Angewandter Informatik]]. Verwandt dazu ist auch der Begriff der [[Kognitionswissenschaft]], die einen eigenen interdisziplinären Wissenschaftszweig darstellt, der u.&nbsp;a. [[Allgemeine Linguistik|Linguistik]], Informatik, [[Philosophie]], [[Psychologie]] und [[Neurologie]] verbindet. Anwendungsgebiete der Computerlinguistik sind die [[Spracherkennung]] und [[Sprachsynthese|-synthese]], [[Maschinelle Übersetzung|automatische Übersetzung in andere Sprachen]] und [[Informationsextraktion]] aus Texten.
 
==== Umweltinformatik, Geoinformatik ====
Die ''[[Umweltinformatik]]'' beschäftigt sich interdisziplinär mit der Analyse und Bewertung von Umweltsachverhalten mit Mitteln der Informatik. Schwerpunkte sind die Verwendung von [[Simulation]]sprogrammen, [[Geoinformationssystem|Geographische Informationssysteme (GIS)]] und Datenbanksysteme.<br />
Die ''[[Geoinformatik]]'' (englisch ''geoinformatics'') ist die Lehre des Wesens und der Funktion der [[Geoinformation]] und ihrer Bereitstellung in Form von [[Geodaten]] und mit den darauf aufbauenden Anwendungen auseinander. Sie bildet die wissenschaftliche Grundlage für Geoinformationssysteme (GIS). Allen Anwendungen der Geoinformatik gemeinsam ist der [[Raumbezug]] und fallweise dessen Abbildung in kartesische räumliche oder planare Darstellungen im [[Bezugssystem]].
 
==== Andere Informatikdisziplinen ====
Weitere Schnittstellen der Informatik zu anderen Disziplinen gibt es in der [[Informationswirtschaft]], [[Medizinische Informatik|Medizinischen Informatik]], [[Logistikinformatik]], [[Pflegeinformatik]] und der [[Rechtsinformatik]], [[Informationsmanagement]] ([[Verwaltungsinformatik]], [[Betriebsinformatik]]), [[Architekturinformatik]] ([[Bauinformatik]]) sowie der [[Agrarinformatik]], [[Archäoinformatik]], [[Sportinformatik]], sowie neue interdisziplinäre Richtungen wie beispielsweise das [[Neuromorphic Engineering]]. Die Zusammenarbeit mit der Mathematik oder der Elektrotechnik wird aufgrund der Verwandtschaft nicht als [[Interdisziplinarität|interdisziplinär]] bezeichnet. Mit dem [[Informatikunterricht]], besonders an Schulen, befasst sich die [[Informatikunterricht#Literatur|Didaktik der Informatik]]. Die [[Elementarinformatik]] beschäftigt sich mit der Vermittlung von grundlegenden Informatikkonzepten im Vorschul- und Grundschulbereich.
 
=== Künstliche Intelligenz ===
[[Datei:Gitter BW3.jpg|mini|Eine [[Selbstorganisierende Karte|Kohonenkarte]] beim Lernen]]
 
Die ''[[Künstliche Intelligenz]] (KI)'' ist ein großes Teilgebiet der Informatik mit starken Einflüssen aus [[Logik]], [[Allgemeine Linguistik|Linguistik]], [[Neurophysiologie]] und [[Kognitionspsychologie]]. Dabei unterscheidet sich die KI in der Methodik zum Teil erheblich von der klassischen Informatik. Statt eine vollständige Lösungsbeschreibung vorzugeben, wird in der Künstlichen Intelligenz die Lösungsfindung dem Computer selbst überlassen. Ihre Verfahren finden Anwendung in [[Expertensystem]]en, in der [[Sensorik (Technik)|Sensorik]] und [[Robotik]].
 
Im Verständnis des Begriffs „Künstliche Intelligenz“ spiegelt sich oft die aus der [[Aufklärung]] stammende Vorstellung vom Menschen als Maschine wider, dessen Nachahmung sich die so genannte „starke KI“ zum Ziel setzt: eine Intelligenz zu erschaffen, die wie der Mensch nachdenken und Probleme lösen kann und die sich durch eine Form von [[Bewusstsein]] beziehungsweise [[Selbstbewusstsein]] sowie [[Emotion]]en auszeichnet.
 
Die Umsetzung dieses Ansatzes erfolgte durch Expertensysteme, die im Wesentlichen die Erfassung, Verwaltung und Anwendung einer Vielzahl von Regeln zu einem bestimmten Gegenstand (daher „Experten“) leisten.
 
Im Gegensatz zur starken KI geht es der „schwachen KI“ darum, konkrete Anwendungsprobleme zu meistern. Insbesondere sind dabei solche Anwendungen von Interesse, zu deren Lösung nach allgemeinem Verständnis eine Form von „[[Intelligenz]]“ notwendig scheint. Letztlich geht es der schwachen KI somit um die Simulation intelligenten Verhaltens mit Mitteln der Mathematik und der Informatik; es geht ihr nicht um Schaffung von Bewusstsein oder um ein tieferes Verständnis der Intelligenz. Ein Beispiel aus der schwachen KI ist die [[Fuzzylogik]].
 
[[Neuronales Netz|Neuronale Netze]] gehören ebenfalls in diese Kategorie – seit Anfang der [[1980er|1980er Jahre]] analysiert man unter diesem Begriff die Informationsarchitektur des (menschlichen oder tierischen) Gehirns. Die Modellierung in Form [[Künstliches neuronales Netz|künstlicher neuronaler Netze]] illustriert, wie aus einer sehr einfachen Grundstruktur eine komplexe [[Mustererkennung]] geleistet werden kann. Gleichzeitig wird deutlich, dass diese Art von Lernen nicht auf der Herleitung von logisch oder sprachlich formulierbaren Regeln beruht – und somit etwa auch die besonderen Fähigkeiten des menschlichen Gehirns innerhalb des Tierreichs nicht auf einen regel- oder sprachbasierten „Intelligenz“-Begriff reduzierbar sind. Die Auswirkungen dieser Einsichten auf die KI-Forschung, aber auch auf [[Lerntheorie]], [[Didaktik]] und andere Gebiete werden noch diskutiert.
 
{| style="border:1px solid #CCCCCC; text-align:center; margin:auto;" cellspacing="15"
|-
| [[Datei:Nicolas P. Rougier's rendering of the human brain.png|96px]]
| [[Datei:Corner.png|96px]]
| [[Datei:KnnClassification.svg|96px]]
| [[Datei:User-FastFission-brain.gif|96px]]
|-
| [[Maschinelles Lernen]]
| [[Bildverarbeitung]]
| [[Mustererkennung]]
| [[Kognitionswissenschaft]]
|-
| [[Datei:Julia iteration data.png|96px]]
| [[Datei:sky.png|96px]]
| [[Datei:earth.png|96px]]
| [[Datei:neuron.svg|96px]]
|-
| [[Data-Mining]]
| [[Evolutionary computation]]
| [[Information Retrieval]]
| [[Wissensrepräsentation]]
|-
| [[Datei:english.png|96px]]
| [[Datei:HONDA ASIMO.jpg|64px]]
|-
| [[Natural language processing]]
| [[Robotik]]
|}
 
Während die starke KI an ihrer philosophischen Fragestellung bis heute scheiterte, sind auf der Seite der schwachen KI Fortschritte erzielt worden.
 
=== Informatik und Gesellschaft ===
{{Hauptartikel|Informatik und Gesellschaft}}
 
„Informatik und Gesellschaft“ (IuG) ist ein Teilbereich der Wissenschaft Informatik und erforscht die Rolle der Informatik auf dem Weg zur Informationsgesellschaft. Die dabei untersuchten Wechselwirkungen der Informatik umfassen die unterschiedlichsten Aspekte. Ausgehend von historischen, sozialen, kulturellen Fragen betrifft dies ökonomische, politische, ökologische, ethische, didaktische und selbstverständlich technische Aspekte. Die entstehende global vernetzte Informationsgesellschaft wird für die Informatik als zentrale Herausforderung gesehen, in der sie als technische Grundlagenwissenschaft eine definierende Rolle spielt und diese reflektieren muss. IuG ist dadurch gekennzeichnet, dass eine interdisziplinäre Herangehensweise, insbesondere mit den Geisteswissenschaften, aber auch z.&nbsp;B. mit den Rechtswissenschaften notwendig ist.
 
== Siehe auch ==
{{Portal|Informatik}}
* {{WikipediaDE|Kategorie:Informatik}}
* {{WikipediaDE|Informatik}}
* {{WikipediaDE|Liste bedeutender Personen für die Informatik}}
* {{WikipediaDE|Gesellschaft für Informatik}}
* {{WikipediaDE|Österreichische Computer Gesellschaft}}
* {{WikipediaDE|Schweizer Informatik Gesellschaft}}
* {{WikipediaDE|Informatikstudium}}
 
== Literatur ==
* Herbert Bruderer: ''Meilensteine der Rechentechnik''. Band 1: Mechanische Rechenmaschinen, Rechenschieber, historische Automaten und wissenschaftliche Instrumente, 2., stark erw. Auflage, Walter de Gruyter, Berlin/Boston 2018, ISBN 978-3-11-051827-6* Heinz-Peter Gumm, Manfred Sommer: ''Einführung in die Informatik''. 10. Auflage. Oldenbourg, München 2012, ISBN 978-3-486-70641-3.
* A. K. Dewdney: ''Der Turing Omnibus: Eine Reise durch die Informatik mit 66 Stationen.'' Übersetzt von P. Dobrowolski. Springer, Berlin 1995, ISBN 3-540-57780-7.
* Hans Dieter Hellige (Hrsg.): ''Geschichten der Informatik. Visionen, Paradigmen, Leitmotive.'' Berlin, Springer 2004, ISBN 3-540-00217-0.
* Jan Leeuwen: ''Theoretical Computer Science.'' Springer, Berlin 2000, ISBN 3-540-67823-9.
* Peter Rechenberg, Gustav Pomberger (Hrsg.): ''Informatik-Handbuch.'' 3. Auflage. Hanser 2002, ISBN 3-446-21842-4.
* Vladimiro Sassone: ''Foundations of Software Science and Computation Structures.'' Springer, Berlin 2005, ISBN 3-540-25388-2.
* Uwe Schneider, Dieter Werner (Hrsg.): ''Taschenbuch der Informatik.'' 6. Auflage. Fachbuchverlag, Leipzig 2007, ISBN 978-3-446-40754-1.
* Gesellschaft für Informatik: [http://www.gi-ev.de/fileadmin/redaktion/Download/was-ist-informatik-lang.pdf ''Was ist Informatik? Positionspapier der Gesellschaft für Informatik.''] (PDF, ca. 600 KB) Bonn 2005., oder [http://www.gi-ev.de/fileadmin/redaktion/Download/was-ist-informatik-kurz.pdf ''Was ist Informatik? Kurzfassung.''] (PDF; rund 85&nbsp;kB).
* Les Goldschlager, Andrew Lister: ''Informatik – Eine moderne Einführung.'' Carl Hanser, Wien 1986, ISBN 3-446-14549-4.
* Arno Schulz: ''Informatik für Anwender.'' de Gruyter Verlag, Berlin, New York 1973, ISBN 3-11-002051-3.
* Horst Völz: ''Das ist Information.'' Shaker Verlag, Aachen 2017. ISBN 978-3-8440-5587-0.
* Horst Völz: ''Wie wir wissend wurden. Nicht Alles ist Information.'' Shaker Verlag, Aachen 2018. ISBN 978-3-8440-5865-9.
 
== Weblinks ==
{{Wiktionary}}
{{Commonscat|Computer science|Informatik}}
{{Wikibooks|Regal:EDV}}
{{Wikiversity|Fachbereich Informatik}}
* {{Literatur | Titel = On Computable Numbers, with an Application to the Entscheidungsproblem | Sammelwerk = Proceedings of the London Mathematical Society | Band = 42 | Seiten = 230–265 | DOI= 10.1112/plms/s2-42.1.230 }}
* {{dmoz|World/Deutsch/Wissenschaft/Informatik/Fakultäten_und_Institute/|Informatik-Fachbereiche an Hochschulen}}
* [http://www.gi.de/ Gesellschaft für Informatik (GI)]
* [http://www.i-s.ch/ Schweizer Informatik Gesellschaft (SI)]
* Informatik für Lehrerinnen und Lehrer im ZUM-Wiki
* [http://www.einstieg-informatik.de/ einstieg-informatik.de]
 
== Einzelnachweise ==
<references />
 
{{Normdaten|TYP=s|GND=4026894-9|LCCN=|NDL=|VIAF=}}
 
[[Kategorie:Informatik nach Fachgebiet|!]]
[[Kategorie:Informatik|!]]
 
{{Wikipedia}}

Aktuelle Version vom 11. August 2022, 11:05 Uhr

Beschreibung

Importing file