It is a goal of this department to provide a engineering education to all of its students.1.5 Per Accreditation Board for Engineering and Technology:
Engineering is the profession in which a knowledge of the mathematical and natural sciences, gained by study, experience, and practice, is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind.1.6The American Heritage Dictionary defines engineering as:
The application of scientific principles to practical ends as the design, construction, and operation of efficient and economical structures, equipment, and systems.Theodore Von Karman, American rocket scientist and engineer stated the distinction between science and engineering as follows:
Scientists study what is.For a discussion of the history of definitions of engineering, see Appendix A of [R20].
Engineers create what is not.
We believe that the engineering discipline is in the midst of a phase
transition of some importance: the fundamental methods of engineering
from concept through design and implementation are advancing to take
advantage of advances in modern technology. In the
building-construction industry, which has and likely will continue to
follow ``traditional'' engineering approaches, architects design
buildings that get built by construction teams that include
carpenters, bricklayers, etc. In the past, that division of labor has
been followed when the designers were engineers: the engineers
generate designs for things that get fabricated by technicians and/or
a manufacturing team. The metaphor is that the designers ``throw the
design over the wall'' to the implementation team, implying that there
need not be a lot of personal communication between the two groups.
Usually, some number of prototypes (trial implementations of the
design) are fabricated for testing and possible redesign before the
design is finalized and delivered to the manufacturing team.
Advances in information technology are now replacing this traditional cut-and-try approach with what we call the ``simulate-and-fabricate'' approach:
Modern design engineer iterate through many virtual prototypes usually without the aid of technicians or others, until the simulations and rule-checkers indicate that the design is sound. Then a prototype is built using automated fabrication methods with say a 99% probability of success, but the turn-around time may be many weeks, e.g., the time to spin an ASIC chip. If the prototype passes its acceptance tests, the design is approved and committed to manufacturing. Thus the modern design engineer must be skillful at expressing designs in the appropriate formal notations and at using computerized tools for design exploration. Becoming skilled in the use of such notations and tools requires a lot of practice.
The things that computer scientists and computer engineers design are
mostly software.1.8What had happened is that software engineering exists under the new
simulate-and-fabricate paradigm by default:
The classical engineering structure quickly fell out of favor with software engineering to be replaced by a structure more like that of surgeons, who do not simply make a diagnosis and throw a prescription over the wall for a surgical procedure to be implemented by technicians who specialize in cutting.1.11 The need for quick re-evaluation as new information unfolds and/or problems develop during the procedure makes the classical engineering paradigm infeasible.
The most common modern organization structure is that design, implementation, and unit testing gets handled by the design team, while systems-level testing is done by a separate testing team that is involved in the project from its inception. Sometimes the size of the testing team exceeds that of the design team.