Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
How to Design Programs: An Introduction to Programming and Computing
 
 

How to Design Programs: An Introduction to Programming and Computing [Hardcover]

Matthias Felleisen , Robert Bruce Findler , Matthew Flatt , Shriram Krishnamurthi
5.0 out of 5 stars  See all reviews (10 customer reviews)
List Price: CDN$ 85.50
Price: CDN$ 68.40 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 17.10 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.ca. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Tuesday, May 29? Choose One-Day Shipping at checkout.

Frequently Bought Together

Customers buy this book with How to Read and Do Proofs: An Introduction to Mathematical Thought Processes CDN$ 73.10

How to Design Programs: An Introduction to Programming and Computing + How to Read and Do Proofs: An Introduction to Mathematical Thought Processes
Price For Both: CDN$ 141.50

Show availability and shipping details


Product Details


Product Description

Book Description

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.

About the Author

Matthias Felleisen is Trustee Professor of Computer Science at Northeastern University, recipient of the Karl V. Karlstrom Outstanding Educator Award, and co-author (with Daniel Friedman) of The Little Schemer and three other "Little" books published by the MIT Press.

Robert Bruce Findler is Assistant Professor of Electrical Engineering and Computer Science at Northwestern University.

Matthew Flatt is Associate Professor in the School of Computing at the University of Utah.

Shriram Krishnamurthi is Assistant Professor of Computer Science at Brown University.

Inside This Book (Learn More)
First Sentence
Getting Started We learn to compute at a young age. Read the first page
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

 

Customer Reviews

10 Reviews
5 star:
 (10)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
5.0 out of 5 stars (10 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most helpful customer reviews

5.0 out of 5 stars Should be read by Everyone who wants to program., Sep 27 2001
This review is from: How to Design Programs: An Introduction to Programming and Computing (Hardcover)
Have you ever looked at other people's codes and said to yourself something like "No... this isn't the way it should be written!". Or, worst yet, have you ever been asked by someone who wants you to read his/her codes and tell him/her what does it do?

Both things happened quite often, though.

The problems are mainly because they don't know how to "design" their programs properly. Being able to progam doesn't mean being to design/organize a good code at all. And being good at finding/inventing algorithms for problem solving doesn't mean that either.

One another thing, I (maybe just only me, I don't know) think that C shouldn't be taught as the first language (at least, not anymore). This is mainly because, in C, you can hardly express yourself. Also, C codes look cryptic to those new to programming. And you must know a lot, and practice a lot, (that takes a lot of time, friend) to be able to express what you want.
And also, several times, I saw many people just playing around with the * and & (well, the pointer-dereferencing, and address-taking symbol in C/C++), adding one more, deleting one off, to see which will make their programs work. (Sometime, it just works by miracle...)

This book, using Scheme (a modern dialect of Lisp) as the language of choice. I, personally, agree of choosing it. Scheme was designed in the way such that programmers can focus on what they want to express, rather than imprementation details. From my own experience, I became a better programmer after learning it. (I was already a C++ programmer by that time. I just have to use Lisp on my study/research).

One thing that I like is that, it focused on how to "design" programs, not just how to program, while college classes are mostly focused on how to write programs. No matter how students write their codes, if it could run, then it is fine.

Then, I think, a lot of people do have ability to program, a lot are good at it. However, the number of people who knows how to design programs are much lesser. And this would result in something like those silly examples at the beginning of this review. Therefore, this book had emphasized on quite an important thing.

And the last thing to say about this one is: MIT Press' textbooks are very high-quality, and this one is not an exception. It is very easy to read and to understand. And, even the html version is available at the book's official homepage, it is nice to have the printed version.

How to "design" programs is very important for every CS major people, and is important to everyone else in general (to program your "everyday life schedule", etc). Whether you want to become a professional programmer (write codes for living, etc) or not.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars the best resource for a college-level introduction, May 13 2001
By 
This review is from: How to Design Programs: An Introduction to Programming and Computing (Hardcover)
Eric Raymond writes in "How to be a hacker" that learning Lisp will make you a better programmer for the rest of your days. And this book shows why. With Lisp (actually Scheme, but never mind that), your programs match your problem statement. Programming is no longer a mystical experience where "it suddenly works". With this book (and Scheme) you understand *why* it works. In this day and age, it is exactly the book that freshmen should see .. especially those who think they already know how to program. Thanks for writing this book. It will make my teaching easier.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars This is "the book" on programming, April 29 2001
By A Customer
This review is from: How to Design Programs: An Introduction to Programming and Computing (Hardcover)
This book is going to be a classic. Unlike other introductory books on programming, it focuses on ideas not examples. It teaches students to organize their thoughts. It emphasizes thinking through problems. It pushes students to formulate concise comments, illustrate them with concrete examples, and test their programs systematically and automatically. I have not seen anything like this before. If you want to know the "why" and not just play with examples, buy this book! Note: It uses Scheme, which isn't widely used in industry (yet?) but don't let this deter you. The language is free, and it is very simple.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
Want to see more reviews on this item?
 Go to Amazon.com to see all 14 reviews  4.4 out of 5 stars 
 
 
Most recent customer reviews








Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges