Instructor s Manual to Accompany Structure and Interpretation of Computer Programs

Author: Julie Sussman
Publisher: Mit Press
ISBN: 9780262692205
Format: PDF, ePub, Docs
Download Now
This instructor's manual and reader's guide accompanies the second edition of Structure and Interpretation of Computer Programs, by Harold Abelson and Gerald Jay Sussman with Julie Sussman. It contains discussions of exercises and other material in the text as well as supplementary material, additional examples and exercises, and teaching suggestions. An appendix summarizes the Scheme programming language as used in the text, showing at what point in the text each element of Scheme is introduced.

The Reasoned Schemer

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262348780
Format: PDF
Download Now
The goal of this book is to show the beauty and elegance of relational programming, which captures the essence of logic programming. The book shows how to implement a relational programming language in Scheme, or in any other functional language, and demonstrates the remarkable flexibility of the resulting relational programs. As in the first edition, the pedagogical method is a series of questions and answers, which proceed with the characteristic humor that marked The Little Schemer and The Seasoned Schemer. Familiarity with a functional language or with the first five chapters of The Little Schemer is assumed. For this second edition, the authors have greatly simplified the programming language used in the book, as well as the implementation of the language. In addition to revising the text extensively, and simplifying and revising the "Laws" and "Commandments," they have added explicit "Translation" rules to ease translation of Scheme functions into relations.

How to Design Programs

Author: Matthias Felleisen
Publisher: MIT Press
ISBN: 9780262062183
Format: PDF, ePub
Download Now
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers.The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks.All the book's support materials are available for free on the Web. The Web site includes the environment, teacher guides, exercises for all levels, solutions, and additional projects.

Scheme and the Art of Programming

Author: George Springer
Publisher: Mit Press
ISBN: 9780262691369
Format: PDF, Docs
Download Now
Scheme is the fast track to getting started in programming. Its clear semantics, simple syntax, and interactive environment enable the beginning student to write sophisticated programs after just two brief chapters. As a first introduction to programming, it is an ideal vehicle for learning to reason correctly about computation. Starting from a few fundamental concepts and principles - procedural and syntactic abstractions, recursion, iteration, state, and control - Springer and Friedman develop the ideas and techniques of programming. They include both traditional topics such as numeric and symbolic computation, and also cover current issues such as streams, object-oriented programming and continuations for abstracting control. The presentation is designed for the introductory college student It is more sophisticated and complete than The Little LISPer, but not as advanced as Structure and Interpretation of Computer Programs. Springer and Freidman provide a solid introduction to data abstraction by presenting topics such as list strings, vectors, matrices, sets, relations, and functions. Among the examples used to illustrate object oriented programming are stacks, queues, circular lists, hash tables, and a gas station simulation. George Springer is Professor of Mathematics and Computer Science and Daniel P. Friedman is Professor of Computer Science. Both are at Indiana University, one of the centers for research and development of Scheme.

Functional Differential Geometry

Author: Gerald Jay Sussman
Publisher: MIT Press
ISBN: 0262019345
Format: PDF
Download Now
Physics is naturally expressed in mathematical language. Students new to the subject must simultaneously learn an idiomatic mathematical language and the content that is expressed in that language. It is as if they were asked to read Les Misérables while struggling with French grammar. This book offers an innovative way to learn the differential geometry needed as a foundation for a deep understanding of general relativity or quantum field theory as taught at the college level. The approach taken by the authors (and used in their classes at MIT for many years) differs from the conventional one in several ways, including an emphasis on the development of the covariant derivative and an avoidance of the use of traditional index notation for tensors in favor of a semantically richer language of vector fields and differential forms. But the biggest single difference is the authors' integration of computer programming into their explanations. By programming a computer to interpret a formula, the student soon learns whether or not a formula is correct. Students are led to improve their program, and as a result improve their understanding.

Essentials of Programming Languages

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262062798
Format: PDF, ePub
Download Now
1. Inductive sets of data 2. Data abstraction 3. Expressions 4. State 5. Continuation-passing interpreters 6. Continuation-passing style 7. Types 8. Modules 9. Objects and classes.