狠狠撸

狠狠撸Share a Scribd company logo
鬼畜のプログラミング
             オンラインジャッジ試験


              鈴鹿工業高等専門学校
                 渥美 清隆




2012/09/16      (c) 2012 kiyotaka@ka-lab.jp   1
プログラムは自由に书ける
       芸術品だ!



2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   2
自由に书かせない
              試験はクソだ!



2012/09/16     (c) 2012 kiyotaka@ka-lab.jp   3
今までの試験




2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   4
今までの試験




2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   5
今までの試験
 ●   正しく判定されているか怪しい手書き解答
 ●   パズルを解くような穴埋め問題
 ●   苦行のような実行追跡問題

     たしかに必要かも知れない,でも,もっと
     プログラムを自由に書かせて評価したい



2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   6
プログラムを手書き自由に書かせると
 ●   構文の完全チェックができない.
 ●   そもそも動くかどうかよくわからない.
 ●   予想と全く違うアルゴリズムへの対応.
 ●   採点にかかる時間x180人
     –   やってられるか!!!!!!!!




2012/09/16         (c) 2012 kiyotaka@ka-lab.jp   7
プログラムは正解を出せばいいんだ!
 ●   プログラムをオンラインで書かせよう.
 ●   コンピュータに構文チェックさせよう.
 ●   コンピュータに実行させよう.
 ●   コンピュータに出力結果を検査させよう.


 ●   教員は楽チン!
 ●   ただし,原則部分点はない.○か?かの世界w

2012/09/16     (c) 2012 kiyotaka@ka-lab.jp   8
システムは...



       本当は競技プログラムオンラインジャッジの
          ようにしたいけど,まだ準備中.

             とりあえず,あるもので...




2012/09/16      (c) 2012 kiyotaka@ka-lab.jp   9
システム構成
 ●   moodleの単一ファイル提出でプログラムファイル
     を受理
 ●   受理したファイルをまとめてUSBメモリを使って別
     コンピュータに手作業コピー
 ●   別のコンピュータで採点し,結果を教示用モニタ
     などにリアルタイム表示w
 ●   採点プログラムはUbuntu, bash, awkなどw



2012/09/16     (c) 2012 kiyotaka@ka-lab.jp   10
问题例
    世界のナベアツ問題
    与えられた複数個の値を表示するプログラムを
    作成せよ.ただし,以下の条件を満たす値の時,
    値ではなく"aho"を表示せよ.

    ?値が3の倍数の時
    ?値の表示に文字「3」が含まれている時

    表示するべき値はdata.txtから与えられる.
2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   11
学生の答え方
 ●   課題型
     –   期限は1週間程度,何度でも再提出出来る.
     –   採点は1日1回
     –   友人と自由に相談出来る.
 ●   試験型
     –   問題数3題/60分,何度でも再提出出来る.
     –   採点は可能な限りリアルタイム
     –   一人で考える.
 ●   いずれも開発環境を自由に使える.
2012/09/16       (c) 2012 kiyotaka@ka-lab.jp   12
どこが鬼畜でしょう
 ●   競技プログラミングをやったことがある人は知って
     いる.
 ●   ○か?かで100点満点中20点も違うぞ.
 ●   問題を理解し,コード化するまで時間がかかる.
 ●   ハマるバグ
 ●   迫り来る時間
 ●   焦れば焦るほど動かなくなる頭w


2012/09/16     (c) 2012 kiyotaka@ka-lab.jp   13
结果(课题型)
             QUIZ12_1                  QUIZ13
             h23mxx AC                 h23mxx     AC
             h23mxx AC                 h23mxx     AC
             h23mxx AC                 h23mxx     PE
             h23mxx AC                 h23mxx     AC
             h23mxx AC                 h23mxx     AC
             h23mxx AC                 h23mxx     WA
             h23mxx AC                 h23mxx     AC
             h23mxx AC                 h23mxx     WA
             h23mxx AC                 h23mxx     AC
             h23mxx --                 h23mxx     AC
2012/09/16          (c) 2012 kiyotaka@ka-lab.jp        14
结果(试験型)
             QUIZ14   1                2            3
             h23mxx   WA               --           --
             h23mxx   AC               AC           AC
             h23mxx   --               --           --
             h23mxx   --               --           --
             h23mxx   --               --           --
             h23mxx   AC               AC           WA
             h23mxx   --               --           --
             h23mxx   WA               --           --
             h23mxx   WA               --           --
             h23mxx   --               --           --
2012/09/16            (c) 2012 kiyotaka@ka-lab.jp        15
まとめ
 ●   課題はできる.
 ●   試験はできない.
 ●   課題の時に人のプログラムのコピーをして,中身
     を理解せずに提出?




2012/09/16      (c) 2012 kiyotaka@ka-lab.jp   16
仲良しグループ




2012/09/16    (c) 2012 kiyotaka@ka-lab.jp   17
学生の評価

 ●鬼!
 ●悪魔!




2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   18
おしまい



2012/09/16   (c) 2012 kiyotaka@ka-lab.jp   19

More Related Content

20120916.高専カンファレンス颈苍松江2

  • 1. 鬼畜のプログラミング オンラインジャッジ試験 鈴鹿工業高等専門学校 渥美 清隆 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 1
  • 2. プログラムは自由に书ける 芸術品だ! 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 2
  • 3. 自由に书かせない 試験はクソだ! 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 3
  • 4. 今までの試験 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 4
  • 5. 今までの試験 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 5
  • 6. 今までの試験 ● 正しく判定されているか怪しい手書き解答 ● パズルを解くような穴埋め問題 ● 苦行のような実行追跡問題 たしかに必要かも知れない,でも,もっと プログラムを自由に書かせて評価したい 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 6
  • 7. プログラムを手書き自由に書かせると ● 構文の完全チェックができない. ● そもそも動くかどうかよくわからない. ● 予想と全く違うアルゴリズムへの対応. ● 採点にかかる時間x180人 – やってられるか!!!!!!!! 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 7
  • 8. プログラムは正解を出せばいいんだ! ● プログラムをオンラインで書かせよう. ● コンピュータに構文チェックさせよう. ● コンピュータに実行させよう. ● コンピュータに出力結果を検査させよう. ● 教員は楽チン! ● ただし,原則部分点はない.○か?かの世界w 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 8
  • 9. システムは... 本当は競技プログラムオンラインジャッジの ようにしたいけど,まだ準備中. とりあえず,あるもので... 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 9
  • 10. システム構成 ● moodleの単一ファイル提出でプログラムファイル を受理 ● 受理したファイルをまとめてUSBメモリを使って別 コンピュータに手作業コピー ● 別のコンピュータで採点し,結果を教示用モニタ などにリアルタイム表示w ● 採点プログラムはUbuntu, bash, awkなどw 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 10
  • 11. 问题例 世界のナベアツ問題 与えられた複数個の値を表示するプログラムを 作成せよ.ただし,以下の条件を満たす値の時, 値ではなく"aho"を表示せよ. ?値が3の倍数の時 ?値の表示に文字「3」が含まれている時 表示するべき値はdata.txtから与えられる. 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 11
  • 12. 学生の答え方 ● 課題型 – 期限は1週間程度,何度でも再提出出来る. – 採点は1日1回 – 友人と自由に相談出来る. ● 試験型 – 問題数3題/60分,何度でも再提出出来る. – 採点は可能な限りリアルタイム – 一人で考える. ● いずれも開発環境を自由に使える. 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 12
  • 13. どこが鬼畜でしょう ● 競技プログラミングをやったことがある人は知って いる. ● ○か?かで100点満点中20点も違うぞ. ● 問題を理解し,コード化するまで時間がかかる. ● ハマるバグ ● 迫り来る時間 ● 焦れば焦るほど動かなくなる頭w 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 13
  • 14. 结果(课题型) QUIZ12_1 QUIZ13 h23mxx AC h23mxx AC h23mxx AC h23mxx AC h23mxx AC h23mxx PE h23mxx AC h23mxx AC h23mxx AC h23mxx AC h23mxx AC h23mxx WA h23mxx AC h23mxx AC h23mxx AC h23mxx WA h23mxx AC h23mxx AC h23mxx -- h23mxx AC 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 14
  • 15. 结果(试験型) QUIZ14 1 2 3 h23mxx WA -- -- h23mxx AC AC AC h23mxx -- -- -- h23mxx -- -- -- h23mxx -- -- -- h23mxx AC AC WA h23mxx -- -- -- h23mxx WA -- -- h23mxx WA -- -- h23mxx -- -- -- 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 15
  • 16. まとめ ● 課題はできる. ● 試験はできない. ● 課題の時に人のプログラムのコピーをして,中身 を理解せずに提出? 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 16
  • 17. 仲良しグループ 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 17
  • 18. 学生の評価 ●鬼! ●悪魔! 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 18
  • 19. おしまい 2012/09/16 (c) 2012 kiyotaka@ka-lab.jp 19