Skip to main content
Top

2023 | Book

Grundkurs Informatik

Grundlagen und Konzepte für die erfolgreiche IT-Praxis – Eine umfassende Einführung

insite
SEARCH

About this book

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.

Praxisnah und aktuell werden die Inhalte für Studierende der Informatik und verwandter Studiengänge sowie für im Beruf stehende Praktiker vermittelt.

Table of Contents

Frontmatter
Kapitel 1. Einführung
Zusammenfassung
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
Kapitel 2. Nachricht und Information
Zusammenfassung
„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
Kapitel 3. Codierung
Zusammenfassung
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 = \left\{ {a_{1} ,\,a_{2} ,\, \ldots ,\,a_{n} } \right\}\) und ein Nachrichtenraum \(B^{*}\) (das Ziel) über einem Alphabet \(B = \left\{ {b_{1} ,\,b_{2} ,\, \ldots ,\,b_{m} } \right\}\). 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
Kapitel 4. Verschlüsselung
Zusammenfassung
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
Kapitel 5. Computerhardware und Maschinensprache
Zusammenfassung
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
Kapitel 6. Rechnerarchitektur
Zusammenfassung
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: 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. Diese Faktoren sind in den Anwendungsfeldern verschieden stark gewichtet.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 7. Rechnernetze
Zusammenfassung
Rechnernetze sind allgegenwärtig: Jedes Smartphone ist meistens mit dem Internet verbunden. Die meisten Haushalte verfügen über ein eigenes WLAN, über das die Tablet-Computer, Fernseher und andere Unterhaltungselektronik untereinander und mit dem Internet kommunizieren. Zunehmend ist auch die Gebäudetechnik darüber erreichbar, beispielsweise die Beleuchtung, die Sicherheitstechnik oder die Regelung der Heizung. Zunehmend befindet sich jeder Haushaltsgegenstand im Internet-of-Things (IoT) [Ash11].
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 8. Betriebssysteme
Zusammenfassung
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 Details programmiert werden, wie die Bewegung des Schreib-/Lesekopfes eines Festplatten-Laufwerks.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 9. Höhere Programmiersprachen und C
Zusammenfassung
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. Die Übertragung in ein lauffähiges Maschinenprogramm erfolgt durch ein als Assembler bezeichnetes Hilfsprogramm.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 10. Objektorientierte Programmiersprachen und Java
Zusammenfassung
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
Kapitel 11. Automatentheorie und formale Sprachen
Zusammenfassung
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
Kapitel 12. Algorithmen – Berechenbarkeit und Komplexität
Zusammenfassung
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
Kapitel 13. Suchen und Sortieren
Zusammenfassung
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, Ott17, Sed11, Cor22, Sol17, Pom08, Wir00].
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 14. Datenstrukturen, Bäume und Graphen
Zusammenfassung
Seit sich die strukturierte Programmierung als Strategie bei der Software-Entwicklung durchzusetzen begann (Dijkstra und Hoare, ca. 1970), ging man daran, Programme nach mathematischen Grundsätzen zu analysieren. Im Vordergrund stand dabei zunächst die Struktur und Komplexität der durch Programme dargestellten Algorithmen. Da große und komplexe Programme aber oft auch große und komplexe Datenstrukturen beinhalten, wurde bald deutlich, dass die Methodik des Programmierens Algorithmen und Datenstrukturen gemeinsam betrachten muss.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 15. Software-Engineering
Zusammenfassung
Im Jahr 1997 schlug erstmalig ein Computer namens Deep Blue (IBM) einen amtierenden Schachweltmeister unter Turnierbedingungen [Dee]. Herr Kasparov hat eigentlich nicht gegen den Computer verloren. Er verlor gegen die vielen Ingenieure, welche die Schach-Software programmiert haben [Wei13].
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 16. Datenbanken
Zusammenfassung
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
Kapitel 17. Anwendungsprogrammierung im Internet
Zusammenfassung
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.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Kapitel 18. Maschinelles Lernen: Deep Learning mit neuronalen Netzen
Zusammenfassung
Dieses Kapitel bietet eine kurze Einführung in das immer populärer werdende Gebiet des maschinellen Lernens, mit Fokus auf neuronalen Netzen. Maschinelles Lernen ist ein Teilgebiet der künstlichen Intelligenz (KI), das sich mit Algorithmen befasst, mit denen auf Basis von Beispielen (Trainingsdaten) erwünschtes Verhalten automatisiert vom System erlernt werden kann. Dies ist ein sehr weites Feld, weswegen hier nur auf Grundlagen eingegangen werden kann.
Hartmut Ernst, Jochen Schmidt, Gerd Beneken
Backmatter
Metadata
Title
Grundkurs Informatik
Authors
Hartmut Ernst
Jochen Schmidt
Gerd Beneken
Copyright Year
2023
Electronic ISBN
978-3-658-41779-6
Print ISBN
978-3-658-41778-9
DOI
https://doi.org/10.1007/978-3-658-41779-6

Premium Partner