By now, Scheme is a well-established programming language and is finding increasing popularity in programming courses for undergraduates. This undergraduate textbook provides a first course in programming in Scheme and an introduction to programming principles.
Reihe
Auflage
Softcover reprint of the original 1st ed. 1998
Sprache
Verlagsort
Zielgruppe
Für Beruf und Forschung
Lower undergraduate
Illustrationen
Maße
Höhe: 244 mm
Breite: 170 mm
Dicke: 20 mm
Gewicht
ISBN-13
978-1-4612-7243-4 (9781461272434)
DOI
10.1007/978-1-4612-1682-7
Schweitzer Klassifikation
1.1 LISP.- 1.2 Scheme.- 1.3. Structure of the Text.- 1. Expressions and Values.- 1.1. Values.- 1.2. Expressions.- 1.3. The Scheme Interpreter.- 1.4. Definitions.- Appendices.- Problems.- 2. Procedures.- 2.1. Defining and Applying Procedures.- 2.2. Building Procedures Using Application.- 2.3. The Abstraction Principle.- 2.4. Polymorphic Procedures.- 2.5. Meta-Procedures.- Appendices.- Problems.- 3. Evaluation Control and Recursion.- 3.1. Evaluation Control.- 3.2. Short Circuit Evaluation.- 3.3. Conditional Evaluation.- 3.4. Recursion.- 3.5. Thinking Recursively.- Problems.- 4. Data Control.- 4.1. Procedure Blocks.- 4.2. The Environment Model of Eager Evaluation.- 4.3. Abstract Data Types.- 4.4. Overloading.- 4.5. Domains as Data.- 4.6. Data-Driven Programming.- Appendices.- Problems.- 5. Iteration.- 5.1. Modeling Systems.- 5.2. Computations as Data.- 5.3. Finding Iterative Solutions.- 5.4. Tail Recursion: Are do-loops Necessary?.- 5.5. Finding Elementary Solutions.- Appendices.- Problems.- 6. Recursive Domains.- 6.1. Recursive Domains as Hierarchies.- 6.2. List Recursion.- 6.3. The Signal Processing Paradigm.- 6.4. Trees and Tree Recursion.- Appendices.- Problems.- 7. Variables.- 7.1. Stores.- 7.2. Variables and References.- 7.3. Commands.- 7.4. L-Value versus R-Value.- 7.5. Aliasing.- 7.6. Define Versus Assign.- 7.7. Imperative Programming.- 7.8. The Bank Account Example.- Appendices.- Problems.- 8. Expressions as Values.- 8.1. Macros.- 8.2. Semantic Prototyping.- 8.3. Alpha.- 8.4. Beta.- Appendices.- Problems.- References.