Die Informatik (auch Computerwissenschaft genannt) befasst sich mit den theoretischen Grundlagen von Information und Datenverarbeitung sowie deren Implementierung und Anwendung in Computersystemen . Ein bekanntes Klassifikationssystem für Informatik ist das ACM Computing Classification System der Association for Computing Machinery .

Die Informatik lässt sich wie folgt beschreiben:

Unterfelder

Mathematische Grundlagen

Algorithmen und Datenstrukturen

  • Algorithmen – Sequenzielle und parallele Rechenverfahren zur Lösung eines breiten Spektrums von Problemen.
  • Datenstrukturen – Die Organisation und Manipulation von Daten.

Künstliche Intelligenz

Überblick über künstliche Intelligenz

  • Künstliche Intelligenz – Die Implementierung und Untersuchung von Systemen, die eine autonome Intelligenz oder ein eigenständiges Verhalten aufweisen.
  • Automatisiertes Schließen – Lösungsmechanismen, wie sie beispielsweise in Prolog verwendet werden , welche Schritte zu einem Ergebnis auf Basis einer Abfrage einer Fakten- und Regeldatenbank erzeugen, sowie automatisierte Theorembeweiser , die mathematische Theoreme mit Unterstützung eines Programmierers beweisen sollen .
  • Computer Vision – Algorithmen zur Identifizierung dreidimensionaler Objekte aus einem zweidimensionalen Bild.
  • Soft Computing , die Verwendung ungenauer Lösungen für ansonsten extrem schwierige Probleme:
    • Maschinelles Lernen – Entwicklung von Modellen, die in der Lage sind, ohne explizite Anweisungen zu lernen und sich anzupassen, indem Algorithmen und statistische Modelle verwendet werden, um Datenmuster zu analysieren und daraus Schlussfolgerungen zu ziehen.
    • Evolutionäres Rechnen – Biologisch inspirierte Algorithmen.
  • Verarbeitung natürlicher Sprache – Entwicklung von Systemen und Algorithmen zur Analyse, zum Verständnis und zur Generierung natürlicher (menschlicher) Sprachen.
  • Robotik – Algorithmen zur Steuerung des Verhaltens von Robotern.

Kommunikation und Sicherheit

Computerarchitektur

  • Rechnerarchitektur – Entwurf, Organisation, Optimierung und Verifizierung eines Computersystems, hauptsächlich bestehend aus CPUs und Speichersubsystemen (und dem Bus, der diese verbindet).
  • Betriebssysteme – Systeme zur Verwaltung von Computerprogrammen und zur Bereitstellung der Grundlage für ein nutzbares System.

Computergrafik

  • Computergrafik – Algorithmen sowohl zur synthetischen Erzeugung visueller Bilder als auch zur Integration oder Veränderung visueller und räumlicher Informationen aus der realen Welt.
  • Bildverarbeitung – Gewinnung von Informationen aus einem Bild durch Computerberechnungen.
  • Informationsvisualisierung – Methoden zur Darstellung und Anzeige abstrakter Daten, um die menschliche Interaktion zur Erkundung und zum Verständnis zu erleichtern.

Gleichzeitige, parallele und verteilte Systeme

  • Parallelrechnen – Theorie und Praxis der simultanen Datenverarbeitung; Datensicherheit in jeder Multitasking- oder Multithread-Umgebung.
  • Parallelverarbeitung (Informatik) – Rechnen mit mehreren gleichzeitig ausgeführten Threads, Entwicklung von Algorithmen zur Problemlösung auf verschiedenen Prozessoren, um im Vergleich zur sequenziellen Ausführung eine maximale Beschleunigung zu erzielen.
  • Verteiltes Rechnen – Rechnen mit mehreren Rechengeräten über ein Netzwerk, um ein gemeinsames Ziel oder eine gemeinsame Aufgabe zu erreichen und dadurch die Latenz zu reduzieren, die bei der Bearbeitung einer Aufgabe durch einen einzelnen Prozessor entsteht.

Datenbanken

Übersicht der Datenbanken

Programmiersprachen und Compiler

Wissenschaftliches Rechnen

Softwareentwicklung

Überblick über die Softwareentwicklung

  • Formale Methoden – Mathematische Ansätze zur Beschreibung und zum Schlussfolgern über Software-Design.
  • Software-Engineering – Die Prinzipien und Praktiken des Entwerfens, Entwickelns und Testens von Programmen sowie die entsprechenden Engineering-Praktiken.
  • Algorithmenentwicklung – Ideen aus der Algorithmentheorie nutzen, um kreative Lösungen für reale Aufgaben zu entwickeln.
  • Computerprogrammierung – Die Praxis, eine Programmiersprache zur Implementierung von Algorithmen zu verwenden.
  • Mensch-Computer-Interaktion – Die Erforschung und Gestaltung von Computerschnittstellen, die von Menschen genutzt werden.
  • Reverse Engineering – Die Anwendung der wissenschaftlichen Methode zum Verständnis beliebiger bestehender Software.

Theorie der Berechnung

Geschichte

Berufe

Daten und Datenstrukturen

Programmierparadigmen

Siehe auch