جزییات کتاب
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 "This book provides students with a working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements. The book provides views of programming languages using varying levels of abstraction, maintaining a connection between the high-level and low-level views. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press Web site." "For this new edition, each chapter has been revised and new exercises have been added. Additions have been made to the text, including new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers."--Jacket. Read more... Inductive sets of data -- Data abstraction -- Expressions -- State -- Continuation-passing interpreters -- Continuation-passing style -- Types -- Modules -- Objects and classes