Asee peer logo

Teaching Hardware to Demystify Foundational Software Concepts

Download Paper |


2017 ASEE Annual Conference & Exposition


Columbus, Ohio

Publication Date

June 24, 2017

Start Date

June 24, 2017

End Date

June 28, 2017

Conference Session

Electrical and Computer Division Technical Session 10

Tagged Division

Electrical and Computer

Page Count


Permanent URL

Download Count


Request a correction

Paper Authors


Christopher Miller Rose-Hulman Institute of Technology

visit author page

Chris is an Assistant Professor of Electrical & Computer Engineering at Rose-Hulman Institute of Technology. His interests include engineering education, embedded systems, and ubiquitous computing.

visit author page

Download Paper |


Teaching Hardware to Demystify Foundational Software Concepts

Abstract Both top-down and bottom-up approaches have been proposed for software and programming education. Motivations can be cited for both approaches, but empirical data for either approach can be difficult to obtain. In this paper, we explore potential benefits of a bottom-up approach which begins at the architecture and machine language level. Abstractions of basic software concepts such as data storage and pointers can lead to misconceptions. Understanding how these abstractions are implemented in the underlying hardware can provide clarity of foundational software concepts.

An introductory course on embedded systems and microcontrollers for electrical and computer engineers was modified in an attempt to strengthen student understanding of foundational software concepts. The material covered in the course primarily remained the same, but the course schedule was modified to move the system architecture and instruction set material to the beginning of the course, rather than the end. Data was collected for common exam questions for offerings both prior to and following the course modification. The data indicates that students who were exposed to the functionality of the underlying architecture prior to high-level programming languages had a better understanding of basic concepts such as storage allocation and referential pointers.

This paper contributes to the fields of education in electrical and computer engineering and computer science by providing data on student outcomes for alternate approaches to content delivery. We hope that this information is useful in curriculum design and development for related fields.

Miller, C. (2017, June), Teaching Hardware to Demystify Foundational Software Concepts Paper presented at 2017 ASEE Annual Conference & Exposition, Columbus, Ohio.

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: © 2017 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