June 15, 2019
June 15, 2019
June 19, 2019
Computers in Education
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. https://peer.asee.org/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