Prolog as Description and Implementation Language in Computer Science Teaching
暂无分享,去创建一个
Prolog is a powerful pedagogical instrument for theoretical elements of computer science when used as combined description language and experimentation tool. A teaching methodology based on this principle has been developed and successfully applied in a context with a heterogeneous student population with uneven mathematical backgrounds. Definitional interpreters, compilers, and other models of computation are defined in a systematic way as Prolog programs, and as a result, formal descriptions become running prototypes that can be tested and modified by the students. These programs can be extended in straightforward ways into tools such as analyzers, tracers and debuggers. Experience shows a high learning curve, especially when the principles are complemented with a learning-by-doing approach having the students to develop such descriptions themselves from an informal introduction.
[1] Donald E. Knuth,et al. Semantics of context-free languages , 1968, Mathematical systems theory.
[2] Henning Christiansen. Teaching Computer Languages and Elementary Theory for Mixed Audiences at University Level , 2004, Comput. Sci. Educ..
[3] Henning Christiansen,et al. CHR grammars , 2004, Theory and Practice of Logic Programming.
[4] David H. D. Warren,et al. Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks , 1980, Artif. Intell..