Skip to main content
main-content

Über dieses Buch

Das Buch bietet eine umfassende und praxisorientierte Einführung in die wesentlichen Grundlagen und Konzepte der Informatik. Es umfasst den Stoff, der typischerweise in den ersten Semestern eines Informatikstudiums vermittelt wird, vertieft Zusammenhänge, die darüber hinausgehen und macht sie verständlich. Die Themenauswahl orientiert sich an der langfristigen Relevanz für die praktische Anwendung. Praxisnah und aktuell werden die Inhalte für Studierende der Informatik und verwandter Studiengänge sowie für im Beruf stehende Praktiker vermittelt.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Einführung

Der Begriff Informatik stammt ursprünglich aus einer Veröffentlichung von Karl Steinbuch aus dem Jahr 1957 [Ste57]. In der deutschen Sprache verbreitet hat er sich erst seit 1968 auf Vorschlag des damaligen Forschungsministers Gerhard Stoltenberg, in Anlehnung an den 1962 von dem französischen Ingenieur Philippe Dreyfus geprägten Begriff informatique. Im englischen Sprachraum spricht man meist von Computer Science, also „Computer-Wissenschaft“.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 2. Nachricht und Information

„Nachricht“ und „Information“ sind zentrale Begriffe der Informatik, die intuitiv sowie aus der Erfahrung heraus vertraut sind. Während man eine „Nachricht“ als etwas Konkretes begreifen kann, ist dies mit der darin enthaltenen Information jedoch nicht ohne weiteres möglich.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 3. Codierung

Wesentlich bei der Speicherung und Übertragung von Nachrichten ist eine dem Problem angepasste Darstellung der Nachricht. Gegeben seien ein Nachrichtenraum A* (die Quelle) über einem Alphabet A = {a 1 ,a 2 ,…,a n } und ein Nachrichtenraum B* (das Ziel) über einem Alphabet B = {b 1 ,b 2 ,…,b m }. Eine umkehrbar eindeutige Abbildung von A* in B* (es braucht also nicht die gesamte Menge B* erfasst zu werden) heißt Codierung C [Ber74, Ham87, Wil99].
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 4. Verschlüsselung

Zu allen Zeiten strebte man danach, Informationen zuverlässig und vertraulich über unsichere Kanäle zu senden. Übermittelt beispielsweise Alice eine unverschlüsselte Nachricht an Bob, so könnte eine unbefugte Person, vielleicht Cleo (oft auch Mallory), diese Nachricht abfangen, mitlesen und eventuell auch unbemerkt verändern. Cleo könnte sogar eine erfundene Nachricht an Bob senden und vorgeben, Alice zu sein.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 5. Computerhardware und Maschinensprache

Die wesentlichen Komponenten von Rechenanlagen bzw. Computern (siehe Kap. 1.3) sind die Zentraleinheit (Central Processing Unit, CPU), der Speicher (Memory) für Programme und Daten, Peripheriegeräte sowie Busse zur Verbindung der Komponenten. Diese bestehen im Wesentlichen aus elektronischen Schaltungen mit komplexen integrierten Schaltkreisen (Chips) die ihrerseits aus Transistoren und weiteren Bauelementen aufgebaut sind.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 6. Rechnerarchitektur

Computer sind im Wesentlichen aus den in Kap. 5 vorgestellten Einzelkomponenten aufgebaut. Abhängig vom Anwendungsgebiet gibt es verschiedene Faktoren, die den Entwurf der Hardware eines Computers beeinflussen. Einflussfaktoren sind immer der Stückpreis, die Rechenleistung (z. B. durchgeführte Befehle pro Sekunde), die Leistung der Ein- und Ausgabegeräte (Datenmenge pro Sekunde), die Zuverlässigkeit, der Stromverbrauch sowie die Abwärme.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 7. Rechnernetze

Rechnernetze sind allgegenwärtig: Jedes Smartphone ist meistens mit dem Internet verbunden. Viele Haushalte verfügen über ein eigenes WLAN über das die Tablet-Computer, Fernseher und andere Unterhaltungselektronik untereinander und mit dem Internet kommunizieren. Jedes größere technische Gerät enthält ein oder mehrere Rechnernetze über welche die verbauten Steuergeräte kommunizieren. Ein modernes Auto enthält Bussysteme wie MOST, FlexRay oder verschiedene Varianten des CAN-Busses [Zim10], auch über Ethernet wird dort nachgedacht. In Gebäuden sind Bussysteme wie KNX oder DALI verbaut und erlauben intelligente Gebäudetechnik.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 8. Betriebssysteme

Die Bedienung und Programmierung von Computern ist auf Maschinenebene unanschaulich und kompliziert. Insbesondere der Datenaustausch zwischen Speicher, Prozessor und Peripherie kann sich aufwendig gestalten. Letztlich müssen ja auch so profane und in keiner Weise problembezogene Details programmiert werden, wie etwa die Bewegung des Schreib-/Lesekopfes eines Festplatten-Laufwerks. Die Hauptaufgabe von Betriebssystemen (Operating Systems) ist die Verwaltung der Hardware-Betriebsmittel (CPU-Zeit, Hauptspeicher, Dateien, etc.) des Computers sowie die Entlastung des Benutzers durch Übernahme von Standard-Funktionen, beispielsweise zur Druckersteuerung, Datenspeicherung oder Tastaturabfrage.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 9. Datenbanken

Daten sind wertvoll und langlebig: Die Daten über die Lebensversicherung oder den Telefonanschluss eines Kunden existieren eventuell über einen Zeitraum von mehr als 50 Jahren hinweg. Damit arbeitet eine heutige Software mit Daten, die z. B. im Jahre 1964 erfasst wurden. Keine Versicherung und kein Telekommunikationsunternehmen könnte es sich leisten, die Daten aller Kunden neu erfassen zu lassen.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 10. Automatentheorie und formale Sprachen

Unter einem Automaten (automaton) stellt man sich eine Maschine vor, die ihr Verhalten bis zu einem gewissen Grade selbst steuert [Hop11]. Dies könnte beispielsweise ein Kaffeeautomat sein, der in Abhängigkeit von der Produktauswahl durch Drücken von Tasten das gewählte Getränk ausgibt oder auch eine Fehlermeldung, falls der Wasser- oder Kaffeevorrat ausgegangen ist. Für wissenschaftliche Anwendungen ist eine mathematische Präzisierung dieses Begriffs erforderlich.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 11. Algorithmen – Berechenbarkeit und Komplexität

In den vorigen Kapiteln wurde gezeigt, dass die durch einen Computer zu bearbeitenden Aufgaben durch eine endliche Folge elementarer Anweisungen beschrieben werden müssen, und zwar letztlich in Maschinensprache. Eine solche Beschreibung, wie eine Aufgabe auszuführen ist, bezeichnet man als Algorithmus. Der Begriff Algorithmus leitet sich vom Namen des arabischen Gelehrten Al Chwarizmi ab, der um 820 lebte.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 12. Suchen und Sortieren

Dieses Kapitel behandelt zwei der grundlegendsten Verfahren der Informatik, nämlich das Suchen und Sortieren von Daten. Zur Vertiefung wird auf die einschlägige Literatur verwiesen, z. B. [Knu98, Ott12, Sed11, Cor09, Sol08, Pom08, Wir00].
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 13. Bäume und Graphen

Bäume sind eine der wichtigsten Datenstrukturen, die besonders im Zusammenhang mit hierarchischen Abhängigkeiten und Beziehungen zwischen Daten von Vorteil sind. Wie bei linearen Listen handelt es sich um eine dynamische Datenstruktur, die jedoch anders als Felder, Stapel, lineare Listen etc. nichtlinear ist. Bäume sind ein Spezialfall der in Kap. 13.3 behandelten Graphen.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 14. Höhere Programmiersprachen und C

Das bei den ersten Computern erforderliche Programmieren in der binär codierten Maschinensprache des betreffenden Mikroprozessors war äußerst mühsam. Daher hat man schon bald gut merkbare Abkürzungen (mnemonische Codes) für die erforderlichen Operationen verwendet. So entstanden die in Kap. 5.5 erläuterten Assemblersprachen als die ersten maschinennahen Sprachen.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 15. Objektorientierte Programmiersprachen und Java

Mitte der 1960er Jahre begann die Entwicklung der ersten objektorientierten Sprache durch J. O. Dahl und K. Nygaard in Norwegen. Die entstandene Sprache Simula hatte das Ziel Simulationen programmieren zu können, z. B. von physikalischen Prozessen. Simula 67 war die erste auf verschiedenen Großrechnern verfügbare Version dieser Sprache.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 16. Anwendungsprogrammierung im Internet

Benutzer von Internet-Anwendungen sind räumlich verteilt, teilweise weltweit. Daten dieser Systeme werden aber zentral an einer oder an wenigen Stellen verwaltet, auch um diese konsistent zu halten. Ein System, das dieses Zusammenspiel von verteilten Benutzern aber zentral verwalteten Daten unterstützt, ist ein Client-Server-System. Die Benutzer haben die verteilten Clients und greifen auf einen oder wenige zentrale Server zu. Typische Server sind die Server eines DBMS, Webserver oder Mailserver.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Chapter 17. Software-Engineering

Im Jahr 1997 schlug erstmalig ein Computer namens Deep Blue (IBM) einen amtierenden Schachweltmeister unter Turnierbedingungen. Herr Kasparov hat eigentlich nicht gegen den Computer verloren. Er verlor gegen die vielen Ingenieure, welche die Schach-Software programmiert haben [Wei13]. Weigelt stellt mit diesem schönen Beispiel klar, dass hinter den vielen Systemen, die wir heute verwenden, letztlich Ingenieure stehen, welche in diese Systeme ihre willkürliche Sicht der Dinge mehr oder weniger gut programmiert haben.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken

Backmatter

Weitere Informationen

Premium Partner

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.

Whitepaper

- ANZEIGE -

Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!

Bildnachweise