正在加载图片...
On many occasions, a problem naturally suggests one design recipe On others, a programmer must choose from among several possibilities; each choice may produce programs with vastly different organizations. Making choices is natural for a creative programmer. But, unless a programmer is thoroughly familiar with the bag of design recipes to choose from and completely understands the consequences of choosing one over the other, the process is necessarily ad hoc and leads to whimsical, bad designs. We hope that by mapping out a collection of design recipes we can help programmers understand what to choose from and how to choose Now that we have explained what we mean by" programming"and"program design, "the reader can see why and how teaching program design instills thinking skills that are important in a variety of professions. To design a program properly, a student must 1. analyze a problem statement, typically stated as a word problem; 2. express its essence, abstractly and with examples 3. formulate statements and comments in a precise language; 4. evaluate and revise these activities in light of checks and tests; and 5. pay attention to details All of these are activities that are useful for a businessman, a lawyer, a journalist, a scientist, an engineer, and many others While traditional programming requires these skills, too, beginners often don' t understand thi connection. The problem is that traditional programming languages and traditional forms of programming force students to perform a large amount of book-keeping work and to memorize a large number of language-Specific facts. In short, menialwork drowns the teaching of essential skills. To avoid this problem, teachers must use a programming environment that imposes as little overhead as possible and that accommodates beginners. Because such tools didn't exist when we started, we developed them The Choice of scheme and DrScheme We ascribe beauty to that which is simple, which has no superfluous parts which exactly answers its end, which stands related to all things, which is the mean of many extremes Ralph Waldo Emerson, The Conduct of life We have chosen Scheme as the programming language for this book, and we have designed and implemented DrScheme, a programming environment for the language with special assistance for beginning students. The programming environment is freely available at the books official Web site 3 Still, the book it is not about programming in Scheme. We only use a small number of Scheme constructs in this book. Specifically, we use six constructs(function definition and application, conditional expressions, structure definition, local definitions, and assignments) plus a dozen or so basic functions. This tiny subset of the language is all that is needed to teach the principles of computing and programming. Someone who wishes to use Scheme as a tool will need to read additional material 12 TEAM FLY PRESENTS-12- On many occasions, a problem naturally suggests one design recipe. On others, a programmer must choose from among several possibilities; each choice may produce programs with vastly different organizations. Making choices is natural for a creative programmer. But, unless a programmer is thoroughly familiar with the bag of design recipes to choose from and completely understands the consequences of choosing one over the other, the process is necessarily ad hoc and leads to whimsical, bad designs. We hope that by mapping out a collection of design recipes, we can help programmers understand what to choose from and how to choose. Now that we have explained what we mean by ``programming'' and ``program design,'' the reader can see why and how teaching program design instills thinking skills that are important in a variety of professions. To design a program properly, a student must: 1. analyze a problem statement, typically stated as a word problem; 2. express its essence, abstractly and with examples; 3. formulate statements and comments in a precise language; 4. evaluate and revise these activities in light of checks and tests; and 5. pay attention to details. All of these are activities that are useful for a businessman, a lawyer, a journalist, a scientist, an engineer, and many others. While traditional programming requires these skills, too, beginners often don't understand this connection. The problem is that traditional programming languages and traditional forms of programming force students to perform a large amount of book-keeping work and to memorize a large number of language-specific facts. In short, menial work drowns the teaching of essential skills. To avoid this problem, teachers must use a programming environment that imposes as little overhead as possible and that accommodates beginners. Because such tools didn't exist when we started, we developed them. The Choice of Scheme and DrScheme We ascribe beauty to that which is simple, which has no superfluous parts; which exactly answers its end, which stands related to all things, which is the mean of many extremes. -- Ralph Waldo Emerson, The Conduct of Life We have chosen Scheme as the programming language for this book, and we have designed and implemented DrScheme, a programming environment for the language with special assistance for beginning students. The programming environment is freely available at the book's official Web site.3 Still, the book it is not about programming in Scheme. We only use a small number of Scheme constructs in this book. Specifically, we use six constructs (function definition and application, conditional expressions, structure definition, local definitions, and assignments) plus a dozen or so basic functions. This tiny subset of the language is all that is needed to teach the principles of computing and programming. Someone who wishes to use Scheme as a tool will need to read additional material. TEAMFLY TEAM FLY PRESENTS
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有