June 22, 2003
June 22, 2003
June 25, 2003
8.1023.1 - 8.1023.11
Software: Craft, Science, and Engineering
Ruth E. Davis, John R. Allen Santa Clara University
Abstract What is Software Engineering — art, trade, craft, science, or profession? Some believe that, at least in its current state, software engineering is an oxymoron. If we believe that there is something worthy of being called software engineering, how do decide what constitutes a proper education for a software engineer? We argue that it is informative to study the history of traditional engineering, when and how it became science-based, and when and how engineering education became science-based. By learning from that example, perhaps we can speed up the adoption of appropriate foundational studies in software engineering programs, allowing us to move more rapidly from a craft to a profession.
Traditional engineering moved from what is called the “shop culture” to the “school culture” over a period of 200 years. Today “shop” engineering is relegated to trade schools, and professional engineering is the province of the colleges and universities. We will trace the mathematical advances that supported this change of perspective, and outline the corresponding shift in the educational environment as well as the sometimes-reactionary resistance to this change. We show that software science has a common mathematical root with traditional science; and that foundational problems in the mathematics of the continuous led to the development of discrete mathematics and the foundations of software science. We then illustrate how these mathematical results blossomed into modern computation, and should give rise to a “school culture” of software engineering and a corresponding professionalism.
Rise of Professionalism in Traditional Engineering When we look at what now constitutes preparation for a degree in civil, mechanical, or electrical engineering, we take a lot for granted. Imagine for a moment that you are an entering student in a traditional university’s engineering program. What if the first offering you were required to take as a Civil Engineering student was a course in heavy equipment operation? Or as a Mechanical Engineering major, you were shipped off to the auto shop? Or Electrical Engineering began with a course in basic household wiring?
Though this seems patently absurd nowadays, there’s plenty of historical precedent for this “shop culture” approach to these engineering disciplines. But as theory developed and showed its benefits in practical applications, such apprenticeship-driven, hands-on programs were replaced by what was called the “school culture.” We see the school culture in contemporary engineering programs: the first courses are heavily loaded with theory —calculus and physics: the symbolic manipulation of continuous phenomena. The “hands on” courses are relegated to labs and to the Proceedings of the 2003 American Society for Engineering Education Annual Conference & Exposition ©2003, American Society for Engineering Education
Davis, R. (2003, June), Software: Craft, Science, And Engineering Paper presented at 2003 Annual Conference, Nashville, Tennessee. 10.18260/1-2--12245
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2003 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015