プログラムの誤り修正課題および正誤判定プログラムの自動生成

書誌事項

タイトル別名
  • A Generator for Exercises of Program Error Correction and Answer Checker Programs

この論文をさがす

抄録

プログラムの誤り修正課題とその正誤判定を行うプログラムを自動生成するツールを提案する.誤り修正課題は意図的に誤りを混入させたプログラムを学習者に提示し,その誤りを正しく修正させる課題であり,デバッギングやコードリーディングの能力向上に有効である.我々はプログラムに混入させる誤りを置換,削除,挿入,移動の書き換え操作の観点から整理し,字句系列の書き換えルールとして定義した.誤り修正課題では誤りの箇所だけを編集可能にすると問題が簡単になり,編集可能箇所を多く設定すると出題者の意図しない修正などが行われることがあり,正誤判定プログラムの実現が困難になる.本研究では,正解となる編集箇所とその記述の個数の観点から誤りを整理し,編集可能箇所を設定する方法を提案する.誤りプログラムの編集可能箇所を適切に設定することで,別解を減らして学習の観点から妥当と考える解に限定し,正解字句と学習者の解答字句を比較することで正誤判定を行う.正しいプログラムと誤りを混入させるためのプログラム書き換えルール,ダミーの編集可能箇所を指定するルールから,誤り修正課題をHTMLとして,その正誤判定をCGIプログラムとして生成するツールを試作した.繰返しや配列,再帰関数,ポインタ,構造体,選択ソートや二分探索などの構文やアルゴリズムなどの学習に関するプログラムに対して誤り修正課題とその正誤判定プログラムが生成できることを確認した.

We propose a tool that generates exercises of program error correction, which are suitable for developing debugging and code reading skills in programming education, and answer checker programs. We define the processes of error injection as code transformation rules, and analyze types of errors from a view of rewriting operations. If learners can edit only codes which are not correct, it is easy for them to find errors. On the other hand, if they can edit any codes freely, it is difficult for grading programs to check all possible answers. We have analyzed types of errors from a view of how to correct them and adopted a strategy to restrict editable points and possible answers from the educational view. From a correct program, program transformation rules to inject errors, and rules to specify dummy editable points, our tool generates exercises as HTML files and answer checkers as CGI programs. CGI programs check correctness of answers by comparing tokens. Our tool can generate exercises that widely cover the syntax and semantics of the programming language such as loops, arrays, recursive functions, pointers, and structures, and some algorithms such as sorting and searching.

収録刊行物

関連プロジェクト

もっと見る

詳細情報 詳細情報について

  • CRID
    1050001337908332672
  • NII論文ID
    170000148428
  • NII書誌ID
    AA12697953
  • ISSN
    21884234
  • Web Site
    http://id.nii.ac.jp/1001/00177564/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles
    • KAKEN

問題の指摘

ページトップへ