The Computer Journal
Using literate programming to teach good programming practices
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Towards literate tools for novice programmers
Proceedings of the 2nd Australasian conference on Computer science education
Literate programming as an aid to marking student assignments
ACSE '96 Proceedings of the 1st Australasian conference on Computer science education
Student culture vs group work in computer science
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Comments are More Important than Code
Queue - Patching and Deployment
Ginger: implementing a new Lisp family syntax
Proceedings of the 47th Annual Southeast Regional Conference
Reimagining literate programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Hi-index | 0.01 |
Ginger is a new language being developed at Northern Arizona University that emphasizes human readability and comprehension over computer readability by supporting literate programming techniques. A program written in Ginger can be compiled to either a machine executable or a rich human readable document that interweaves human narrative with a high-level programming language. In this paper we demonstrate how Ginger has been used in a Computer Graphics course to enable students in developing rich programs that emphasize the communication of ideas as part of the programming process. The result differs markedly from meager comments nested in code. Instead, the narrative must strongly root and communicate the program which in turn encourages students to think about their program organization in terms of potency and efficiency of idea communication. This strong connectivity and communication of code and mental process gives the instructor a larger window into how students approach and think about problems and may provide added tools to identify misconceptions, poor organization and poor communication skills.