CodeRunnerの問題タイプ

CodeRunnerの問題タイプ
タイプ問題の種類
セット該当なし
ダウンロード https://moodle.org/plugins/view.php?plugin=qtype_algebra
問題点 トラッカーの問題
討論 https://coderunner.org.nz/mod/forum/view.php?id=51
メンテナ リチャード・ロブ

前書き

CodeRunnerはMoodle用の無料のオープンソースの問題型プラグインで、さまざまな言語の幅広いプログラミングの問題に答えて学生が提出したプログラムコードを実行することができます。これは主にコンピュータプログラミングコースでの使用を目的としていますが、答えがテキストである問題の採点に使用できます。通常Moodleのアダプティブ小テストモードで使用されます。学生はそれぞれのプログラミングの問題に答えて自分のコードを貼り付けて、すぐに彼らのテストケースの結果を見るようになる。その後、彼らは自分のコードを修正して再送信することができます。

例えば:

CodeRunnerの例01.png

デモサイト

デモ小テスト

CodeRunnerの小テストの動作を確認するには、Python 3デモ小テストを試してみてください。あなたは最初にそのサイトにユーザーとして登録するように頼まれるでしょう、しかしこれは痛みがなくそして直接的です。心配しないで、結果としてあなたをスパムすることはありません。

Python小テストは、Python 3を理解していなくてもCodeRunnerの機能を実感できるようにするためのものです。問題は(大部分は)サポートされている言語(Python 2、Python 3、C、C ++、Java、PHP、JavaScript、Octave)のどれでも書くことができます。

2番目の小テストは、いくつかの簡単なCとJavaの問題だけを示しています。

CodeRunner著者フォーラム

問題のアイデアや提案、バグレポート、あるいはCodeRunnerに関するその他の情報を交換するためのフォーラムです。このようなニュースを受け取りたい場合は、このフォーラムを購読してください。


CodeRunnerの説明

CodeRunnerはMoodleの問題タイプで、教師は学生の答えを評価するためにプログラムを実行することができます。 CodeRunnerの最も一般的な使用法は、学生がプログラムコードを仕様に合わせて書くことを求められるプログラミングコースであり、その後、そのコードを一連のテストで実行することによって評価されます。 CodeRunnerの問題は、コンピュータサイエンスやエンジニアリングの他の分野でも使用されていますが、そこではさまざまな正解が可能で、プログラムを使用して正当性を評価する必要があります。ただし、このドキュメントの大部分では、学生のコードが採点されるプログラミングの問題に焦点を当てます。

小テストに選択された動作に関係なく、CodeRunnerの問題は常に適応モードで実行されます。このモードでは、学生は自分のコードが問題で定義されたテストに合格するかどうかを確認できます。そうでない場合、学生は通常わずかなペナルティで再提出することができます。典型的な「オールオアナッシング」モードでは、提出物にマークが付与される場合、すべてのテストケースが合格する必要があります。小テスト内の一連の問題のマークは、主に学生がどの問題をうまく解決できるかによって決定され、次に、学生が各問題に対していくつの提出を行うかによって決定されます。ただし、コードが正常にテストに合格した回数によってマークが決定されるようにCodeRunnerの問題を設定することもできます。

CodeRunnerとその前身であるpycodeとccodeは、カンタベリー大学で約6年間使用されており、Python、C、JavaScript、PHP、Octave、Matlabで100万件を超える小テスト問題の提出が行われています。 1学期に約500人の学生、2学期に300人の学生が入門する初年度のPythonプログラミングコース(COSC121)での実験室での作業、課題作業および中期テストは、すべてCodeRunnerの問題を使用して評価されます。 COSC121の最終試験も2014年11月からMoodle / CodeRunnerを使用して実行されています。

約200人の学生の2年目のCコース(ENCE260)はCの問題を使用してCodeRunnerを同様に使用し、Matlabで教えられる3年目の土木工学コース(ENCN305)はすべてのラボと中学期のプログラミング試験にCodeRunnerを使用します。 Moodle / CodeRunnerを使用した他のコースは以下を含みます:

 EMTH171数理モデリングと計算
   SENG02ソフトウェア工学Ⅰ
   COSC261形式言語とコンパイラ
   COSC367計算インテリジェンス
   ENCE360オペレーティングシステム
   SENG365 Webコンピューティングアーキテクチャ

CodeRunnerは現在Python 2(廃止予定)、Python 3、C、C ++、Java、PHP、JavaScript(NodeJS)、Octave、Matlabをサポートしています。アーキテクチャは他の言語への容易な拡張を可能にします。

CodeRunnerは、コードが実行されるサンドボックスソフトウェア( "Jobe")が適切なセキュリティとファイアウォールを備えた別のマシンにインストールされていれば、機関用Moodleサーバで安全に使用できます。ただし、CodeRunnerベースの小テストをテストと期末試験に使用する場合は、負荷の理由から、およびチャットやメッセージングなどのさまざまなMoodle通信機能を他のクラスに影響を与えずに無効にできるように、別々のMoodleサーバをお勧めします。

1つの4コアMoodleサーバで、学生コード自体が数分の1秒で実行されると仮定すると、1分あたり約60の小テスト問題の平均解答率を処理しながら、解答時間を約3〜4秒未満に維持できます。 CodeRunnerベースの試験を300人近くの学生と実施し、8コアのMoodleサーバで軽度から中程度の負荷率しか経験していません。このような試験では、学生の投稿を実行するJobeサーバー(下記参照)の負荷がさらに軽くなります。

CodeRunnerの問題タイプは、最新のMoodleシステム(バージョン2.9以降、バージョン3.2を含む)、Linux、Windows、Macのいずれにもインストールできます。セキュリティ上の理由から、送信されたジョブは通常、「Jobeサーバー」または「Jobeサンドボックスマシン」と呼ばれる別のマシンで実行されます。