June 15, 1997
June 15, 1997
June 18, 1997
2.6.1 - 2.6.7
A Computing Course for All Freshmen Engineering Students (Half Architecture, Half Programming)
Yale N. Patt, Kevin J. Compton Dept. of Electrical Engineering & Computer Science University of Michigan, Ann Arbor
The EECS Department at Michigan has recently changed its first required course for its own majors from a high level language programming course to one that spends the first half of the semester studying the underlying hardware structure. This course is also being selected as the course of choice by many non-computer engineering majors with good results. This paper describes the course, our rationale, and some data as it relates to non-majors.
The Electrical Engineering and Computer Science Department at the University of Michigan, Ann Arbor, has recently instituted a major change in its requirements for our undergraduate majors. We feel strongly that the conventional model practiced throughout the country of introducing majors to computing via a high level language programming course is flawed. Our answer to whether it is better to start with Pascal, C, or C++ is "none of the above." Some professors in other engineering disciplines may say, "Right! Fortran."
Wrong! No programming language. For our own majors, we felt it was important to present computing from the bottom up, that is, to first introduce the basic logic structures, then the basic computer, and only after the student understands what is going on underneath do we begin to teach him/her to program, in our case, in C. What we didn't expect is the resounding acceptance by a number of other engineering students. Statements from some mechanical engineers, for example, have pointed to the automobile, and the large number of features that are microprocessor controlled. "We have a pretty good idea how to deal with combustion," they argue, "but what the future automotive engineers are going to have to know is how to make appropriate use of microprocessors in the automobile, and that means understanding how the microprocessor works, not simply how to program it."
The course, EECS 100 Introduction to Computing, was developed primarily by the two authors, although it has benefited greatly from input from (first) other members of the Computer Science and Engineering curriculum committee, in particular Ann Ford and David Kieras, and (more recently) from the TAs who have suffered through the first three iterations, in particular, PhD student Sanjay Patel. Details of the course are described in a companion paper in this conference, "Introduction to Computing: The Correct (Bottom-up) Approach". In this paper we want to emphasize the details that are particularly relevant to the non-computer engineer.
Patt, Y. N., & Compton, K. J. (1997, June), A Computing Course For All Freshmen Engineering Students (Half Architecture, Half Programming) Paper presented at 1997 Annual Conference, Milwaukee, Wisconsin. https://peer.asee.org/6462
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: © 1997 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