Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
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
← Prev
Back
Next →
← Prev
Back
Next →