Asee peer logo

A Literate Programming Approach for Hardware Description Language Instruction

Download Paper |


2019 ASEE Annual Conference & Exposition


Tampa, Florida

Publication Date

June 15, 2019

Start Date

June 15, 2019

End Date

October 19, 2019

Conference Session

Technical Session 1: Issues Impacting Students Learning How to Program

Tagged Division

Computers in Education

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


J.w. Bruce Tennessee Technological University

visit author page

J.W. Bruce is with the Department of Electrical & Computer Engineering at Tennessee Technological University in Cookeville, Tennessee USA

visit author page


Bryan A. Jones Mississippi State University

visit author page

Bryan A. Jones received the B.S.E.E. and M.S. degrees in electrical engineering from Rice University, Houston, TX, in 1995 and 2002, respectively, and the Ph.D. degree in electrical engineering from Clemson University, Clemson, SC, in 2005. He is currently an Associate Professor at Mississippi State University, Mississippi State, MS.

From 1996 to 2000, he was a Hardware Design Engineer with Compaq, where he specialized in board layout for high-availability redundant array of independent disks (RAID) controllers. His research interests include engineering education, robotics, and literate programming.

visit author page


Mahnas Jean Mohammadi-Aragh Mississippi State University Orcid 16x16

visit author page

Dr. Jean Mohammadi-Aragh is an assistant professor in the Department of Electrical and Computer Engineering at Mississippi State University. Dr. Mohammadi-Aragh investigates the use of digital systems to measure and support engineering education, specifically through learning analytics and the pedagogical uses of digital systems. She also investigates fundamental questions critical to improving undergraduate engineering degree pathways. . She earned her Ph.D. in Engineering Education from Virginia Tech. In 2013, Dr. Mohammadi-Aragh was honored as a promising new engineering education researcher when she was selected as an ASEE Educational Research and Methods Division Apprentice Faculty.

visit author page

Download Paper |


This “complete research” paper will describe an effort to incorporate literate programming into a senior-year digital systems design course to improve instruction and efficacy of VHDL programming.

Learning to program is difficult and has been documented as a persistent problem not just for computer science majors, but also for other engineering majors who use programming as a tool within their disciplines. The authors teach a senior-level course on digital systems design required by the computer engineering program. In this course, digital logic design topics from an introductory course are reviewed and explored again in detail using VHDL. VHDL was commissioned by an US DoD program in the early 1980s as a documentation and modeling system for integrated circuits and borrows heavily from the programming language Ada. Students in contemporary computer engineering programs typically have zero (or very limited) exposure to languages such as Ada and VHDL, therefore, the programming learning curve is appreciable steeper. One solution may lie in Knuth’s literate programming paradigm, which treats a program as an essay, intermingling code with explanation in a beautifully typeset document. This stands in contrast to traditional programming pedagogy where difficult-to-understand code is isolated from its explanation, in a separate file from the flowcharts and text which detail the operation of the program. Knuth’s literate programming paradigm is consistent with cognitive load theory, which states that keeping related concepts close, temporally or spatially, can improve the ability of students to grasp difficult ideas. Based on this, we hypothesize that programs intermingled with explanation and typeset as a document will improve student learning when compared to traditional instruction in which programs and their explanation remain separated. In this paper, we examine the use of literate programming to instruct computer and electrical engineering students to document, simulate, code, and synthesize hardware in VHDL. Observations of student learning and workloads are provide, and student preferences from surveys are detailed.

Bruce, J., & Jones, B. A., & Mohammadi-Aragh, M. J. (2019, June), A Literate Programming Approach for Hardware Description Language Instruction Paper presented at 2019 ASEE Annual Conference & Exposition , Tampa, Florida. 10.18260/1-2--31966

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