How To Design Programs: An Introduction To Programming and Computing

How To Design Programs: An Introduction To Programming and Computing

Exposes readers to two fundamentally new ideas: program design guidelines and programming environment.

Publication date: 01 May 2002

ISBN-10: 0262062186

ISBN-13: n/a

Paperback: 720 pages

Views: 95,777

Type: N/A

Publisher: The MIT Press

License: n/a

Post time: 24 Oct 2004 10:08:54

How To Design Programs: An Introduction To Programming and Computing

How To Design Programs: An Introduction To Programming and Computing Exposes readers to two fundamentally new ideas: program design guidelines and programming environment.
Tag(s): Introduction to Computer Programming
Publication date: 01 May 2002
ISBN-10: 0262062186
ISBN-13: n/a
Paperback: 720 pages
Views: 95,777
Document Type: N/A
Publisher: The MIT Press
License: n/a
Post time: 24 Oct 2004 10:08:54
Book excerpts:

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.

Reviews:

Amazon.com

:) "... it focused on how to 'design' programs, not just how to program, while college classes are mostly focused on how to write programs."
 




About The Author(s)


Matthias Felleisen is a Trustee Professor in the College of Computer and Information Science at Northeastern University in Boston, Massachusetts. In the past he has taught at Rice University after receiving his PhD from Indiana University under the direction of Daniel P. Friedman. Felleisen's interests include programming languages, including software tools, program design, software contracts, and many more.

Matthias Felleisen

Matthias Felleisen is a Trustee Professor in the College of Computer and Information Science at Northeastern University in Boston, Massachusetts. In the past he has taught at Rice University after receiving his PhD from Indiana University under the direction of Daniel P. Friedman. Felleisen's interests include programming languages, including software tools, program design, software contracts, and many more.


Robert Bruce Findler is an associate professor of electrical engineering and computer science at Northwestern University. He is also a member of the PLT group and, as such, responsible for the creation and maintenance of DrRacket. In addition to DrRacket, Findler has contributed numerous components to Racket and supervises its Web-based software library, called PLaneT. Findler is also a leading team member of the ProgramByDesign project.

Robert Bruce Findler

Robert Bruce Findler is an associate professor of electrical engineering and computer science at Northwestern University. He is also a member of the PLT group and, as such, responsible for the creation and maintenance of DrRacket. In addition to DrRacket, Findler has contributed numerous components to Racket and supervises its Web-based software library, called PLaneT. Findler is also a leading team member of the ProgramByDesign project.


Matthew Flatt is a professor of computer science at the University of Utah in Salt Lake City. He is also a member of the core development team for the Racket programming language.

Matthew Flatt

Matthew Flatt is a professor of computer science at the University of Utah in Salt Lake City. He is also a member of the core development team for the Racket programming language.


Shriram Krishnamurthi is Professor of Computer Science at Brown PLTComputer Science DepartmentBrown University.

Shriram Krishnamurthi

Shriram Krishnamurthi is Professor of Computer Science at Brown PLTComputer Science DepartmentBrown University.


Book Categories
Sponsors