Open e4exp opened 3 years ago
この記事では,FSM用のエラーメッセージシステムの設計と,それが生徒に与えた影響について紹介しています. ここでは,生徒がコンストラクタを不適切に使用した際に,生徒にとって意味のあるエラーメッセージを生成することに焦点を当てている. セクション2では,エラーメッセージの設計に関する関連研究をレビューする. セクション3では,FSMの概要を説明する. セクション 4 では、学生が作成したコードと、学生が最初に受け取った Racket のエラーメッセージの例を示します。 セクション 5 では,FSM エラーメッセージの設計について説明します. セクション6では、学生から寄せられたフィードバックを紹介します。 このセクションは、2つのサブセクションに分かれています。 6.1節では、学生に3つの問題の解答をデバッグしてもらうことで行った対照群の研究から得られた結果を示します。 対照グループは、FSMの中でも、特別なエラー・メッセージング・システムを持たないバージョンを使い、フォーカス・グループは、エラー・メッセージング・システムを持つバージョンを使いました。 6.2節では,学生へのアンケート調査から得られた結果を紹介します。 最後に,セクション7では,結論と今後の課題について簡単に述べています。
7 まとめと今後の課題
本稿では,FSMのエラーメッセージの設計について紹介する. このメッセージは、学生がバグの原因を診断するのに役立つことを目的としており、解決策を提示するものではない。 エラーメッセージは,FSMのコンストラクタを使用する際の型違反を中心としたものである. このシステムでは、最初のエラーだけでなく、見つかったすべてのエラーを報告します。 また,非依存型の解析エラーやリストエラーを,依存型のエラーよりも先に報告することを特に避けています. 集められた実証データは、FSMのエラー・メッセージング・システムが非常に成功していることを強く示唆しています。 このシステムは、学生のオートマトン理論やFSMでのプログラミングへの興味を高めることに貢献しています。 さらに、ほとんどすべての学生がFSMのエラーメッセージについて肯定的な意見を述べています。 この研究は、学生に合わせたエラーメッセージシステムが、初心者向けのコースと同様に、上級者向けのコースでも重要であることを強く示唆しています。 今後の課題は、個々のメッセージの表現をどのように改善するかです。 例えば、詳細な情報をたくさん提供すべきか、それともあまり詳細な情報を提供しない方がいいのか。 現在,FSMのエラーメッセージでは,機械語のルールに型エラーがある場合には多くの詳細情報が提供されているが,文法のルールにはあまり詳細情報が提供されていない. どちらの方法が良いのかを判断するには、さらに定性的な調査が必要です。 現在のところ、違いは見られません。 しかしそれは、講師が講義の中でエラーメッセージを取り上げていることが原因かもしれません。 今後の課題としては、より多くの定量的データを収集し、本稿で示唆された結論を補強したり修正したりすることが挙げられます。
一般的に、コンピュータサイエンスを学ぶ学生は、オートマトン理論を難しく感じ、自分の研究分野とはほとんど関係がないと思っています。 そこで、オートマトン理論の授業にプログラミングを導入するために、ステートマシンや文法をプログラミングするライブラリ「FSM」を開発しました。 セトンホール大学でのライブラリの処女航海の結果は、学生に良い影響を与えましたが、生成されるエラーメッセージのために、学生はライブラリを使いにくいと感じました。 これらのメッセージはホスト言語によって生成されたものであり、学生が意味を理解するためにはライブラリの実装に精通している必要がありました。 この記事では、FSMのために作られたエラー・メッセージ・システムの設計と、それを使って得られた結果を紹介します。 本論文では、FSMのために作られたエラー・メッセージング・システムの設計とその結果を紹介し、その効果をコントロール・グループ調査とアンケート調査によって測定した。 その結果、エラー・メッセージ・システムは、オートマトン理論、FSMでのプログラミング、FSMのエラーメッセージに対する学生の態度に良い影響を与えたことが強く示唆された。 その結果、FSMプログラムのデバッグが容易になったことで、構成的証明の一部として開発されたアルゴリズムを実装する学生の能力が著しく向上しました。