## How to Design Programs
---
# How to Design Programs
An Introduction to Programming and Computing
Matthias Felleisen Robert Bruce Findler Matthew Flatt Shriram Krishnamurthi
---
Third printing, 2002 ©2001 Massachusetts Institute of Technology
Illustrations ©2000 Torrey Butzer
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.
Library of Congress Catalogingin- Publication Data
How to design programs: an introduction to programming and computing / Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi; chapter art by Torrey Butzer p. cm.
Includes index. ISBN 0- 262- 06218- 6 (hc.: alk.
paper) 1. Computer Programming. 2. Electronic data processing.
QA76.6 .H697 2001 005.1'2—dc21
---
## Contents
Contents v
List of Figures xiii
Preface xviiWhy Everyone Should Learn to Program xxDesign Recipes . . . . . . . . . . . . . . . . . . . . xxThe Choice of Scheme and DrScheme . . . . . . . . . . . . . . . . . . .xxivThe Parts of the Book . . . . . . . . . . . . . . . . . . . xvIAcknowledgements . . . . . . . . . . . . . . . . . . .