Montreal, Canada
June 16, 2002
June 16, 2002
June 19, 2002
2153-5965
11
7.228.1 - 7.228.11
10.18260/1-2--10507
https://peer.asee.org/10507
516
Main Menu
Session 2632
Assembly Language Curriculum Realignment in Computer Engineering at UCSC Stephen C. Petersen, Alexandra Carey, Richard Hughey, David Meek Department of Computer Engineering, University of California, Santa Cruz petersen@soe.ucsc.edu
Introduction
Introduction to Computer Organization, numbered CMPE12C is the first lower-division computer-related course taken by most undergraduate students majoring in Computer Science (CS), Computer Information Systems (CIS), Electrical Engineering (EE) or Computer Engineering (CMPE) at the University of California, Santa Cruz. It teaches the functions and interrelations between the basic parts of computers and introduces assembly language to all students within the School of Engineering (except bioinformatics majors). Hence, effectively teaching the foundations of computer organization is important at this early stage for several reasons. First, students frequently solidify attitudes about whether or not to pursue fields requiring further study involving computers. Secondly, our experience in the classroom reveals that many of them find the hurdle of bridging the conceptual relationship between computer hardware and low-level programming very difficult to leap. This is not too surprising if we pause for a moment to gaze back at how computers have developed historically and note that a viable abstraction of the actual hardware is necessary and heuristic to real insightful understanding. Basic topics like assembly-language programming, registers as ports or memory, interrupts and virtual machines require a solid foundation built on simple initial ideas that later on can be understood with more depth and subtlety. Students need to form their own way of intuiting these things based on empirical knowledge formed as a consequence of programming real hardware they can interact with – not merely abstractions of computer-simulated hardware presented only as virtual machines or found opaquely within a complex workstation.
This paper discusses our attempt to address this problem by focusing on one critical aspect of how computer organization is taught; namely, on the way assembly language is discussed and intuitively understood by trying to make the relationship between a central processing unit (CPU) and its associated organized hardware tangibly and lucidly transparent to students. Prior to the revisions discussed below, the programming component of CMPE12C was taught on simulators and Personal Computers (PC’s), a situation affording no satisfying view of the real underlying hardware inside. More often than not, students pondered the concrete more than the abstract – they wanted to know what was really going on “under the hood”. Thus, our agreed upon primary goal was to essentially bring the hardware conceptually closer to students by showing them the excitement of programming hardware they could readily see, feel and
Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition Copyright ©2002, American Society for Engineering Education
Main Menu
Petersen, S., & Hughey, R., & Meek, D., & Carey, A. (2002, June), Assembly Language Curriculum Realignment In Computer Engineering At Ucsc Paper presented at 2002 Annual Conference, Montreal, Canada. 10.18260/1-2--10507
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: © 2002 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