Abstract

Hartmanis calls computer science “a new species among the sciences,” whose science and engineering aspects are particularly close. I have argued that it would be more accurate to call computer science a new species of engineering [Loui 1987]. Let me summarize the argument. The goal of engineering is the production of useful things, economically, for the benefit of society. These things include artifacts such as steel bridges, electronic circuits, automobile engines, and jet aircraft. Engineers also design manufacturing and chemical processes. A process is similar to a computational algorithm, which is a method for processing information. (Whether a process or an algorithm is patentable is a legalistic matter,) Like traditional engineering disciplines, computer science is concerned with producing useful things such as microprocessors, software, and databases. Furthermore, economic constraints require engineers to seek efficient solutions to technical problems in the design and manufacture of products. An emphasis on efficiency is also a distinguishing characteristic of computer science. Unlike other creative arts, engineering disciplines have a scientific basis—the engineering sciences: statics, dynamics, mechanics of solids, thermodynamics, fluid mechanics, and so on. Since World War II, all engineering disciplines have matured by incorporating their scientific foundations. The scientific fundamentals of computer science include Boolean algebra, computability theory, and automata and formal languages. The fundamental concepts and principles of computer science are rooted not in the physical phenomena of force, heat, and electricity, but in mathematics. Computer science is therefore a new kind of engineering. I agree with Hartmanis that attempts to distinguish computer science from computer engineering are futile. One conventional view—espoused by computer engineers-is that computer science comprises only theory and computer engineering comprises everything else. But excluding theory of computation from computer engineering would be as inconceivable as excluding circuit theory, linear system theory, communication theory, control theory, electromagnetic theory, and semiconductor theory from modern electrical engineering. A fortiori, the role of automata theory in computer science is analogous to the role of linear system theory in electrical engineering: the theories provide effective models for the design, analysis, and understanding of programs and circuits.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.