第28卷第2期
2011年4月
Vol. 28 No. 2
Apr.,2011
华 东 交 通 大 学 学 报
Journal of East China Jiaotong University
文章编号:1005-0523(2011)02-0060-06
收稿日期:2011-03-03
作者简介:丁振凡(1965-),男,教授,硕士生导师,主要研究方向为语义Web、分布式计算。
基于模板匹配的启发式编程训练软件的 Web 实现
丁振凡,张晓瑞
(华东交通大学信息工程学院,江西 南昌 330013)
摘要:在 Web 教学课件中进行启发式编程训练对培养学生规范编程和思考问题很有帮助。该编程训练软件利用客户端的
DHTML技术实现与学生的交互和动态显示处理,以教师模板程序为匹配目标,在模板程序中通过特殊标记给出提示和需要
学生输入部分。通过学生输入的字符与教师模板程序的字符对比来检查和提示对错,从而引导学生规范编程,为开拓学生
思维、提高学生思考和动手能力提供了一个强大的实践平台。
关键词:编程训练;模板程序;启发式编程;DHTML
中图分类号:TP391 文献标识码:A
在程序设计语言的课件中引入交互编程训练是一件很有意义的应用。让学生在学习课程时进行程序
设计训练,将编程能力的训练融入到日常的教学中
[1]
。由于同一问题的解题思路和程序实现可以是多样
的,因此,编程训练软件难以做到让学生自由编程,否则难以判断学生程序的正确性。提出的启发式编程
训练是在教师给定的模板程序的引导下进行限制性编程。通过训练可以让学生对一些典型问题的编程思
路有一个熟练的掌握,也有利于培养学生的规范编程风格。考虑到Web 教学课件的广泛流行,笔者将该应
用设计在Web页面中使用。
1 软件的基本工作思路
基于模板程序匹配的启发式编程训练软件的应用特点是由教师写出针对某个问题的标准程序。其
中可以包含一些注释信息和启发信息以帮助引导学生编程。考虑到程序在变量命名以及编程思路上的差
异性,所以,一般情况下不是整个程序都由学生编写,而是分阶段提示性给出一些程序,由学生不断补充编
写完成,在模板程序中,将需要学生输入的部分用特殊符号括起来,笔者选用了程序中不出现的“@”作为
该标记符。在提示与编写交替的过程中完成整个程序的代码设计。在提示状态下,将该字符直接显示给
学生。在输入状态下,学生每输入一个字符要进行检查,根据匹配结果用字符颜色和消息框配合给出不同
显示提示信息。整个程序匹配结束,给出得分,并可以清楚看到完整正确的程序代码以及自己编写的对错
情况。程序匹配检查的基本思路如图 1 所示。程序基于DHTML 技术实现与用户的交互和显示处理。通
过Javascript 的键盘事件获取用户的输入。