Employing Literate Programming Instruction in a Microprocessors Course

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. One solution may lie in Knuth’s literate programming paradigm, which treats a program a...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Association for Engineering Education - Engineering Library Division Papers
Hlavní autoři: Jones, Bryan A, Mohammadi-Aragh, Mahnas Jean
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: Atlanta American Society for Engineering Education-ASEE 26.06.2016
Témata:
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí: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. 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 in a junior-level course on microprocessors in the Department of Electrical and Computer Engineering using both a student survey and analysis of test scores. By alternating between literate programs/documents and traditional programs with accompanying explanations, we evaluate learning gains measured by performance on tests with and without literate programming. Results show a mild preference by students for the literate programming form, and analysis of student performance on tests shows small (but statistically insignificant) gains when using literate programming. Based on these results, we discuss future directions for this new approach to programming pedagogy.
Bibliografie:ObjectType-Conference Proceeding-1
SourceType-Conference Papers & Proceedings-1
content type line 21
DOI:10.18260/p.26941