This book shows readers how to best attack a wide variety of problems that they may not have previously solved. It focuses on techniques for developing the logic required to solve problems and how that logic is translated into writing effective computer programs. The author uses a consistent structure throughout the book of introducing a problem and formulating the solution based on a set of rules for creative problem solving. The solution is then represented first in pseudocode, then in a flowchart, then in C++ and finally in Visual Basic. This approach provides readers with a strong foundation in problem solving that will benefit them in areas beyond programming.
"synopsis" may belong to another edition of this title.
PROBLEM SOLVING SKILLS
The issue would seem to be intractable. How do you solve a problem that you have never been taught to solve? Or, from an instructor's point of view, how do you teach someone else to develop new, creative solutions to previously unseen problems? Are such solutions the province of the exceptionally creative? Are creative solutions truly the marks of rare sparks of genius? Or, on the other hand, are there techniques that can be taught to anyone that lead to inventive approaches to daunting problems and ultimately to solutions.
Science, mathematics, and programming instructors constantly face this question. In each field the mechanics are straightforward consisting of principles and formulas. Teaching usually involves explaining the formulas, indicating what is to be memorized, and demonstrating how the mechanics are implemented. And, with varying amounts of effort, these mechanics and the accompanying calculations, can be learned by nearly all students. The calculations involved in determining the speed of a falling object, the balancing of chemical equations, the use of the quadratic formula, and the use of the pow() function in a C++ program represent implantations of formulas that are eminently learnable. These operations are sometimes called "plug and chug" because finding a solution involves choosing the appropriate a formula (or syntax), plugging in the proper numbers, and letting a calculator (or computer) chug until an answer appears on the display.
While this does involve one type of problem solving it limits students to solving problems that they have been taught to solve, problems that have a known algorithm for determining the solution to the problem. Unfortunately, in this electronic age, solving these types of problems is generally left to devices that work tirelessly, more reliably, and thousands of times faster than the most capable human. The execution of formulas has become the domain of computers. Those who only learn how to implement known formulas such as calculating a weighted average or the solution to two equations with two unknowns are preparing to compete directly with a computer. This is a competition that cannot be won.
However, computers fail when presented a novel problem for which there is no program available. Problem solving at this level requires creativity and the intervention of human thinking. Consequently determining creative solutions to previously unseen problems is a point of focus for mathematics, physics, economics, and numerous classes in the fields of technology and engineering.
This text concentrates on this higher level of problem solving and how it can be implemented by writing computer programs. That is, the expansion of basic principles and calculations to allow more complex problems to be solved. These are problems that involve the creative application of the more fundamental ideas rather than the mere resolution of a formula. For example, finding the solution to a quadratic equation is simple. Values for each tern are substituted into the quadratic formula and the resulting expression is evaluated. A more interesting and challenging problem is how to solve a fifth order equation. Since there is no algebraic solution for equations of order higher than four, this level of problem solving is not commonly taught. However, this seemingly difficult problem can be handled by combining the methods described in this text with the power of a personal computer.
This type of problem solving is difficult to learn and even more difficult to teach. However, in an age where calculators and computers have taken over most of the fundamental calculations and many not so fundamental calculations, it is important for students to learn to solve the problems that require the creative thinking that is (at least for the moment) beyond the abilities of electronic devices.
The formula for acceleration of a falling object can be read from a physics text and programmed into a calculator. Determining the velocity of a ball dropped from the top of a building after three seconds is as simple as entering a time value into the equation. Determining the speed required to keep a satellite in orbit is not so simple. Somewhere there is probably a formula that answers the question but because that formula is not readily available the problem becomes one of applying basic concepts from physics and mathematics in a creative fashion to determine a solution to the problem. This level of problem solving, finding answers to previously unseen problems, is still the realm of humans.
THE ROLE OF THE CALCULATOR
Approximately twenty-five years ago educators made the decision to introduce the use of calculators in the classroom. The goal was straightforward and seemed reasonable at the time. In the electronic age where a hand-held device could quickly, accurately, and reliably produce arithmetic answers, everyone should learn to use the new device.
In theory, the calculator would remove the tedium from the study of mathematics by making unnecessary the memorization of multiplication tables, decimal to fraction conversions, square root algorithms, and the standard constants, such as the number of feet in a mile. Students would benefit by the substitution of problem solving skills for the hours formerly spent practicing long division, dividing fractions, and calculating interest. Motivation would skyrocket as memorization and tedious practice was replaced with fascinating problems that appealed to students' imagination.
As the price of calculators plummeted and the capabilities expanded, calculators (and later computers) took over the tasks of solving equations, graphing functions, and calculating determinates. Again the use of calculators was justified from many directions. School should be fun and the tedium of arithmetic mechanics was not. The technology has become accepted in society and students must learn to make use of the most efficient tools. The memorization of formulas is irrelevant when the formulas can be programmed into the memory of the calculator. However, the primary rationalization was the increased time that could be devoted to problem solving once the mechanics were handled by electronic devices.
Unfortunately the promise of enhanced problem solving skill has failed to materialize. Some educators consider the skill to be innate and a given student either has the ability to think creatively or he does not. More commonly teachers acknowledge the difficulty in developing these problem-solving skills not to mention the unpopularity of "word problems", and choose to focus on more formula-based skills.
Fortunately the microprocessor that has made it unnecessary for people to determine a 15% tip or to calculate their taxes (which maybe handled by a computer program or it can be a truly creative exercise requiring teams of accountants and lawyers), offers expanded options in methods for attacking novel problems. Consider the daily compounding of interest for a bank account. The formula for daily compounding is not commonly known and no one would be interested in actually calculating interest on an account by adding the interest to the principle on a daily basis for perhaps five years. However it only takes minutes to program a computer to perform the thousands of calculations required. The end result is an answer to the problem despite the fact that the formula for compound interest is unknown.
THE CHANGING ROLE FOR STUDENTS
The reality of the calculator and the computer has fundamentally changed the role of the student in the problem solving process. Prior to the introduction of electronic calculating devices all calculations were made by hand and the student's role was to execute the algorithms. The teacher provided the plan of attack whether it was the method for multiple digit multiplication, the formula for compound interest, or the equations for calculating probabilities. Students memorized formulas and performed calculations.
The execution of algorithms has, for better or worse, become the domain of the machine. The number of people able to balance a checkbook, perform long division, or calculate a square root without a calculator is rapid diminishing. While the loss of basic numeric skills may be unfortunate and appears to be accompanied by the loss of understanding of fundamental arithmetic concepts, it is clear that the most adept human is no match for a computer in terms of speed, accuracy, or the ability to work for days on end without getting hungry, sleepy, or careless.
However, if the student is no longer needed to manually make calculations, it becomes critical that he take on a new role previously filled by the teacher. It is the student who must develop creative solutions to problems previously unseen. That is, students must learn to develop new algorithms without the aid of a teacher, algorithms that may or may not be left to a computer to execute later. In short, problem-solving skills have become critically important.
The converse of this idea brings the concept into even higher relief. If students are only taught to execute algorithms then they are being prepared to compete directly with computers. This is an unnecessary and a futile contest. It is important that students learn to perform the higher functions that are beyond the abilities of computers.
PROBLEM SOLVING SKILLS
This returns us to the original problem. How can problem-solving skills be taught? How can insight into the resolution of an arbitrary problem be developed? How can the level of creative thinking be enhanced for the students in programming, science and mathematics classes? The problem is not intractable. There are two methods for developing precisely these skills.
The first step is to examine a set of approaches to problem solving. Because science and mathematics classes usually concentrate on individual principles and the applicable formulas, students often find that their first computer programming clas...
"About this title" may belong to another edition of this title.
Book Description Prentice Hall, 2002. Paperback. Book Condition: New. Bookseller Inventory # DADAX0130618829
Book Description Prentice Hall, 2002. Paperback. Book Condition: New. book. Bookseller Inventory # 130618829
Book Description Prentice Hall, 2002. Paperback. Book Condition: New. Bookseller Inventory # P110130618829
Book Description Prentice-Hall. Book Condition: New. pp. 391. Bookseller Inventory # 5816770