
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
J. Sussman(Co-Author)
Springer (Publisher)
2nd Edition
Published on 29. July 1993
Book
Paperback/Softback
XXI, 651 pages
978-3-540-56934-3 (ISBN)
Article exhausted; check for reprint
Description
Diese moderne Einführung in die Informatik ist am renommierten Massachusetts Institute of Technology entstanden und repräsentiert den dortigen Ausbildungsstandard für Studenten der Informatik und der Elektrotechnik. Das ganzheitliche Verständnis der Informatik unter Einbeziehung der Künstlichen Intelligenz, das in diesem Buch vermittelt wird, hat es weltweit zu einer beliebten Grundlage für die Einführungsvorlesung gemacht. Zur Notation der Programme wird Scheme verwendet, ein Dialekt der Programmiersprache Lisp, der die Leistungsfähigkeit und die Eleganz von Lisp und Algol verbindet. Die Besonderheit dieser einführenden Vorlesung beruht auf zwei Grundüberzeugungen: 1. Eine Computersprache ist nicht einfach ein Weg, einen Computer zur Ausführung von Operationen zu bewegen, sondern vielmehr ein neuartiges Medium, um Vorstellungen über Verfahrensweisen auszudrücken. So müssen Programme geschrieben werden, damit Menschen sie lesen und modifizieren, und nur in zweiter Linie, damit Maschinen sie ausführen können. 2. Das Wesentliche bei einer Vorlesung auf diesem Niveau ist weder die Syntax von speziellen Sprachkonstruktionen, noch sind es raffinierte Algorithmen zur effizienten Berechnung bestimmter Funktionen oder gar die mathematische Analyse von Algorithmen oder die Grundlagen der Informatik, sondern vielmehr die Techniken, mit denen die geistige Komplexität großer Softwaresysteme unter Kontrolle gehalten werden kann.
More details
Edition
2., unveränd. Aufl.
Language
German
Place of publication
Heidelberg
Germany
Publishing group
Springer Berlin
Product notice
Paperback (trade)
Unsewn / adhesive bound
Illustrations
2
2 s/w Abbildungen
Dimensions
Height: 23.5 cm
Width: 15.5 cm
Weight
865 gr
ISBN-13
978-3-540-56934-3 (9783540569343)
DOI
10.1007/978-3-662-01163-8
Schweitzer Classification
Other editions
New editions

Harold Abelson | Gerald Jay Sussman | Joseph S. Sussman
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
Book
09/2001
4th Edition
Springer
€44.99
Shipment within 10-15 days

Harold Abelson | Gerald J. Sussman | J. Sussman
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
Book
11/1998
3rd Edition
Springer
€49.95
Article exhausted; check for reprint
Additional editions

Harold Abelson | Gerald J. Sussman | J. Sussman
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
E-Book
04/2013
2nd Edition
Springer
€39.99
Available for download
Previous edition
Harold Abelson | Gerald J. Sussman | Julie Sussman
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
Book
08/1991
Springer
€49.99
Article exhausted; check for reprint
Persons
Author
Co-Author
Preface
Translation
Content
1 Konstruktion von Abstraktionen mit Prozeduren.- 1.1 Die Programmelemente.- 1.1.1 Ausdrücke.- 1.1.2 Namen und Umgebungen.- 1.1.3 Auswertung von Kombinationen.- 1.1.4 Zusammengesetzte Prozeduren.- 1.1.5 Das Substitutionsmodell für Prozeduranwendungen.- 1.1.6 Bedingte Ausdrücke und Prädikate.- 1.1.7 Beispiel: Berechnung der Quadratwurzel nach dem Newtonschen Iterationsverfahren.- 1.1.8 Prozeduren als "Black-box"-Abstraktionen.- 1.2 Prozeduren und Prozesse.- 1.2.1 Lineare Rekursion und Iteration.- 1.2.2 Baumrekursion.- 1.2.3 Größenordnungen.- 1.2.4 Potenzrechnung.- 1.2.5 Der größte gemeinsame Teiler.- 1.2.6 Beispiel: Primzahlen.- 1.3 Abstraktionen mit Prozeduren höherer Ordnung.- 1.3.1 Prozeduren als Parameter.- 1.3.2 Konstruktion von Prozeduren mit lambda.- 1.3.3 Prozeduren als allgemeine Methode.- 1.3.4 Prozeduren als Ergebnis.- 2 Konstruktion von Abstraktionen mit Daten.- 2.1 Einführung in die Datenabstraktion.- 2.1.1 Beispiel: Arithmetische Operatoren für rationale Zahlen.- 2.1.2 Abstraktionsbarrieren.- 2.1.3 Was sind eigentlich Daten?.- 2.1.4 Beispiel: Arithmetik mit Intervallen.- 2.2 Datenhierarchien.- 2.2.1 Darstellung von Sequenzen.- 2.2.2 Darstellung von Baumstrukturen.- 2.2.3 Symbole und die Notwendigkeit des quote.- 2.2.4 Beispiel: Symbolisches Differenzieren.- 2.2.5 Beispiel: Darstellung von Mengen.- 2.2.6 Beispiel: Huffman-Bäume.- 2.3 Mehrfachdarstellungen abstrakter Daten.- 2.3.1 Darstellungen komplexer Zahlen.- 2.3.2 Manifeste Typen.- 2.3.3 Datengesteuerte Programmierung.- 2.4 Systeme mit generischen Operatoren.- 2.4.1 Generische Arithmetikoperatoren.- 2.4.2 Kombination von Operanden verschiedenen Typs.- 2.4.3 Beispiel: Symbolische Algebra.- 3 Modularität, Objekte und Zustände.- 3.1 Zuweisungen und lokale Zustände.- 3.1.1 Lokale Zustandsvariablen.- 3.1.2 Der Preis der Zuweisung.- 3.1.3 Die Vorzüge der Zuweisung.- 3.2 Das Umgebungsmodell der Auswertung.- 3.2.1 Die Auswertungsregeln.- 3.2.2 Auswertung einfacher Prozeduren.- 3.2.3 Rahmen als Ort, an dem sich der lokale Zustand befindet.- 3.2.4 Interne Definitionen.- 3.3 Modelle mit veränderbaren Daten.- 3.3.1 Veränderbare Listenstrukturen.- 3.3.2 Darstellung von Warteschlangen.- 3.3.3 Darstellung von Tabellen.- 3.3.4 Ein Simulator für digitale Schaltkreise.- 3.3.5 Propagierung von Beschränkungen.- 3.4 Datenströme.- 3.4.1 Datenströme als Standardschnittstellen.- 3.4.2 Prozeduren höherer Ordnung für Datenströme.- 3.4.3 Implementierung von Datenströmen.- 3.4.4 Datenströme unendlicher Länge.- 3.4.5 Datenströme und verzögerte Auswertung.- 3.4.6 Mit Datenströmen Modelle von lokalen Zuständen bilden.- 4 Metalinguistische Abstraktion.- 4.1 Der metazirkuläre Evaluator.- 4.1.1 Das Kernstück des Evaluators.- 4.1.2 Darstellung von Ausdrücken.- 4.1.3 Bearbeitung von Umgebungen.- 4.1.4 Der Evaluator als Lisp-Programm.- 4.1.5 Behandlung von Ausdrücken als Programm.- 4.2 Variationen zu einem Schema.- 4.2.1 Auswertung in normaler Reihenfolge.- 4.2.2 Andere Arten der Bindung.- 4.3 Module.- 4.3.1 Verwendung von Umgebungen zum Erzeugen von Modulen.- 4.3.2 Module in einem System für generische Arithmetik.- 4.4 Logikprogrammierung.- 4.4.1 Deduktiver Informationsabruf.- 4.4.2 Wie das Anfragesystem funktioniert.- 4.4.3 Ist Logikprogrammierung Mathematische Logik?.- 4.5 Implementierung des Anfragesystems.- 4.5.1 Die Treiberschleife und Instantiierung.- 4.5.2 Der Evaluator.- 4.5.3 Finden von Aussagen durch Mustervergleich.- 4.5.4 Regeln und Unifikation.- 4.5.5 Die Datenbank.- 4.5.6 Weitere nützliche Prozeduren.- 5 Rechnen mit Registermaschinen.- 5.1 Entwurf von Registermaschinen.- 5.1.1 Eine Sprache zur Beschreibung von Registermaschinen.- 5.1.2 Abstraktion beim Entwurf von Maschinen.- 5.1.3 Unterprogramme.- 5.1.4 Implementierung der Rekursion mit einem Keller.- 5.1.5 Ein Simulator für Registermaschinen.- 5.2 Der Evaluator mit expliziter Steuerung.- 5.2.1 Der Kern des Evaluators mit expliziter Steuerung.- 5.2.2 Auswerten von Sequenzen und Endrekursion.- 5.2.3 Bedingte Ausdrücke und andere Sonderformen.- 5.2.4 Laufenlassen des Evaluators.- 5.2.5 Interne Definitionen.- 5.3 Übersetzen.- 5.3.1 Die Struktur des Übersetzers.- 5.3.2 Übersetzen Übersetzen von Ausdrücken.- 5.3.3 Datenstrukturen des Übersetzers.- 5.3.4 Elementare Codegeneratoren.- 5.3.5 Ein Beispiel für übersetzten Code.- 5.3.6 Die Schnittstelle zwischen übersetztem Code und dem Evaluator.- 5.3.7 Lexikalische Adressierung.- 5.4 Speicherzuteilung und Speicherbereinigung.- 5.4.1 Speicher als Vektoren.- 5.4.2 Als ob der Speicher unendlich wäre.- Anhang zur deutschen Ausgabe.- Stichwortverzeichnis.