Traditional mathematics provides a framework for dealing precisely with notions of “what is.” Computation provides a framework for dealing precisely with notions of “how to.” Computation provides us with new tools to express ourselves.
This has already had an impact on the way we teach other engineering subjects.
About 350 years ago Descartes, Galileo, Newton, Leibnitz, Euler, and their contemporaries turned mechanics into a formal science.
In the process they invented continuous variables, coordinate geometry, and calculus. This achievement gives us the words to say such sentences as, “When the car struck the tree it was going 50 km/hour.” Now every child can understand this sentence and know what is meant by it.
We also show them the formulation of Kirchoff’s laws, which describe the behaviors of interconnections.
From these facts it is possible, in principle, to deduce the behavior of an interconnected combination of components.
We expect the student to learn to solve problems by an inefficient process: the student watches the teacher solve a few problems, hoping to abstract the general procedures from the teacher’s behavior with particular examples.
The student is never given any instructions on how to abstract from examples, nor is the student given any language for expressing what has been learned. In particular, in an introductory subject on electrical circuits we show students the mathematical descriptions of the behaviors of idealized circuit elements such as resistors, capacitors, inductors, diodes, and transistors.
But the advances that look like giant steps to us will pale into insignificance by contrast with the even bigger steps in the future.
Sometimes I try to imagine what we, the technologists of the second half of the 20th century, will be remembered for, if anything, hundreds of years from now.