授業/C言語基礎/課題提出についての注意事項
をテンプレートにして作成
開始行:
*提出方法 [#jcf05e4e]
課題はCプログラムのファイルとして、ToraNetのライブラリー...
**ファイル名 [#m60ac129]
提出するファイル名は、課題であることを表すアルファベット...
-X: ''授業回数''(0埋め2桁、第1週の場合は01)
-Y: ''課題番号''(1桁)
-Z: ''学籍番号''(下4桁、学籍番号がEP15001の場合は5001)
たとえば、学籍番号EP15001の学生が、第1週の課題1を提出する...
すべての学生のプログラムを一括して自動的にコンパイルしま...
**条件 [#m0350d0a]
提出するプログラムは、以下の条件を満たしていなければなり...
-''コンパイルできる''こと
-''実行が停止する''こと
-''改行コードはLFのみ''であること
-文字列やコメントに日本語が含まれる場合は、''文字コードが...
-''キーボードからの入力(scanf関数)を含まない''(課題文...
コンパイルができないものは実行できません。
実行が停止しないものが含まれているとすべての学生のプログ...
改行コードと文字コードが正しくないと読めません。
キーボードからの入力が含まれるプログラムはキーボードから...
したがって、これらの条件を満たさないものが提出されても、...
--------
*課題の位置付け [#x5a9c087]
この授業の課題は、中部大学履修要項第5項「試験」に規定され...
*不正行為 [#fe41ae1d]
この授業においては、以下のような行為を不正行為とします。
-他人が作成したプログラムの全部または一部を電子的に複製し...
-他人が作成したプログラムの全部または一部を見てほぼ同じプ...
-他人の指示に従って他人が作成したプログラムの全部または一...
-自分のプログラムの全部または一部を他人に作成させる、作成...
-課題の評価が確定していない人に自分のプログラムの全部また...
-提出期限を守ることを目的として未完成のプログラムを提出す...
-上記の行為を助ける行為
-上記の行為だと疑われる行為
-大学の授業で不正行為とされている行為
ただし、以下のプログラムは「他人が作成したプログラム」か...
-教員またはTAが作成して授業中に示したプログラム
-この授業で指定されている教科書に掲載されているプログラム
また、以下の行為は不正行為ではありません。
-プログラムそのものではなく考え方を教える行為、教えてもら...
-アルゴリズムやフローチャートを教える行為、教えてもらう行...
-すでに自分のプログラムを提出した人が、他人が作ったプログ...
他人のプログラムを写す行為だけでなく、自分のプログラムを...
*不正行為に対する処分 [#fc20aca0]
不正行為を行ったものには、以下のいずれかの処分を行います。
-当該課題を0点とする
-期末試験から減点する
-期末試験の受験を認めない(この授業の単位を認定しない)
*不正行為の判定 [#i83252ad]
ほぼ同じプログラムが複数の学生から提出された場合には、教...
ほぼ同じかどうかは、以下のようにして判定します。
**コピー隠蔽テクニック [#h61c056e]
以下のテクニックは、コピーしたことがばれないように隠蔽す...
-変数名、関数名、マクロ名、定数の値、出力される文字列、配...
-空白、タブ、改行を挿入する、削除する
-変数宣言、関数定義、マクロ定義などの場所を変える
-省略可能なものを省略する、追加する
これらの違いしかないものは、同じものとみなします。
ただし、誰が作っても同じになるような簡単な課題では、同じ...
**コピー検出ソフトウェア [#z0e125d6]
これらのコピー隠蔽テクニックに対して、コピーされたプログ...
この授業では、次のプログラムを使って判定します。
-[[JPlag:https://jplag.ipd.kit.edu]]
**コピー判定 [#m0c54239]
次の手順に従って抽出されたものは、ほぼ同じであると判定し...
+提出されたプログラムから全角文字を除去する(JPlagが全角...
+JPlagでプログラムを比較する
+一致率が0%のプログラムを除いて一致率を集計する
+一致率が統計的有意に高いものを抽出する
たとえば、一致率が平均50%、標準偏差20%の課題において、一...
ある課題について、学生から提出されたプログラムをこのJPlag...
一致度が0%でないプログラム、つまり、似ていると判定された...
最も高い一致率は95.8%で、これをほぼ同じとして教員が確認し...
ただし、誰が作っても同じになるような簡単な課題には適用し...
*コピー検出に関する研究 [#d01b1028]
コピーを検出する技術については、かなり前から研究されてい...
たとえば、日本語で読めるものとしては、次のようなものがあ...
-[[コードクローン検出技術の展開>https://www.jstage.jst.go...
-[[コーディングスタイルの特徴量とソースコード盗用との関係...
-[[ソースコード流用のコードクローンメトリクスに基づく検出...
-[[コードクローン検出法>https://www.jstage.jst.go.jp/arti...
プロのプログラマーがコピーして隠蔽したとしても検出できる...
*コピー検出の確率 [#rf3e8df9]
ある課題でコピーが検出される確率が [math]p[/math] のとき...
[math]p = 0.5[/math](バレるかバレないか半々)だとしても...
-1回目 50%
-2回目 75%( [math]1 - 0.5^2 = 0.75[/math])
-3回目 87.5%( [math]1 - 0.5^3 = 0.875[/math])
-4回目 93.8%( [math]1 - 0.5^4 = 0.9375[/math])
*コピーと判定されない、疑われないために [#f3af2628]
**自分が作ったプログラムを他の人に渡さない、見せない [#qa...
あなたがコピーしなくても、プログラムを渡した相手、見せた...
それだけでなく、他の人に答を教えることは、その人が自分で...
その結果として、その人はコピーで済ませた部分をきちんと理...
そして、単位が取れない、他の授業(C言語応用、プログラム演...
つまり、自分が作ったプログラムを見せてあげることは、友達...
**自分で作ったプログラムを提出するまでは、他の人が作った...
最初のうちは、答とされるプログラムを見てしまうと、そのプ...
つまり、一度解答例のプログラムを見てしまうと、それに良く...
また、友達はできたと言っていても、そのプログラムが間違っ...
間違っているところまでそのまま真似すると、コピーしたこと...
**考え方、アルゴリズム、フローチャートを教えてもらう(教...
課題プログラムの作り方を全部を教えてもらう(教える)と、...
したがって、教えてもらう(教える)のは、考え方、アルゴリ...
**まだプログラムを作っていない人と一緒にプログラムを作ら...
二人で協力しながら一つのプログラムを作っても、どちらかし...
ですから、二種類のプログラムが作れないなら協力してプログ...
二人で協力しながら考えたり、アルゴリズムを書いたり、フロ...
**プログラムがコンパイルできない、うまく動かないときは、...
自分が作ったプログラムがコンパイルできないとき、うまく動...
ただし、まだ自分のプログラムを作っていない人に見てもらう...
終了行:
*提出方法 [#jcf05e4e]
課題はCプログラムのファイルとして、ToraNetのライブラリー...
**ファイル名 [#m60ac129]
提出するファイル名は、課題であることを表すアルファベット...
-X: ''授業回数''(0埋め2桁、第1週の場合は01)
-Y: ''課題番号''(1桁)
-Z: ''学籍番号''(下4桁、学籍番号がEP15001の場合は5001)
たとえば、学籍番号EP15001の学生が、第1週の課題1を提出する...
すべての学生のプログラムを一括して自動的にコンパイルしま...
**条件 [#m0350d0a]
提出するプログラムは、以下の条件を満たしていなければなり...
-''コンパイルできる''こと
-''実行が停止する''こと
-''改行コードはLFのみ''であること
-文字列やコメントに日本語が含まれる場合は、''文字コードが...
-''キーボードからの入力(scanf関数)を含まない''(課題文...
コンパイルができないものは実行できません。
実行が停止しないものが含まれているとすべての学生のプログ...
改行コードと文字コードが正しくないと読めません。
キーボードからの入力が含まれるプログラムはキーボードから...
したがって、これらの条件を満たさないものが提出されても、...
--------
*課題の位置付け [#x5a9c087]
この授業の課題は、中部大学履修要項第5項「試験」に規定され...
*不正行為 [#fe41ae1d]
この授業においては、以下のような行為を不正行為とします。
-他人が作成したプログラムの全部または一部を電子的に複製し...
-他人が作成したプログラムの全部または一部を見てほぼ同じプ...
-他人の指示に従って他人が作成したプログラムの全部または一...
-自分のプログラムの全部または一部を他人に作成させる、作成...
-課題の評価が確定していない人に自分のプログラムの全部また...
-提出期限を守ることを目的として未完成のプログラムを提出す...
-上記の行為を助ける行為
-上記の行為だと疑われる行為
-大学の授業で不正行為とされている行為
ただし、以下のプログラムは「他人が作成したプログラム」か...
-教員またはTAが作成して授業中に示したプログラム
-この授業で指定されている教科書に掲載されているプログラム
また、以下の行為は不正行為ではありません。
-プログラムそのものではなく考え方を教える行為、教えてもら...
-アルゴリズムやフローチャートを教える行為、教えてもらう行...
-すでに自分のプログラムを提出した人が、他人が作ったプログ...
他人のプログラムを写す行為だけでなく、自分のプログラムを...
*不正行為に対する処分 [#fc20aca0]
不正行為を行ったものには、以下のいずれかの処分を行います。
-当該課題を0点とする
-期末試験から減点する
-期末試験の受験を認めない(この授業の単位を認定しない)
*不正行為の判定 [#i83252ad]
ほぼ同じプログラムが複数の学生から提出された場合には、教...
ほぼ同じかどうかは、以下のようにして判定します。
**コピー隠蔽テクニック [#h61c056e]
以下のテクニックは、コピーしたことがばれないように隠蔽す...
-変数名、関数名、マクロ名、定数の値、出力される文字列、配...
-空白、タブ、改行を挿入する、削除する
-変数宣言、関数定義、マクロ定義などの場所を変える
-省略可能なものを省略する、追加する
これらの違いしかないものは、同じものとみなします。
ただし、誰が作っても同じになるような簡単な課題では、同じ...
**コピー検出ソフトウェア [#z0e125d6]
これらのコピー隠蔽テクニックに対して、コピーされたプログ...
この授業では、次のプログラムを使って判定します。
-[[JPlag:https://jplag.ipd.kit.edu]]
**コピー判定 [#m0c54239]
次の手順に従って抽出されたものは、ほぼ同じであると判定し...
+提出されたプログラムから全角文字を除去する(JPlagが全角...
+JPlagでプログラムを比較する
+一致率が0%のプログラムを除いて一致率を集計する
+一致率が統計的有意に高いものを抽出する
たとえば、一致率が平均50%、標準偏差20%の課題において、一...
ある課題について、学生から提出されたプログラムをこのJPlag...
一致度が0%でないプログラム、つまり、似ていると判定された...
最も高い一致率は95.8%で、これをほぼ同じとして教員が確認し...
ただし、誰が作っても同じになるような簡単な課題には適用し...
*コピー検出に関する研究 [#d01b1028]
コピーを検出する技術については、かなり前から研究されてい...
たとえば、日本語で読めるものとしては、次のようなものがあ...
-[[コードクローン検出技術の展開>https://www.jstage.jst.go...
-[[コーディングスタイルの特徴量とソースコード盗用との関係...
-[[ソースコード流用のコードクローンメトリクスに基づく検出...
-[[コードクローン検出法>https://www.jstage.jst.go.jp/arti...
プロのプログラマーがコピーして隠蔽したとしても検出できる...
*コピー検出の確率 [#rf3e8df9]
ある課題でコピーが検出される確率が [math]p[/math] のとき...
[math]p = 0.5[/math](バレるかバレないか半々)だとしても...
-1回目 50%
-2回目 75%( [math]1 - 0.5^2 = 0.75[/math])
-3回目 87.5%( [math]1 - 0.5^3 = 0.875[/math])
-4回目 93.8%( [math]1 - 0.5^4 = 0.9375[/math])
*コピーと判定されない、疑われないために [#f3af2628]
**自分が作ったプログラムを他の人に渡さない、見せない [#qa...
あなたがコピーしなくても、プログラムを渡した相手、見せた...
それだけでなく、他の人に答を教えることは、その人が自分で...
その結果として、その人はコピーで済ませた部分をきちんと理...
そして、単位が取れない、他の授業(C言語応用、プログラム演...
つまり、自分が作ったプログラムを見せてあげることは、友達...
**自分で作ったプログラムを提出するまでは、他の人が作った...
最初のうちは、答とされるプログラムを見てしまうと、そのプ...
つまり、一度解答例のプログラムを見てしまうと、それに良く...
また、友達はできたと言っていても、そのプログラムが間違っ...
間違っているところまでそのまま真似すると、コピーしたこと...
**考え方、アルゴリズム、フローチャートを教えてもらう(教...
課題プログラムの作り方を全部を教えてもらう(教える)と、...
したがって、教えてもらう(教える)のは、考え方、アルゴリ...
**まだプログラムを作っていない人と一緒にプログラムを作ら...
二人で協力しながら一つのプログラムを作っても、どちらかし...
ですから、二種類のプログラムが作れないなら協力してプログ...
二人で協力しながら考えたり、アルゴリズムを書いたり、フロ...
**プログラムがコンパイルできない、うまく動かないときは、...
自分が作ったプログラムがコンパイルできないとき、うまく動...
ただし、まだ自分のプログラムを作っていない人に見てもらう...
ページ名: