26,99 €
Sie studieren und müssen sich mit Informatik auseinandersetzen? Dann dürfen Sie sich freuen:
Dieses Buch verschafft Ihnen ? so einfach, schnell und unterhaltsam wie möglich ? einen umfassenden Überblick über die praktische, theoretische und technische Informatik. Sie können das Buch ergänzend zur Vorlesung oder zum Selbststudium nutzen. Der Autor kennt die typischen Probleme der Studierenden. Überwinden Sie Ihre Scheu vor Formalismen. Entdecken Sie den Reiz der Computerwissenschaften! Dies ist das perfekte Buch für den Einstieg in die Informatik.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1373
Veröffentlichungsjahr: 2023
Informatik für Dummies. Das Lehrbuch
Bezeichnung
Menge
Anzahl an Bytes
1 Kibibyte
1024 Bytes
1.024 Bytes
1 Mebibyte
1024 Kibibytes
1.048.576 Bytes
1 Gibibyte
1024 Mebibytes
1.073.741.824 Bytes
1 Tebibyte
1024 Gibibytes
1.099.511.627.776 Bytes
1 Pebibyte
1024 Tebibytes
1.125.899.906.842.624 Bytes
1 Exbibyte
1024 Pebibytes
1.152.921.504.606.846.976 Bytes
1 Zebibyte
1024 Exbibytes
1.180.591.620.717.411.303.424 Bytes
1 Yobibyte
1024 Zebibytes
1.208.925.819.614.629.174.706.176 Bytes
Binärdarstellung
Hexadezimaldarstellung
Binärdarstellung
Hexadezimaldarstellung
0000
0
1000
8
0001
1
1001
9
0010
2
1010
A
0011
3
1011
B
0100
4
1100
C
0101
5
1101
D
0110
6
1110
E
0111
7
1111
F
IEEE-75 4
32-Bit-Zahlen (float)
64-Bit-Zahlen (double)
Mantisse
23
52
Exponent
8
11
Bias
127
1023
kleinster Wert des Exponenten
−126
−1022
größter Wert des Exponenten
127
1023
Wert
Zeichen
Wert
Zeichen
Wert
Zeichen
Wert
Zeichen
0
NULL-Zeichen
32
64
@
96
'
1
Beginn Kopfzeile
33
!
65
A
97
a
2
Beginn Text
34
“
66
B
98
b
3
Textende
35
#
67
C
99
c
4
Ende der Übertragung
36
$
68
D
100
d
5
Anfrage
37
%
69
E
101
e
6
Bestätigung
38
&
70
F
102
f
7
Klingel
39
‘
71
G
103
g
8
40
(
72
H
104
h
9
41
)
73
I
105
i
10
Zeilenvorschub
42
*
74
J
106
J
11
Vertikaltabulatur
43
+
75
K
107
k
12
Seitenvorschub
44
,
76
L
108
l
13
Wagenrücklauf
45
-
77
M
109
m
14
Breitschrift
46
78
N
110
n
15
Enge Schrift
47
/ »slash«
79
O
111
o
16
Verbindungssteuerung
48
0
80
P
112
p
17
Gerätekontrolle 1
49
1
81
Q
113
q
18
Gerätekontrolle 2
50
2
82
R
114
r
19
Gerätekontrolle 3
51
3
83
S
115
s
20
Gerätekontrolle 4
52
4
84
T
116
t
21
keine Bestätigung
53
5
85
U
117
u
22
Synchronisierter Leerlauf
54
6
86
V
118
v
23
Ende des Übertragungsblocks
55
7
87
W
119
w
24
Abbruch
56
8
88
X
120
x
25
Ende des Mediums
57
9
89
Y
121
y
26
Ersetzen
58
:
90
Z
122
z
27
59
;
91
[
123
{
28
Dateitrennzeichen
60
<
92
\ »Backslash«
124
|
29
Gruppentrennzeichen
61
=
93
]
125
}
30
Aufnahmetrennzeichen
62
>
94
^
126
˜ »Tilde«
31
Einheiten Trennzeichen
63
?
95
_ »Unterstrich«
127
Datentyp
Größe in Bytes
Kleinste Zahl
Größte Zahl
char
1
–128
127
unsigned char
1
0
255
short
2
–32768
32767
unsigned short
2
0
65535
int
4
–32768
32767
unsigned int
4
0
65535
long
8
–32768
32767
unsigned long
8
0
65535
Datentyp
Größe in Bytes
Kleinste Zahl größer als null
Größte Zahl
float
4
double
8
Art der Ableitung \ Zugriffsklasse
publicelement;
protectedelement;
privateelement;
classB: publicA
public
protected
Kein Zugriff
classB: protectedA
protected
protected
Kein Zugriff
classB: privateA
private
private
Kein Zugriff
C-Operatoren, dem Rang nach geordnet, von der stärksten Bindung bis zur schwächsten
[] . () -> ++ -- (hinter dem Bezeichner)
! ∼ & * (Dereferenzierung) ++ -- (vor dem Bezeichner)
/ % * (Multiplikation)
+ -
<< >>
< <= > >=
== !=
&
^
|
&&
||
?:
= += -= *= /= %= &= ^= |= <<= >>=
Informationsgehalt I eines Zeichens z:
Entropie H einer Quelle Q:
Informatik für Dummies. Das Lehrbuch
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
2. Auflage 2024
© 2024 Wiley-VCH GmbH, Boschstraße 12, 69469 Weinheim, Germany
All rights reserved including the right of reproduction in whole or in part in any form. This book published by arrangement with John Wiley and Sons, Inc.
Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Dieses Buch wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto: gonin – stock.adobe.comKorrektur: Claudia Lötschert
Print ISBN: 978-3-527-72024-8ePub ISBN: 978-3-527-84036-6
Ernst Georg Haffner studierte Informatik und Mathematik an der Universität in Kaiserlautern mit Schwerpunkt Künstliche Intelligenz. Er erwarb das Diplom der Informatik im Bereich Lernende Systeme. Nach einigen Jahren Industrieerfahrung arbeitete er als wissenschaftlicher Mitarbeiter am Institut für Telematik an Sicherheitslösungen im Internet. Mit Themen zu intelligenten Webapplikationen wurde er an der Universität Trier promoviert. Seit 2002 lehrt und forscht er als Professor für Mathematik und Informationstechnik im Fachbereich Technik an der Hochschule Trier.
Cover
Titelblatt
Impressum
Über den Autor
Inhaltsverzeichnis
Einführung
Zu diesem Buch
Konventionen in diesem Buch
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Symbole in diesem Buch
Wie es weitergeht
Teil I: Informatik zum Verlieben
Kapitel 1: Informatik im Schnelldurchlauf
Mathematik der Information
Pandoras Büchse
Evolution einer fantastischen Idee
Praktische Theorien in der Informatik
Gigantische Möglichkeiten der Technik
Denkende Computer
Kapitel 2: Was die Informatik im Inneren zusammenhält
Einblicke und Ausblick
Säulen der Softwaretechnik
Wechselseitige Impulse durch Hardware und Software
Disziplinen der Informatik
Kapitel 3: Im Dschungel von Bits und Bytes
Hochgeschwindigkeitstechnik im Kleinstformat
Atemberaubende Speichermöglichkeiten
Die Welt in Zahlen
Von Maschinensprache zu Hochsprache
Übersetzen und Interpretieren
Steuern und Regeln
Kapitel 4: Wie Informatiker denken
Logische Vorschriften
Öffentlich, aber diskret
Teilen und herrschen
Rekursiv statt zurück
Nerds am Werk
Zeitloses von nutzlosem Wissen unterscheiden
Teil II: Schöne neue digitale Welt
Kapitel 5: Fingertechnik
Alles wird digital
Warum zwei Werte reichen
Bitte ein Byte!
Textwerte ermitteln
Malen statt Zahlen
Konvertierung von Dezimalzahlen in Binärzahlen
Hex hex!
Rechnen im Dualsystem
Festpunkt und Fließkomma
Kapitel 6: Heilen mit boolescher Algebra
Allheilmittel Algebra
Logische Verknüpfungen
Gesetze und Regeln
Stunde der Wahrheitstabellen
Digitale Vergatterung
Basis und Komposition
Stolpersteine der booleschen Algebra
Kapitel 7: Schalten und Walten
Entwurfsprobleme spielend lösen
Funktionen in Wahrheitstafeln
Normale Formen
Don't care? Ist mir doch egal!
Minimierung von Termen
Kapitel 8: Fangen mit Schaltnetzen
Durchblick in Schaltungen
Lustige Symbole
Decodiernetzwerke
Multiplexer ohne Komplexe
Komparator für Dualzahlen
Halb- und Volladdierer
Gatterlaufzeiten
Klitschige Glitches
Kapitel 9: Schaltwerke der Menschheitsgeschichte
Schmerzfreie Rückkopplungen
Zustände wie bei den Graphen
Kritische Läufe
Flanken ohne Tore
Familie der Flipflops
Zähler mit Flipflops
Schiebung in den Registern
Kapitel 10: Mikroprogramme im Land der Automaten
Synchrone Automaten
Entwurf von Schaltwerken
Steuern für ein gutes Werk
Mikroprogramme als Meisterwerke
Teil III: Besichtigung der Maschinenhalle
Kapitel 11: EVA und die Vertreibung aus dem Paradies
Digitale Kernspaltung
Eingabe, Verarbeitung und Ausgabe
Rechnerarchitektur von Neumann
Komponenten eines modernen Computers
Spannung zwischen Zentrale und Peripherie
Kapitel 12: Alle Macht der Zentraleinheit
Kein Prozess ohne Prozessor
Steuern für ein gutes Werk
Konstruktion aus ALU
Registerspeicher mittendrin
Die Fäden laufen zusammen
Laden
Programme mit System
An den Start – es geht los!
Kapitel 13: Speicher im ganzen Haus
Komische Speichertypen
Speicher für die Massen
Kapitel 14: Mit dem Bus zum BIOS
Organisation von Ein- und Ausschaltvorgängen
Unterbrechungen mit Interrupts
Fit trotz Ablaufinvarianz
Schnittstellen ohne Verletzungen
Eingabegeräte
Ausgabegeräte
Kapitel 15: Cache me if you can
Risiken reduzieren mit RISC
Pipelines ohne Öl
Parallele Welten
Cache bringt Cash
Architekturen der Zukunft – ein Blick in die Glaskugel
Teil IV: Sprachen für Computer
Kapitel 16: Warum alles so kompliziert ist
Fallstricke menschlicher Sprache
Maschinenlesbares Kauderwelsch
Assemblercode zum Abgewöhnen
Unterprogramme
Gipfel erklimmen mit Hochsprachen
Kapitel 17: Programmiersprachen und Werkzeuge
Programmieren als Kunstform
Interpreter ohne Spielraum
Programme, die Programme schreiben
Werkzeuge zum Übersetzen
Ein bunter Strauß von Programmiersprachen
Kapitel 18: Bestandteile einer Programmiersprache
Backus-Naur-Kuchenform
Bezeichner und Konstanten
Operatoren
Gleich ist nicht gleich gleich
Atomare Datentypen
Kontrollstrukturen, so weit das Auge reicht
Erlaubte Ausdrücke
Ausnahmsweise eine Exception
Strings und Tangas
Ein Strom von Streams
Argumente und Parameter
Kapitel 19: Auf was Sie beim Programmieren achten sollten
Reusability Reusability Reusability
Abstraktion als Universalwaffe
Wert eines Ausdrucks und Seiteneffekt
Ende des Arrays
Gefährliche Zeiger
Ressourcensparende Apps
Kapitel 20: Programme entwickeln mit System
Entwickeln in behaglicher Umgebung
Bibliotheken ohne Bücher
APIs effektiv nutzen
Design-Patterns für Apps
Lebenszyklus eines Programms
Teil V: C und andere Vitamine
Kapitel 21: Wer A sagt, muss auch C sagen
Das kleine A-B-C
Programmaufbau in C
Das sind Argumente
Musterbeispiel verstehen
Zeigerzauberwelt
Kapitel 22: C als Muttersprache
Atomare Datentypen
Operationen mit Operatoren
Ein weites Feld von Arrays und Structures
Zeichen in Ketten legen
Kontrollstrukturen
Mit Dateien arbeiten
Standardkanäle
Kapitel 23: Fiese Tricks in ANSI C
Spiel mit den Pointern
Warum kurz, wenn es noch kürzer geht?
Zeiger und Felder
C für flinke Finger
Dynamisch trotz static
Fehler auf dem Behandlungsstuhl
Kapitel 24: Abheben mit C++
Objekte und Klassen
Die Sache hat Methode
Vererbungslehre
Operatoren überladen
Ein- und Ausgabe neu ordnen
Strings zum Verlieben
Streams und Stringstreams
Ein Königreich für ein Template
Öffnungszeiten der Standardbibliothek
Werfen und Fangen: Ausnahmebehandlung
Virtuelle Methoden
Polymorphie und ihre Heilungschancen
Teil VI: Eruption aus Java
Kapitel 25: Heißer Kaffee
Java für alle
Virtuelle Maschinen
Bezeichner und Variablen
Nicht einwickeln lassen
Kontrolle mit Struktur
Kapitel 26: Felder und mehr
Arrays
Iteration und Rekursion
Grafische Komponenten
Kapitel 27: Klasse Klassen
Objekte der Begierde
Kapseln mit Methode
Von Face zu Interface
Abstrakte Basisklassen
Casting von Typen
Vergleichen und Kopieren
Kapitel 28: Sammeln für Java
Collections verwenden
Mit Iteratoren klettern
Exceptions sinnvoll behandeln
Zugesicherte Assertions
Teil VII: Python – lassen Sie sich umschlingen
Kapitel 29: Pythonisch für Anfänger
Python und andere Schlangen
Grundlagen von Python
Unser erstes (richtiges) Python-Programm
Die wichtigsten Datentypen von Python
Kapitel 30: Die bunte weite Welt von Python
Umfassend begreifen
Zeichen in Ketten legen
Funkensprühende Funktionen
Ausnahmen in Python
Generatoren und Factory Functions
Oh weh – jetzt geht's um OOP
Kapitel 31: Python aus dem Körbchen locken
Module managen
Kapitel 32: Schlangenbeschwörer werden
Zeitmessungen
Die C-Extension von Python
Teil VIII: Datenstrukturen und Algorithmen für die Ewigkeit
Kapitel 33: Algorithmen für den Hausgebrauch
Systematik von Programmen
Teile und herrsche!
Zauberkraft durch Rekursion
Türme von Hanoi
Euklid & Co
Analyse von Algorithmen ohne Komplexe
O-Ton der O-Notation
Kapitel 34: Elementare Datenstrukturen
Abstrakte Datentypen
Listige Listen
Stacks im Keller
Schlängelnde Queues
Doppelt gemoppelte Deques
Klang der Strings
Kapitel 35: Tabellen für alle Einsatzzwecke
Struktur von Tabellen
Sequenzielle Suche
Binäre Suche
Sortierverfahren
Für die ganz Eiligen: Quicksort
Völlig legal: HashTables
Hashing ohne Kollisionen
Kapitel 36: Wald und Bäume überblicken
Äste an Wurzeln
Binärbäume für die Informatiker
Traversierung als Spaziergang
Ordnung in den Laden bringen
Früchte der Syntaxbäume
Entscheidungsbäume
Kapitel 37: Jede Menge Graphen
Graphen vor Gericht
Erforschung von Graphen
Schmerzlose Adjazenz
Planierte Graphen
Langer Weg zum kürzesten Graphen
Teil IX: Computerarchitektur als Gesamtkunstwerk
Kapitel 38: Betriebssysteme
Rechte und Pflichten
Administratoren und DAUs
Prominente Vertreter
Ordnerstrukturen für Dateien
Tasks den Prozess machen
Nadel und Threads
Virtuelle Echtzeitanforderungen
Betriebssysteme für Handys und Tablets
Kapitel 39: Architektur von Software
Architekten für Programme
Gebäude mit drei Stockwerken
Anforderungsanalysen
Lasten- und Pflichtenhefte
Modellieren mit UML
Vorgehensmodell zur Softwareentwicklung
Agile Softwareentwicklung
Kapitel 40: Datenbanksysteme
Bank für Daten
Relationale Datenbanksysteme
SQL im Crashkurs
Offene Quellen
Teil X: Künstliche Intelligenz gegen natürliche Dummheit
Kapitel 41: Führung durch die Asservatenkammer
Cyborgs auf der Spur
Wissen ohne Gewissen
Planen und Entscheiden
Musteranalyse und -erkennung
Intelligente Agenten oder Suche oder was?
Künstliche Wesen mit eigenem Bewusstsein
Kapitel 42: Spielend suchen und finden
Aufspüren mit GPS
Bergsteiger-Methode
Heuristische Suche im Heu
Navigieren zu den Sternen mit dem A*-Algorithmus
Spaß mit MINIMAX und Moritz
Beschneidungen von Alpha bis Beta
Kapitel 43: Lärmende Systeme
Maschinelles Lernen
Inferenz ohne Sperenzien
Landung auf der Wissensbasis
Induktive und deduktive Methoden
Rauschen im Datenwald
Lernen mit Konzept
Entscheiden lernen mit Bäumen
Lernen ohne Lehrer
Kapitel 44: Expertensysteme für Profis
Prolog
Expertenwissen
Diagnosen vom Elektronenhirn
Fallbasiertes Schließen
Vorhersagen treffen und reich werden
Kapitel 45: Kunstvolle neuronale Netze
Kopieren geht über Studieren
Vorwärts zu den verketteten Netzen
Rosenblatts Theorem
Fortschritt durch Backpropagation
Die Macht der Rückkopplungen
Grenzenlose Anwendungsfelder
Teil XI: Im Netz der Netze
Kapitel 46: Ganz nach Protokoll
Militärische Ideen
Tanz um die Redundanz
Schichten und Geschichten
Hubs, Switches und Router
Übersicht der wichtigsten Dienste
Kapitel 47: Gestalten und Gestaltung im Web
Webtechnologie für Insider
HTML bis XML
Unbegrenzte Möglichkeiten
Kapitel 48: Skriptsprachen
Geschälte Shell-Skripte
Kein bisschen umständlich: AWK
Perlentauchen mit Perl
Siegeszug von PHP
JavaScript
Vergessen Sie die Schlange nicht!
Kapitel 49: Socket- und Thread-Programmierung
Spaß mit Client und Server
Socken für die Sockets
Prozesse und Threads
Schutz durch Mutexe
POSIX-Standard
Eine eigene Bank bauen
Kapitel 50: Durchblick und Ausblick
Vom Web getrieben
Ad hoc statt lang geplant
Big Data für Big Brother
Im Nebel der Cloud
Weltweite Aussichten
Teil XII: Die praktischen Seiten der theoretischen Informatik
Kapitel 51: Komprimierte Information
Dreiklang der Information
Transportieren und speichern
Sinnfreies Messen von Information
Gehalt für Entscheidungen
Entropie als Theorie der Unordnung
Kompressen ohne Mull
Optimale Codes
Kapitel 52: Formulare für formale Sprachen
Alphabet und Grammatik
Endliche Automaten und Sprachen
Reguläre Sprachen
Immer den Kontext beachten
Pumpen für den Beweis
Freiheit für den Kontext
Kapitel 53: Logik und Korrektheit für Informatiker
Logische Aussagen
Prädikat wertvoll
Armer Gödel
Korrektheit von Programmen
Formale Verifikation ohne Schmerzen
Kapitel 54: Theorie für Unberechenbare
Algorithmen entschlüsseln
Anwerfen der Turing-Maschine
Berechenbare Turing-Programme
Halteproblem ohne Züge
Kapitel 55: Mittel gegen theoretische Komplexe
P wie praktische Probleme
SAT-Probleme bei bestem Empfang
Ganz bestimmt nicht-deterministisch
Ein schwerer Rucksack
Händler auf der Reise
Cooks Geniestreich
NP-Vollständigkeit und der Gral der Weisheit
Teil XIII: Top Secret
Kapitel 56: Risiken und Manager
Grundfeste der Informationssicherheit
CIA-Triade
Ganz sichere Fakten über Risiken
Risikolebenszyklus
Wichtige Rollen und Dokumente
Information Security Policy
Internationale Sicherheitszertifizierungen
Kapitel 57: Angriffsarten und Schutzmaßnahmen
Offene und verborgene Bedrohungen
Einbrecher ohne Handschuhe
Soziales Hacken und Phishing
Der Mann in der Mitte und andere Angriffsmöglichkeiten
Technische Problemzonen
Protokollschwächen
Protokolle mit »S«
Per Tunnel in die Sicherheit
WLAN ohne böse Überraschung
Kapitel 58: Vierbeiniger Besuch aus Troja
Kleinstlebewesen in der Informatik
Funktionsprinzip der Viren
Infektionsarten
Gemeine Viren
Rasende Würmer
Pferde, die keine sind
Spam, Spam, Spam
Antiviren als Antikörper
EICAR-Test positiv
Logische Bomben
Kapitel 59: Alice und Bob im Wunderland der Zahlen
Dieser Abschnitt ist geheim
Wfstdimvfttfmvohtwfsgbisfo
Symmetrische Klassiker
One Time Pad
Paradox: Sichere Kommunikation über unsicheren Kanal
Aufbau von Kryptosystemen
Kapitel 60: Wände gegen Feuer
Moderne Sicherheitsinfrastrukturen
Filteranlage für Pakete
Besuch beim Statusinspektor
Stellvertreter-Systeme für und gegen alles
Eindringlinge geschickt identifizieren
Teil XIV: Der Top-Ten-Teil
Kapitel 61: (Fast) Zehn bedeutende Meilensteine der Informatik
Eine sehr, sehr alte Rechenmaschine
Die digitale (Zeit-)Rechnung beginnt
Der wirklich erste Computer
Was wirklich berechenbar ist
Spielend voranschreiten
Personal Computer erobern die Welt
Fenster und Mäuse
Im Netz der Netze
Die mobile Revolution
Sprachmodelle und der Durchbruch der KI
Jetzt sind Sie am Zug!
Kapitel 62: Die zehn schlimmsten Irrtümer der Informatik
1943, Thomas John Watson, Vorstand IBM
1949, John von Neumann, Informatikpionier
1962, Dennis Gabor, Nobelpreisträger für Physik
1977, Ken Olson, Gründer DEC
1979, Ian Sharp, Gründer Sharp Associates
1982, Jan Timmer, Vorstand Philips
1985, Steve Jobs, Gründer Apple
1989, Bill Gates, Gründer Microsoft
1992, Ron Sommer, Vorstand Telekom
1995, Robert Metcalfe, Gründer 3com, Erfinder Ethernet
Ende
Abbildungsverzeichnis
Stichwortverzeichnis
End User License Agreement
Kapitel 2
Tabelle 2.1: Beispielprogramm
Tabelle 2.2: Befehlscodes
Kapitel 3
Tabelle 3.1: Wertetabelle von AND und OR
Tabelle 3.2: Wertetabelle NOT
Tabelle 3.3: Darstellung von OR als Kombination von AND und NOT
Tabelle 3.4: Beispielprogramm
Tabelle 3.5: Assemblercode
Tabelle 3.6: Werteverlauf von
ax
und Eingabe
Kapitel 5
Tabelle 5.1: Gegenüberstellung von analogen und digitalen Anzeigen
Tabelle 5.2: Übersicht binärer Einheiten
Tabelle 5.3: ASCII-Wertetabelle
Tabelle 5.4: Binärdarstellung einiger Zweierpotenzen
Tabelle 5.5: Binärdarstellung der Zahl 1723
Tabelle 5.6: Zifferntabelle für alle Kombinationen aus vier Bits
Tabelle 5.7: Zahlenräume für ausgewählte Stellenzahlen
Tabelle 5.8: Multiplikation von 24 · 75 mit russischer Bauernregel
Tabelle 5.9: Multiplikation von 75 · 24 mit russischer Bauernregel
Tabelle 5.10: Festlegungen der IEEE-Norm 754
Tabelle 5.11: Zahlenraum der IEEE-754 in Dezimalschreibweise
Kapitel 6
Tabelle 6.1: Wahrheitswerte der Konjunktion
Tabelle 6.2: Wahrheitswerte der Disjunktion
Tabelle 6.3: Alle unären booleschen Verknüpfungen
Tabelle 6.4: Wahrheitswerte ausgewählter binärer Verknüpfungen
Tabelle 6.5: Verknüpfungssymbole der booleschen Algebra
Tabelle 6.6: Wahrheitstabelle zum Rechenbeispiel
Tabelle 6.7: NAND und NOR als Basis
Kapitel 7
Tabelle 7.1: Bezeichner für Ein- und Ausgabevariablen
Tabelle 7.2: Muster der Wahrheitstabelle
Tabelle 7.3: Wahrheitstabelle unter Berücksichtigung der »Kindersicherung«
Tabelle 7.4: Wahrheitstabelle nach Berücksichtigung der physikalischen Beschränk...
Tabelle 7.5: Vollständige Wahrheitstabelle
Tabelle 7.6: Initiale Quine-McCluskey-Tabelle nullter Ordnung für y
1
Tabelle 7.7: Quine-McCluskey-Tabelle erster Ordnung
Tabelle 7.8: Quine-McCluskey-Tabelle zur Dominanzprüfung
Tabelle 7.9: Tabelle nach der Zeilendominanzprüfung
Kapitel 8
Tabelle 8.1: Wertetabelle für Auswahlnetz von vier Ausgängen
Tabelle 8.2: 1-Bit-Komparator-Wahrheitstabelle
Tabelle 8.3: Maßeinheiten für sehr kleine Zahlen
Kapitel 10
Tabelle 10.1: Mikroprogramm eines seriellen 4-Bit-Addierers
Tabelle 10.2: Fortgeschrittenes Mikroprogramm eines seriellen 4-Bit-Addierers
Kapitel 12
Tabelle 12.1: Registerspeicher für die Programmvariablen
Kapitel 13
Tabelle 13.1: Wahrheitstabelle bei Einzelbit-Adressierung
Tabelle 13.2: Wahrheitstabelle bei 8-Bit-Adressierung
Kapitel 16
Tabelle 16.1: Beispiel einer Mapping-Tabelle
Tabelle 16.2: Speicherorte der Variablen
Kapitel 18
Tabelle 18.1: Übersicht der wichtigsten funktionalen Konzepte
Kapitel 22
Tabelle 22.1: Atomare Datentypen in C
Tabelle 22.2: Zahlenbereiche der ganzzahligen Datentypen in C
Tabelle 22.3: Zahlenbereiche der Gleitkommazahlen-Datentypen in C
Tabelle 22.4: Funktionen zum Umgang mit Strings in C
Kapitel 23
Tabelle 23.1: Vorrang in C-Operatoren
Kapitel 24
Tabelle 24.1: Zugriff der abgeleiteten Klasse auf Elemente der Basisklasse
Kapitel 25
Tabelle 25.1: Auswahl an Wrapper-Klassen in Java
Kapitel 28
Tabelle 28.1: Übersicht wichtiger Collection-Klassen
Kapitel 33
Tabelle 33.1: Komplexitäten von Algorithmen
Kapitel 34
Tabelle 34.1: ADT Lineare Liste
Tabelle 34.2: ADT Stack
Tabelle 34.3: ADT Queue
Tabelle 34.4: ADT Deque
Tabelle 34.5: ADT String
Kapitel 35
Tabelle 35.1: Hashwerte modulo 100 – Beispiele
Kapitel 39
Tabelle 39.1: UML-Diagrammtypen
Kapitel 43
Tabelle 43.1: Beispiele und Gegenbeispiele für »Amseln« als Konzept
Kapitel 45
Tabelle 45.1: Wahrheitswerte der Konjunktion (AND)
Kapitel 46
Tabelle 46.1: Liste der sieben wichtigsten TCP-Dienste
Kapitel 51
Tabelle 51.1: Mögliche Codierung von Q
Tabelle 51.2: Unzulängliche Codierung für Q
Tabelle 51.3: Eine neue, präfixfreie Codierung für Q
Tabelle 51.4: Zeichen sortiert nach relativer Häufigkeit
Tabelle 51.5: Verfahren zum Finden der Trennlinie im Shannon-Fano-Algorithmus
Tabelle 51.6: Die resultierende Shannon-Fano-Codierung für Q
Tabelle 51.7: Zeichen sortiert nach relativer Häufigkeit
Kapitel 53
Tabelle 53.1: Suche nach der Schleifeninvariante
Kapitel 54
Tabelle 54.1: Turing-Programm
Kapitel 55
Tabelle 55.1: Vollständige Wahrheitstabelle
Kapitel 57
Tabelle 57.1: Unsichere und sichere Protokolle
Kapitel 58
Tabelle 58.1: Klassifikation von Malware
Kapitel 59
Tabelle 59.1: Zuordnung von Buchstaben zu ihrer Position im Alphabet
Tabelle 59.2: Erweiterte Zuordnung von Buchstaben zu ihrer Position im Alphabet
Tabelle 59.3: Verschlüsselung von INFORMATIK mit SONNE
Tabelle 59.4: Entschlüsselung von BCTCWFPHGP mit SONNE
Tabelle 59.5: Erste S-Box des DES
Tabelle 59.6: Verschlüsselung der »Dummies«
Tabelle 59.7: Verschlüsselung von »Niemals«
Kapitel 60
Tabelle 60.1: Beispiel zweier Firewall-Regeln
Kapitel 2
Abbildung 2.1: Bedeutung der Schnittstelle für die Programmentwickl...
Abbildung 2.2: Abhängigkeit von Software und Hardware
Kapitel 3
Abbildung 3.1: Serienschaltung – AND-Verknüpfung
Abbildung 3.2: Parallelschaltung – OR-Verknüpfung
Kapitel 4
Abbildung 4.1: Ausgangslage
Abbildung 4.2: Türme von Hanoi mit vier Scheiben
Abbildung 4.3: Umsetzen von drei Scheiben von A nach B
Abbildung 4.4: Versetzen der Scheibe von A nach C
Kapitel 5
Abbildung 5.1: Analoges Signal
Abbildung 5.2: Digitalisierte Version des Signals
Abbildung 5.3: Tachometer mit analoger und digitaler Anzeige
Abbildung 5.4: Binärdarstellung der Zahl 43
Abbildung 5.5: Multiplikation von Dezimal- und Binärzahlen
Abbildung 5.6: Duale Multiplikation mit einer Zweierpotenz
Abbildung 5.7: Ganzzahlige Division von 75 durch 13
Kapitel 6
Abbildung 6.1: Unäre und binäre boolesche Operatoren
Abbildung 6.2: Serielle Gatterschaltung der Konjunktion
Abbildung 6.3: Parallele Gatterschaltung der Disjunktion
Kapitel 7
Abbildung 7.1: Prinzipieller Aufbau eines KV-Diagramms
Abbildung 7.2: KV-Diagramm mit allen markierten Feldern für x
3
= 1
Abbildung 7.3: KV-Diagramm mit markierten Feldern für x
2
= x
4
= 1
Abbildung 7.4: KV-Diagramm mit eingetragenen Mintermen
Abbildung 7.5: KV-Diagramme der Funktionen y
1
(links) und y
2
(recht...
Abbildung 7.6: Minimierungsblöcke der Funktionen y
1
und y
2
Abbildung 7.7: Weitere Minimierungsmöglichkeiten
Kapitel 8
Abbildung 8.1: Schaltbild einer Negationsschaltung
Abbildung 8.2: Transistorschaltung von AND
Abbildung 8.3: Transistorschaltung von OR
Abbildung 8.4: Unterschiedliche Symbole des Inverters NOT
Abbildung 8.5: Logische Gatter in neuer IEC-Norm
Abbildung 8.6: Decodiernetzwerk für vier Ausgänge
Abbildung 8.7: Multiplexer für zwei Eingänge
Abbildung 8.8: 1-Bit-Komparator-Schaltglied
Abbildung 8.9: 1-Bit-Halbaddierer-Schaltglied
Abbildung 8.10: 1-Bit-Volladdierer-Schaltglied
Abbildung 8.11: Schaltung mit Race Condition für x
Abbildung 8.12: KV-Diagramm mit (links) und ohne (rechts) Race Con...
Abbildung 8.13: Schaltung ohne Race Condition für x
Kapitel 9
Abbildung 9.1: Einfaches Schaltwerk mit einem logischen Gatter
Abbildung 9.2: Schaltwerk mit Flussrichtung der Information
Abbildung 9.3: Zustandsgraph des Halteglieds
Abbildung 9.4: Kritischer Lauf in einem Schaltwerk
Abbildung 9.5: Zustandsgraph ohne kritischen Lauf
Abbildung 9.6: Flanken eines Taktsignals
Abbildung 9.7: SR-Schaltbild mit NOR-Gattern
Abbildung 9.8: Symbol des SR-Flipflops
Abbildung 9.9: Schaltung eines Data Latch
Abbildung 9.10: Schaltsymbol des Data Latch
Abbildung 9.11: D-Flipflop Schaltung (links) und Schaltsymbol (rec...
Abbildung 9.12: Taktflankengesteuertes SR-Flipflop
Abbildung 9.13: Positiv-taktflankengesteuertes SR-Flipflop
Abbildung 9.14: JK-Flipflop
Abbildung 9.15: Synchroner 4-Bit-Ringzähler mit JK-Flipflops
Abbildung 9.16: 4-Bit-Schieberegister aus taktflankengesteuerten D...
Kapitel 10
Abbildung 10.1: Zustandsgraph des D-Flipflops als Mealy-Automat
Abbildung 10.2: Zustandsgraph eines Moore-Automaten
Abbildung 10.3: Serieller 4-Bit-Addierer
Abbildung 10.4: Serieller 4-Bit-Addierer als Mealy-Automat
Abbildung 10.5: Arbeitsweise von Operations- und Steuerwerk
Abbildung 10.6: Mikroprogrammiertes Steuerwerk
Abbildung 10.7: Mikroprogrammsteuerwerk mit sequenzieller Abarbeit...
Abbildung 10.8: Mikroprogrammsteuerwerk mit bedingten Sprüngen
Kapitel 11
Abbildung 11.1: Das EVA-Prinzip
Abbildung 11.2: Erweitertes EVA-Schema
Abbildung 11.3: Zusammenspiel der Komponenten eines Computers
Abbildung 11.4: Mainboard mit CPU und weiteren Komponenten
Abbildung 11.5: Lüfter und Kühllamellen
Abbildung 11.6: 256-MB-RAM-Speicherriegel zum Einstecken
Abbildung 11.7: Netzteil mit Kabelsträngen
Abbildung 11.8: Anschlüsse für interne Peripherie
Kapitel 12
Abbildung 12.1: Klassischer Aufbau einer CPU
Abbildung 12.2: Kommunikation auf den Bussystemen
Abbildung 12.3: Aufbau einer ALU
Abbildung 12.4: Abstraktionsschichten zur Hardware
Abbildung 12.5: Zugriffsebenen von der Anwendung bis zur Hardware
Kapitel 13
Abbildung 13.1: DIMM-Speicherriegel
Abbildung 13.2: Hauptplatine eines PC
Abbildung 13.3: Masken-ROM
Abbildung 13.4: In Gehäuse eingebaute Festplatte
Abbildung 13.5: Kamm einer Festplatte
Abbildung 13.6: Pyramide der Speichermedien
Kapitel 14
Abbildung 14.1: Trennlinie der Schnittstelle
Abbildung 14.2: Leitungsbahnen auf Folien im Inneren einer Tastatu...
Abbildung 14.3: Controller einer Computertastatur
Abbildung 14.4: Rückseite eines Tastatur-Controllers
Abbildung 14.5: Beispiel eines QR-Codes
Kapitel 15
Abbildung 15.1: Befehlsverarbeitung ohne und mit Pipelining
Kapitel 16
Abbildung 16.1: Verschachtelte Unterprogrammaufrufe
Kapitel 17
Abbildung 17.1: Unterschied zwischen statischem (links) und dynami...
Abbildung 17.2: Schritte zur Programmerstellung
Kapitel 18
Abbildung 18.1: Werfen und Fangen von Ausnahmen
Kapitel 19
Abbildung 19.1: Bedeutung der Abstraktionsbarriere für die Program...
Abbildung 19.2: Array von Lottozahlen
Kapitel 20
Abbildung 20.1: Der Software Development Lifecycle
Kapitel 21
Abbildung 21.1: Speicheradressen und Zeiger
Kapitel 22
Abbildung 22.1: Unterschied zwischen Arrays (oben) und Structures
Kapitel 23
Abbildung 23.1: Identität und Kopie
Abbildung 23.2: Zwei Zeiger innerhalb desselben Arrays
Kapitel 24
Abbildung 24.1: Klassenhierarchie im Wald
Kapitel 26
Abbildung 26.1: Swing Anwendung zur Umrechnung von Grad Celsius in...
Abbildung 26.2: Startansicht der Beispielanwendung
Abbildung 26.3: Ausgabe der Beispielanwendung
Kapitel 28
Abbildung 28.1: Elektronisches Vokabelheft in Java
Abbildung 28.2: Übersetzung von »Informatik«
Abbildung 28.3: Eingabe einer neuen Vokabel
Kapitel 29
Abbildung 29.1: Auswahl an Python-Umgebungen
Kapitel 31
Abbildung 31.1: Sinus- und Kosinusdarstellungen mit Matplotlib
Abbildung 31.2: Kurven mit Legende und Titel
Abbildung 31.3: Beispiel eines Scatter-Plots
Abbildung 31.4: Interpolation von Einzelpunkten mittels BSplines
Abbildung 31.5: Verteilung der Kelchblattgrößen von Schwertliliena...
Abbildung 31.6: Zufällige Schachposition nach dem ersten Zug von W...
Kapitel 32
Abbildung 32.1: Zeitvorteil durch Vektorisierung
Abbildung 32.2: Vergleich der Invers-Summen
Abbildung 32.3: Disassemblierung
Abbildung 32.4: Hilfe bei eingebauten Funktionen
Abbildung 32.5: Vergleich mit vektorisierten Summen
Abbildung 32.6: Vektorisierung auf NumPy-Array
Kapitel 33
Abbildung 33.1: Vergleich von 2·T(n) und f(n) für kleine n
Abbildung 33.2: Vergleich von 2·T(n) und f(n) für größere n
Kapitel 34
Abbildung 34.1: Lineare Liste als ADT
Abbildung 34.2: Der ADT Stack bei der Arbeit: Löschen eines Elements
Abbildung 34.3: Entfernen eines Elements aus einer Queue
Abbildung 34.4: »Wanderung« von Queue-Daten durch ein Array
Abbildung 34.5: Ringspeicher
Abbildung 34.6: Implementierung einer Deque als doppelt verkettete Liste
Abbildung 34.7: Suche eines Musters
m
in einem String
s
Kapitel 35
Abbildung 35.1: Struktur einer Tabelle mit Zeilen und Spalten
Abbildung 35.2: Tabelle mit Key und Inhalt
Abbildung 35.3: Abstrakte Tabelle mit Referenzen als Inhalt
Abbildung 35.4: Ausgangstabelle
Abbildung 35.5: Die Tabelle innerhalb des zweiten
while
-Durchlaufs
Abbildung 35.6: Die Tabelle innerhalb des dritten
while
-Durchlaufs
Abbildung 35.7: Anfangszustand
Abbildung 35.8: Verlauf des Selectionsort
Abbildung 35.9: Swaps für i = 0
Abbildung 35.10: Swaps für i = 1
Abbildung 35.11: Swaps für i = 2
Abbildung 35.12: Swaps für i = 3 bis i = 6
Abbildung 35.13: Tabelle nach dem ersten Tauschen
Abbildung 35.14: Tabelle am Ende der Phase 2
Abbildung 35.15: Nach der Phase 2 im rekursiven Quicksort-Aufruf
Abbildung 35.16: Swaps im zweiten Durchgang
Abbildung 35.17: Beispiel einer HashTable
Kapitel 36
Abbildung 36.1: Beispiel eines Verzeichnisbaums
Abbildung 36.2: Ein Baum von Bäumen
Abbildung 36.3: Traversierung in Pre-Order
Abbildung 36.4: Traversierungsreihenfolge in In-Order
Abbildung 36.5: Umgekehrte Reihenfolge der Post-Order-Traversierun...
Abbildung 36.6: Lösung zur Traversierungsaufgabe
Abbildung 36.7: Syntaxbaum
Abbildung 36.8: Entscheidungsbaum
Kapitel 37
Abbildung 37.1: Gerichteter Graph
Abbildung 37.2: Ungerichteter Graph
Abbildung 37.3: Zwei isomorphe Graphen
Abbildung 37.4: Planarer Graph mit fünf Knoten
Abbildung 37.5: Graph mit fünf Knoten auf Torus
Abbildung 37.6: Graph mit gewichteten Kanten
Abbildung 37.7: Minimaler Spannbaum zu Abbildung 37.6
Kapitel 38
Abbildung 38.1: Rolle des Betriebssystems in einem Computer
Abbildung 38.2: Prozessausführung ohne (oben) und mit (unten) Mult...
Abbildung 38.3: Zustandsübergänge eines Prozesses
Kapitel 39
Abbildung 39.1: Dreischicht-Architektur
Abbildung 39.2: V-Modell zur Softwareentwicklung
Kapitel 40
Abbildung 40.1: ER-Modell einer Datenbank
Abbildung 40.2: Beispielhaftes Datenbankschema mit zwei Tabellen
Abbildung 40.3: Datensätze zweier Tabellen
Abbildung 40.4: Verbessertes ER-Schema mit n:m-Beziehung
Abbildung 40.5: Datenbankschema mit n:m-Beziehung
Abbildung 40.6: Beispielhafte Datensätze einer n:m-Beziehung
Kapitel 41
Abbildung 41.1: Menschenähnliche Maschinen: Utopie, Schreckensbild...
Kapitel 42
Abbildung 42.1: Exemplarischer Problemraum
Abbildung 42.2: Zustandsgraph mit Kostenbeschriftung
Abbildung 42.3: Graph mit negativen Kantengewichten
Abbildung 42.4: Variantenbaum
Abbildung 42.5: Ausgefüllter Bewertungsbaum
Abbildung 42.6: Beschnittener Variantenbaum
Kapitel 43
Abbildung 43.1: Vereinfachtes Lernszenario
Abbildung 43.2: Im Inneren des lernenden Systems
Abbildung 43.3: Ein erster Entwurf zum Entscheidungsbaum
Abbildung 43.4: Finaler Entscheidungsbaum
Kapitel 44
Abbildung 44.1: GNU-Prolog-Konsole
Abbildung 44.2: Kriminalfall und seine Auflösung
Abbildung 44.3: Prolog als Datenbanksprache
Kapitel 45
Abbildung 45.1: Funktionsschema eines künstlichen Neurons
Abbildung 45.2: Ein KNN mit drei Ebenen
Abbildung 45.3: AND und XOR – mögliche und unmögliche lineare Sepa...
Abbildung 45.4: Tangentensteigung
Abbildung 45.5: Gradientenverfahren bei zwei Variablen
Abbildung 45.6: Die logistische Funktion als Squasher
Abbildung 45.7: Ausgangssituation bei einem inneren Neuron N
Abbildung 45.8: Direkte (links) und laterale (rechte) Rückkopplung...
Abbildung 45.9: Indirekte Rückkopplung
Abbildung 45.10: KNN mit Kontext-Layer
Abbildung 45.11: Fehlerkurve im Verlauf des Trainings
Kapitel 46
Abbildung 46.1: IPv4-Header gemäß RFC791
Abbildung 46.2: Protokollstapel, jeweils mit Header und Body
Abbildung 46.3: TCP-Header gemäß RFC 793
Abbildung 46.4: TCP-Handshake
Kapitel 47
Abbildung 47.1: URL in einem Browser
Abbildung 47.2: Beispiel einer
http
-Sitzung
Abbildung 47.3: Rumpf einer
http
-Antwort
Abbildung 47.4: Browseransicht einer XML-Datei ohne CSS
Abbildung 47.5: Zusammengeklappte Version der XML-Datei
Abbildung 47.6: XML-Datei mit CSS
Kapitel 48
Abbildung 48.1: Ausgabe des Perl-Skripts
Abbildung 48.2: Aufruf eines PHP-Skripts
Abbildung 48.3: Ausführung eines JavaScript-Programms
Kapitel 49
Abbildung 49.1: Konsolenausgabe des Servers
Abbildung 49.2: Clientsicht
Abbildung 49.3: Auszug des Bank-Programms
Kapitel 50
Abbildung 50.1: Kommunikation über Zwischenstationen in Ad-hoc-Net...
Kapitel 51
Abbildung 51.1: Säulen der Physik
Abbildung 51.2: Binärbaum der Standardcodierung
Abbildung 51.3: Präfixfreie Codierung der Quelle Q
Abbildung 51.4: Anfangszustand des Codebaums nach Shannon-Fano
Abbildung 51.5: Codebaum nach dem ersten Trennungsschritt
Abbildung 51.6: Zwischenschritt im Shannon-Fano-Algorithmus
Abbildung 51.7: Shannon-Fano-Binärbaum der Quelle Q
Abbildung 51.8: Codierung nach Shannon-Fano
Abbildung 51.9: Anfangszustand im Huffman-Algorithmus
Abbildung 51.10: Zustand nach der ersten Zusammenfassung
Abbildung 51.11: Baum nach dem zweiten Schritt
Abbildung 51.12: Vorletzter Schritt im Algorithmus
Abbildung 51.13: Finaler Codebaum nach Anwendung des Huffman-Algo...
Kapitel 52
Abbildung 52.1: Endlicher Automat über dem Alphabet { a,b,c }
Abbildung 52.2: Endlicher Automat mit zwei Zuständen
Abbildung 52.3: Chomsky-Hierarchie der Sprachen
Abbildung 52.4: Endlicher Automat für L
1
Kapitel 54
Abbildung 54.1: Unbegrenzter Speicher der Turing-Maschine
Abbildung 54.2: Anfangszustand der Turing-Maschine aus dem Beispie...
Abbildung 54.3: Zweiter Zustand der Turing-Maschine
Abbildung 54.4: Restliche Abarbeitung des Turing-Programms
Abbildung 54.5: Gleiche Turing-Maschine mit neuer anfänglicher Ban...
Kapitel 55
Abbildung 55.1: Teilmengenbeziehung der Komplexitätsklassen
Kapitel 56
Abbildung 56.1: Der Risikomanagement-Lebenszyklus
Abbildung 56.2: Risikoklassen gemäß Eintrittswahrscheinlichkeit un...
Kapitel 58
Abbildung 58.1: Warnung nach dem Download einer Textdatei aus dem ...
Abbildung 58.2: Warnung vor gefährlichem Plug-in in Firefox
Kapitel 60
Abbildung 60.1: Trennung von Netzwerken durch eine Firewall
Abbildung 60.2: Zweistufige Firewall-Architektur
Abbildung 60.3: Gemeinsamer Zugriff auf das Internet über einen Pr...
Cover
Titelblatt
Impressum
Über den Autor
Inhaltsverzeichnis
Einführung
Fangen Sie an zu lesen
Abbildungsverzeichnis
Stichwortverzeichnis
End User License Agreement
1
2
3
4
5
9
10
11
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
273
274
275
276
277
278
279
280
281
282
283
284
285
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
461
462
463
464
465
466
467
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
675
676
677
678
679
680
681
682
683
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
945
946
947
948
949
950
951
952
953
954
955
956
957
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1001
1002
1003
1004
1005
1006
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
Womöglich interessieren Sie sich überhaupt nicht für Informatik. Sie wollen gar nicht wissen, wie PCs oder Tablets funktionieren. Programmiersprachen erscheinen Ihnen überflüssig. Das Internet, künstliche Intelligenz oder gar Informationssicherheit halten Sie für völlig irrelevant. Eigentlich suchen Sie ja ein Buch über afrikanische Wanderheuschrecken. Nun gut, dann dürfen Sie dieses Exemplar von Informatik für Dummies gerne wieder ins Regal zurückstellen.
Für alle anderen gilt Vorsicht! Wenn Sie weiterlesen, werden Sie vermutlich gar nicht mehr genug bekommen von diesem wohl faszinierendsten und bedeutendsten Fachgebiet unserer Zeit!
Dieses Buch möchte Ihnen helfen, sich rasch einen umfassenden Überblick über die wichtigsten Teilgebiete der Informatik zu verschaffen.
Informatik ist ein »dickes Brett«. Das erkennen Sie allein schon am Umfang des Buchs. Aber im Gegensatz zur reinen Mathematik ist die Informatik nicht »trocken«. Wohin Sie auch blicken, alle technischen Innovationen sind von Informatik »durchflutet«. Ob Sie Apps an Ihrem Smartphone bedienen oder sich über die Tricks in einem Spielfilm wundern. Überall steckt Informatik drin. Wichtige technische, praktische und theoretische Grundlagen dazu finden Sie in diesem Buch.
Die konkrete Auswahl der Sachthemen richtet sich nach den typischen Anforderungen in technisch-naturwissenschaftlichen Bachelor-Studiengängen. Allerdings ist Ihr Informatik für Dummies kein Lehrbuch im klassischen Sinne. Es geht nicht darum, jedes Detail systematisch aufzulisten. Das ist in einem einzigen Buch unmöglich zu bewerkstelligen. Vielmehr werden Sie hier neben den erforderlichen Grundlagen auch einige heikle und schwer verständliche Themen vorfinden. Mein Ziel ist es, Ihnen gerade diese Zusammenhänge möglichst klar und präzise zu erläutern.
Darüber hinaus habe ich Ihnen eine Reihe von heißen Topics ausgesucht, und – glauben Sie mir – davon gibt es jede Menge.
Ich gehe nicht davon aus, dass Sie besondere Schwierigkeiten haben werden, sich in diesem Buch zurechtzufinden. Dennoch erscheint es angebracht, Sie auf ein paar Dinge hinzuweisen.
Den Quellcode von Computerprogrammen stelle ich in einer eigenen Schriftart dar, das sieht dann zum Beispiel so aus:
int fakultaet(int n);
Zu den wenigen größeren Programmbeispielen in diesem Buch dürfen Sie sich den Quellcode auch unter https://www.wiley-vch.de/ISBN9783527720248 herunterladen.
Hin und wieder tauchen winzige Texte oder Symbole in Kästchen auf, etwa oder . Damit sind die entsprechenden Tasten auf Ihrer realen Computertastatur beziehungsweise dem virtuellen Tablet-Keyboard gemeint.
Ach ja, bevor ich es noch vergesse. In diesem Buch verzichte ich auf die explizite weibliche und männliche Form von Leserinnen, Lesern, LeserInnen, Leser:innen und allen anderen Typen von Funktionen, Aufgaben und Dingen in der maximal unleserlichen Darstellung aller denkbaren Geschlechter. Ich spreche Sie daher, liebe Leserin, lieber Leser, stets in der einfachsten Form an, die ich aufgrund der Kürze und der geschlechtlich neutralen Verwendungsmöglichkeit bevorzuge. Keine Sorge, ich behalte Sie alle dabei jederzeit im Blick!
Aufgrund der Tatsache, dass Sie bis zu diesem Abschnitt bei der Lektüre vorgedrungen sind, darf ich von einem gewissen Interesse an Informatik bei Ihnen ausgehen. Oder ist diese Annahme bereits töricht?
Die Hauptzielgruppe dieses Buchs sind jedenfalls Studierende von Bachelor-Studiengängen an Hochschulen oder Universitäten, bei denen Aspekte der Informatik auf irgendeine Weise im Curriculum des Basisstudiums auftauchten. Für reine Informatiker ist die Darstellung ihres Lehrgebiets in einem einzigen Band wohl etwas zu kompakt.
Auch wenn Sie nicht der primären Zielgruppe angehören, möchte ich Sie keineswegs davon abhalten, sich mit Informatik zu befassen. Im Gegenteil: Ich habe mich sehr bemüht, möglichst allgemein verständlich zu erklären. Deswegen eignet sich das Buch gewiss auch zum Selbststudium. Solange Sie es nicht als Briefbeschwerer einsetzen, bin ich zufrieden.
Aber selbst dann habe ich keinen Grund, mich zu beklagen. Immerhin ist es Ihr Buch, und Sie können damit machen, was Sie wollen.
Damit Sie sich im Dschungel der Informatik nicht verirren, habe ich das Buch in 14 Teile aufgeschlüsselt, die selbst insgesamt 62 Kapitel umfassen.
Jedes Kapitel ist seinerseits in Abschnitte gegliedert, wie Sie dem Inhaltsverzeichnis entnehmen. Die einzelnen Teile behandeln die folgenden Themen:
In diesem ersten Teil möchte ich Ihnen einen leicht verdaulichen Überblick über die gesamte Informatik verschaffen. Sie werden gewiss von den unglaublichen Möglichkeiten ebenso fasziniert sein, wie ich es selbst bin. Außerdem möchte ich Sie für den winzigen, aber wesentlichen Kern begeistern, der die gesamte Informatik zusammenhält. Weiter geht es in diesem Teil um die zahllosen Anwendungsmöglichkeiten der Informatik. Schließlich will ich Ihnen einen kleinen Einblick in das Denken von Informatikern verschaffen, das sich – vielleicht – schon bald nicht mehr von Ihrem eigenen unterscheiden wird.
Dieser Teil befasst sich mit Digitaltechnik, eine der grundlegenden und maßgeblichen Säulen der Informatik. Vom binären Rechnen bis zur booleschen Algebra werden die wichtigsten Themen behandelt. Schaltnetze und Schaltwerke bilden bereits einen Übergang und Anknüpfungspunkt zur Elektrotechnik. Schließlich befasst sich ein eigenes Kapitel mit »Automaten«. Keine Sorge, dabei geht es nicht um tumbe Geräte für Kaugummis, sondern den Wegbereitern zum Verständnis von Mikroprozessoren.
Der dritte Teil ist der technischen Informatik gewidmet. Ausgehend vom Grundkonzept des Computers werden nacheinander »Zentraleinheit« und »Peripherie« beleuchtet. Dazwischen fährt ein »Bus«, genau genommen sogar ganze Linien von Bussen. Immerhin handelt es sich um weite Strecken, zumindest für Objekte von der Größe eines Elektrons. Außerdem werden die unterschiedlichen Speichertechniken unter die Lupe genommen. Garantiert werden Sie nach der Lektüre die Abkürzung »DDR« nicht mehr für einen ehemaligen sozialistischen Staat halten. Der dritte Teil endet mit fortgeschrittenen Computerarchitekturen und einem Blick in die Glaskugel, was uns wohl die Zukunft noch so alles bescheren mag oder auch nicht.
»Wie sag' ich es meinem Computer?« Um diese zentrale Frage dreht sich alles im vierten Teil. Es geht zunächst um grundsätzliche Schwierigkeiten des Programmierens und deren Auflösung. Außerdem zeige ich Ihnen die nötigen Werkzeuge und Instrumente, wie Sie systematisch von einer gegebenen Fragestellung zu einem funktionierenden Programm kommen. Die Eckpfeiler moderner Softwaretechnik schließen den Teil ab.
Eine der wichtigsten Computersprachen überhaupt nennt sich »C«. Dabei handelt es sich um eine Hochsprache, mit der Sie zugleich hardwarenah programmieren. C ist somit universell einsetzbar. Neben Tipps und Tricks zum ursprünglichen Klassiker gehe ich in eigenen Kapiteln auch auf berühmte Ableger wie »C++«ein. Dort erfahren Sie auch alles Wichtige zum objektorientierten Programmieren, das heutzutage bei keiner der großen Sprachen fehlen darf.
Ähnlich dynamisch wie das komplette Internet hat sich auch die Programmiersprache »Java« entwickelt. Die grundlegenden Ideen werden in den insgesamt vier Kapiteln dieses Teils beleuchtet. Ich werde Ihnen erklären, was es mit Klassen, Strings und Collections auf sich hat. Zum Schluss zeige ich Ihnen auch, wie Sie sich auf Zusicherungen verlassen.
In dieser zweiten Auflage Ihres Dummies-Buchs erwartet Sie ein eigener Teil zur inzwischen beliebtesten Programmiersprache der Welt: Python. In vier Kapiteln erhalten Sie zunächst einen leichten Einstieg in die Materie. Anschließend zeige ich Ihnen Möglichkeiten, die sich mit diversen Programmbibliotheken für Sie auftun. Das dritte Kapitel in diesem Teil widmet sich einigen Tipps und Tricks, damit Sie aus Python noch mehr herausholen. Spannend wird es auch, wenn ich Ihnen am Ende die C-Extensions zeige. Dann werden Sie verstehen, was alles hinter den Kulissen passiert, wenn Sie beispielsweise einen unscheinbaren, aber höchst effektiven Python-Befehl absetzen.
Jedes Programm steht und fällt mit dem »Algorithmus«, den es implementiert. Dieser wiederum arbeitet auf »Datenstrukturen«. Datenstrukturen und Algorithmen werden so untrennbar miteinander verflochten. Nacheinander gehe ich auf wichtige Vertreter der jeweiligen Gattungen ein. Ich zeige Ihnen die Verwendung von »Graphen« und »Bäumen«, von »Kellern« und »Schlangen«. Aber keine Sorge, die beißen nicht! Die Verwendung solcher Strukturen wird Ihr Leben wesentlich erleichtern. Ob es ums Suchen oder Sortieren geht, ob Sie spielen oder traversieren. Nach der Lektüre werden Sie die wichtigsten Konzepte beherrschen.
In diesem vergleichsweise kurzen Teil spanne ich den Bogen von Betriebssystemen, ohne die kein Computer läuft, bis hin zu Datenbanken, den Kornkammern unserer Informationsgesellschaft. Dabei zeige ich Ihnen nicht nur die prinzipielle Vorgehensweise, sondern weise Sie in die mystischen Tiefen der drei Buchstaben ein: »SQL«. Daneben geht es auch um die vielen Schritte zur Herstellung einer Anwendung. Angefangen bei der Anforderungsanalyse über die konkrete Implementierung bis hin zu den Testläufen. Der ewige Kreislauf des Softwarelebens …
Längst ist »KI«, die künstliche Intelligenz, ein anerkannter und sehr erfolgreicher Zweig der Informatik. Der Teil beginnt mit einem Kapitel über die unglaublichen Möglichkeiten, die sich durch ihren Einsatz auftun. Sie werden erfahren, wie Brettspiele programmiert werden können, und ich gehe auch näher auf das wohl faszinierendste Teilgebiet der KI ein: »lernende Systeme«. Dazwischen wird sich alles um »Expertensysteme« drehen: Programme, die das Wissen menschlicher Experten kondensieren. Ein eigenes Kapitel widmet sich schließlich dem wichtigen Zweig der »künstlichen neuronalen Netze«.
Jeder benutzt es; nur die wenigsten wissen wirklich, was sie da tun. Ich meine das Internet. Dieser zehnte Teil Ihres für Dummies-Buchs startet mit dem, was das Internet antreibt: den »Protokollen«. Kryptisch für Außenstehende stellen sie jedoch keinerlei Problem für die Eingeweihten dar, zu denen auch Sie am Ende der Lektüre gehören werden.
In den Folgekapiteln geht es darum, was Sie alles mit solchen Protokollen anstellen. Die Gestaltung des »World Wide Web« finden Sie in einem eigenen Kapitel. Noch spannender wird es, wenn Sie im Kapitel »Socket- und Threadprogrammierung« selbst Hand anlegen an die Client-Server-Entwicklung. Schließlich darf ebenfalls ein Kapitel über Clouds und Big Data nicht fehlen.
Dieser Teil ist der theoretischen Informatik gewidmet, die noch weitaus abstrakter als die Mathematik an grundsätzliche Fragestellungen herangeht. Woher wissen Sie, ob Ihr Programm das tut, was es soll? Gibt es Grenzen dessen, was eine Software überhaupt berechnen kann? Ist es prinzipiell vorhersagbar, ob ein Programm jemals halten wird? Ausführliche Antworten auf diese und andere Fragen finden Sie hier. Dazu befassen sich ein eigenes Kapitel mit »formalen Sprachen« und ein weiteres mit »Logik«, dem Fundament der theoretischen Informatik. Berühmte und teilweise bis heute ungelöste Probleme habe ich mir für das letzte Kapitel des Teils aufgehoben. Wer weiß, vielleicht werden Sie nach der Lektüre einen Schlüssel zur Beantwortung dieser offenen Fragestellungen finden und damit Ruhm und Reichtum bis zum Ende Ihrer Tage ernten?
Gerade in den letzten Jahren ist »Informationssicherheit« zu einem der drängendsten und bedeutsamsten Bedürfnisse moderner Informationstechnologie geworden. Dieser Teil beginnt mit dem Managen von Risiken und arbeitet sich anschließend systematisch an die wichtigsten Angriffsarten und Schutzmaßnahmen heran. Außerdem möchte ich Ihnen einen Blick auf die zahlentheoretischen Grundlagen gewähren, der für das Verständnis von Verschlüsselung essenziell ist. Ja, das ist Mathematik, das gebe ich zu. Doch Sie werden sich der Faszination dieses Gebiets am Ende nicht mehr entziehen können.
Jedes für Dummies-Buch besitzt einen »Top-Ten-Teil«. Sie glauben mir nicht? Vielleicht befinden Sie sich gerade in einer Buchhandlung. Dann stöbern Sie doch einfach einmal in einem Dummies-Buch zu einem X-beliebigen Thema. Sie werden sehen, der »Top-Ten-Teil« ist obligatorisch. Im vorliegenden Fall geht es um zehn wichtige Meilensteine und zehn furchtbare Irrtümer der Informatik. Mit einem Lächeln werden Sie also die Lektüre beenden, vorausgesetzt, Sie sind nicht so neugierig, als Erstes ganz hinten zu beginnen …
Damit Sie sich leichter in Ihrem Informatik für Dummies-Buch zurechtfinden, habe ich Ihnen einige Stellen mit hilfreichen Symbolen markiert:
Alles, was Sie sich unbedingt einprägen sollten, wird durch diese Hand hervorgehoben. Den Knoten dürfen Sie sich natürlich auch ins Taschentuch machen.
Erleuchtet! Mit dieser Glühbirne weise ich Sie auf einen Tipp hin. Sparen Sie Zeit und Energie, indem Sie die jeweiligen Ratschläge befolgen.
Dies ist ein Zeichen dafür, dass Ihre höchste Konzentration und Aufmerksamkeit gefordert ist. Ich weise Sie hier auf gefährliche Fallstricke oder typische Fehler hin. Aber keine Sorge, das Symbol taucht nicht allzu oft auf.
Wenn der Dummies-Mann auftaucht, müssen Sie damit rechnen, dass der nebenstehende Text recht technisch und vielleicht auch schwierig zu verstehen ist. Trösten Sie sich: Entweder Sie haben selbst Spaß daran und lauern schon auf den nächsten Hinweis oder Sie ignorieren den Typen einfach. In beiden Fällen kommen Sie gut mit der restlichen Lektüre klar.
Hin und wieder tauchen sehr wichtige Fachbegriffe auf, die ich möglichst knapp, aber hoffentlich verständlich definiere.
Bei vielen Fragestellungen ist es wichtig, zunächst das Problem in seiner Tiefe zu ergründen. Keine Angst, ich hole Sie da wieder raus!
Mit dem Fernglas weise ich Sie auf eine andere Stelle im Buch hin, wo dasselbe oder ein ähnliches Thema von einer anderen Seite beleuchtet wird. Bei Bedarf können Sie direkt dorthin springen.
Freuen Sie sich! Immer wenn Sie dieses Symbol sehen, gebe ich Ihnen ein Beispiel. Das soll Ihnen das Verständnis meiner Worte erleichtern und vertiefen.
Dieses Buch soll Sie auch unterhalten. Die eine oder andere Anekdote finden Sie immer dann, wenn dieses Symbol erscheint. Aber bitte lesen Sie auch den Rest des Buchs: Der ist mindestens genauso wichtig!
An diesen Stellen finden Sie Angaben zu Ressourcen im Internet.
Sie haben jetzt mindestens zwei Möglichkeiten. Entweder Sie stellen das Buch ganz schnell wieder ins Regal zurück, weil ich Ihnen beim besten Willen keine Auskünfte über afrikanische Wanderheuschrecken erteilen kann.
Oder aber Sie wagen das Abenteuer Informatik, nehmen Ihren Mut zusammen, atmen tief durch und gehen den nächsten Schritt, indem Sie das erste Kapitel aufschlagen. Oder das zweite. Oder irgendeine Seite, die Sie interessiert. Es ist Ihr Buch, es ist Ihre Zeit. Ich habe mein Bestes gegeben, jetzt sind Sie an der Reihe!
Teil I
IN DIESEM TEIL …
