Austin, Texas
June 14, 2009
June 14, 2009
June 17, 2009
2153-5965
Electrical and Computer
7
14.31.1 - 14.31.7
10.18260/1-2--5725
https://peer.asee.org/5725
2709
Eric Freudenthal is an Assistant Professor of Computer Science at the University of Texas at El Paso.
Brian Carter earned a B.S. in Computer Science at the University of Texas at El Paso. He is now a software engineer at Lockheed Martin.
A Gentle Introduction to Addressing Modes in a First Course in Computer Organization
Abstract
This paper describes the reform of a sophomore-level course in computer organization for the Computer Science BS curriculum at The University of Texas at El Paso, where Java and integrated IDEs have been adopted as the first and primary language and development environments. This effort was motivated by faculty observations and industry feedback indicating that upper-division students and graduates were failing to achieve mastery of non- garbage-collected, strictly imperative languages, such as C. The similarity of C variable semantics to the underlying machine model enables simultaneous mastery of both C and assembly language programming and exposes implementation details that are difficult to teach independently, such as subroutine linkage and management of stack frames. An online lab manual has been developed for this course that is freely available for extension or use by other institutions.
Our previous papers reported on pedagogical techniques for facilitating student understanding of the relationships between high-level language constructs, such as algebraic expression syntax, block-structured control-flow structures, and composite data types, along with their implementations in machine code. While this integrated approach to introducing control-flow structures has been successful, many students have been confused by the large number of different addressing modes. The present paper describes further extensions of this integrated C- and-assembly language pedagogical approach in which addressing modes are introduced incrementally as solutions to pragmatically motivated problems. Initial results, as measured by quizzes and in-class exercises, are highly encouraging.
Introduction
We report on reforms to a sophomore-level course in computer organization at an ABET- accredited Computer Science Department. The department has adopted an object-first curriculum as defined by the ACM Computing Curriculum 2001 Report4 where Java is used as the principal teaching language in most major coursework. As we reported previously,1,2 after adoption of this object- and Java-centric pedagogical approach, faculty teaching upper-division courses and potential employers detected a dramatic reduction in upper-division to understand or design programs written in strictly imperative languages that reflect the semantics of the underlying memory model, such as C. Schonberg and Dewar report similar observations of students graduating from other programs that adopted Java- centric curricula.5 While these deficits are not common at schools with architecture-first curricula,3,4,5 object-centric curricula are asserted to provide complementary advantages. Rather than taking a position on whether architecture-first curricula are strictly superior to object-first, we implemented compensatory reforms that appear to be successful, as observed by upper division systems faculty and employers who report that recent graduates have attained a dramatically improved ability to program in C.
Freudenthal, E., & Carter, B. (2009, June), A Gentle Introduction To Addressing Modes In A First Course In Computer Organization Paper presented at 2009 Annual Conference & Exposition, Austin, Texas. 10.18260/1-2--5725
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: © 2009 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