1
日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

プログラミング初学者向けコンテストシステム
坂本 一憲

鷲崎 弘宜

深澤 良彰

プログラミングコンテストは効果的にプログラミングを学習できる教育手法として注目を浴びており，様々な教育機関にてコンテストシステムの導入が進んでいる．一方，コンテストは企業の人材採用のために実施されていることが多く，プログラミングに習熟した学生やプログラマーを対象としたものが主であり，初学者を対象としたコンテストとコンテストシステムの普及が進んでいない．
本論文では，問題を解くプログラムのソースコードの代わりに，出力データの提出を求めるようなコンテストとシステムを提案する．提案コンテストではプログラムを作成して問題を解かなくとも，電卓や表計算ソフトで出力データを求めて解くことができる．提案コンテストを早稲田大学の学部 2 年生に対して実施して，その際のコンテストの事前と事後のアンケート調査の結果から有効性を評価する．

Programming contests are getting the attention of educators due to the educational eﬀectiveness. Various
educational institutions are employing programming contests for educational purpose. However, most existing programming contests target students and programmers who have high programming skills becausesuch contests are held to hire excellent students and programmers. Thus, few programming contests for
programming beginners exist.
In this paper, we propose a programming contest system for programming beginners. Our contest requires only outputs corresponding to problems and inputs instead of source code of a program which results
the outputs. Contestants can solve problems in our contests by using calculators and spreadsheet software
without coding. We hold a programming contest for bachelor students of the 2nd year degree at Waseda
University with our contest and our system to evaluate them with questionary investigation.

法が分析されている [3, 4, 11]．

1 はじめにプログラミングコンテスト（以降，コンテスト）にプログラミングコンテストは競争という概念をプロはいくつかの種類があり，入力に対して求めるべき出グラミングに持ち込むことで，参加者の意欲を向上さ力の仕様が問題として与えられ，与えられた問題を解せる効率的なプログラミングの教育手法である [9,10]．

くプログラムを如何に正確かつ早く作成するかを競

競争はしばしばゲームの要素としても扱われており，

うコンテスト [1] や，与えられた問題に対してできるゲームの要素をゲーム以外の分野に導入することで，意欲の向上を図るゲーミフィケーションとして活用さ限り高速に動作するプログラムを作成するコンテス
ト†1 ，与えられた問題に対してできる限り少ない字数れることが多い [2]．また，プログラミングコンテス

でコードを記述するコンテスト†2 ，与えられた問題にトの有用性やコンテストにおいて勝利するための方
A Programming Contest System for Programming
Beginners
Kazunori Sakamoto, 国立情報学研究所, National Institute of Informatics.
Hironori Washizaki, Yoshiaki Fukazawa, 早稲田大学基幹理工学部情報理工学科, Dept. of Computer Scienceand Engineering, Waseda University.

対してできる限り可読性の低いコードを記述するコンテスト†3 ，もしくは，ゲームのコンピュータプレイヤーを操作するコードを記述して，ゲームの中で対戦させることで競い合うコンテスト [8, 12] などが存在†1 http://sortbenchmark.org/†2 http://codegolf.com/†3 http://www.ioccc.org/

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

2する．本論文では最初に挙げた，与えられた問題を解されることもあれば，スポンサー企業を募り上述のよくプログラムを正確かつ早く作成するコンテストをうな目的のためにコンテストが開催されることもある．

対象とする．なお，日本国内では競技プログラミング

現在，Web 上で利用可能なコンテストシステムとしては，北京大学の PKU Judge System†11 や，会津大学とも呼ばれている [?]．

る．例えば，著名なアメリカのコンピュータ学会 ACMの Aizu Online Judge†12 ，その他にも，UVa Online
Judge†13 ，Sphere Online Judge†14 ，Codeforces†15 ，（Association for Computing Machinery）では，国Project Euler†16 ，AtCoder†17 などがある．

現在，教育目的で様々なコンテストが開催されてい際大学対抗プログラミングコンテスト（International

一般に，コンテストは競争により勝者を決めるといCollegiate Programming Contest; ICPC）[1] を毎年う性質から，プログラミング中級者以上を対象とした開催しており，2009 年度には全世界 82 カ国から 1,931

教育効果は見込めるものの，プログラミング初学者大学，約 22,000 人が世界各国で開催された ICPC のにとってはそもそも問題がまったく解けなかったり，地区予選に参加した．なお，ICPC は 3 人 1 組のチーあるいは，問題の解法が思い付いてもプログラムとしムで競い合うため，作業分担やチームワークについてて作成できなかったりするため，プログラミング初学学習することもできる．その他にも，高校生を対象とした国際情報オリンピック†4 や，会津大学が主催する者に対する教育として利用することが難しいケースがある．

パソコン甲子園†5 や愛媛大学が主催する EPOCH@まつやま†6 などが挙げられる．

くことができる問題を用いたコンテストおよびコン

そこで，本論文ではコーディング以外の方法でも解一方，コンテストは教育目的以外にも企業の人材採テストを開催するためのコンテストシステム Waseda

用活動の一環として開かれる場合や，ソフトウェアのProgramming Contest System（WPCS）を提案すコンポーネントの一部をコンテストを通して参加者る．WPCS では，仕様となる問題文に加えて，具体に開発をしてもらうコーディング作業のアウトソー的な入力を全て公開して，入力から求めるべき出力結シングの一環として開かれる場合がある．前者を目

果だけをシステム上で提出させる仕組みを提供する．

的としたコンテストとしては，Google 社の Google
Code Jam †7 や，Facebook 社の Facebook Hacker

そのため，参加者はプログラムを作成して出力結果をCup †8 ，KLab 社の天下一プログラマーコンテスト†9 などがある．また，人材採用とアウトソーシング求めても良いし，もしくは，手計算や電卓，表計算ソフトなどを用いて出力結果を求めても良い．

WPCS は問題を解く手段をプログラミングだけにの両方を目的としたコンテストとして，TopCoder 社の TopCoder†10 がある．

制限しないことで，プログラミングコンテストへの上述のようなコンテストを実施するため，もしくは，トの雰囲気を体験したり，プログラミングによって解自由に利用できる練習の場を設けるために，様々なコける問題を別の手段で解けるようにする．これによンテストシステムが開発されている [5–7]．特に，Webり，WPCS および WPCS を利用するプログラミン

上で利用可能なコンテストシステムはオンラインジャッ

グコンテストが，1) プログラミングの面白さ，2) プ

ジシステムとも呼ばれ，オンラインジャッジシステム

ログラミング習得の必要性，3) チームワークの重要の運営団体により練習を目的としたコンテストが開催

性，4) チームワークの難しさについて参加者に学習†4 http://www.ioinformatics.org/†5 http://web-ext.u-aizu.ac.jp/pc-concours/†6 http://epoch.cs.ehime-u.ac.jp/†7 https://code.google.com/codejam/†8 https://www.facebook.com/hackercup†9 http://tenka1.klab.jp/†10 http://www.topcoder.com/

参加の敷居を下げ，加えて，プログラミングコンテス

†11
†12
†13
†14
†15
†16
†17

http://poj.org/
http://judge.u-aizu.ac.jp/onlinejudge/
http://uva.onlinejudge.org/
http://www.spoj.com/
http://codeforces.com/
http://projecteuler.net/
http://atcoder.jp/

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集させ，また，プログラミング習得への意欲を高めることが目的である．

3た点．
また，本論文が掲げる 2 つの研究課題（ResearchWPCS の開発およびコンテスト用の問題作成などQuestion;RQ）は以下の通りである．なお，1 つ目のを含めた，コンテストの開催活動を早稲田大学基幹理

研究課題はより粒度の小さい 5 つの研究課題に分け

工学部情報理工学科に所属する学部生 5 名，同大学ることができる．

院基幹理工学研究科情報理工学専攻に所属する院生 4• RQ1: WPCS を利用した出力結果のみの提出を名とともに行い，2013 年度の同学科学部 2 年生 100求めるコンテストを通して，参加者が RQ1.1)名以上を対象としたオリエンテーションにおいて，実プログラミングの面白さ，RQ1.2) プログラミン際に 1 時間半のコンテストを開催した．57 名から回グ習得の意欲，RQ1.3) プログラミング習得の必収したアンケート調査の結果，参加した学部 2 年生

要性，RQ1.4) チームワークの重要性，RQ1.5)

において，コンテスト参加前と後で上述の 5 つの観チームワーク構築の難しさについて学習するこ点について改善が見られた．とができるか？

また，WPCS の開催およびコンテスト開催に携わっ• RQ2: WPCS の開発およびコンテストの開催をた 9 名に対して，気付きや意識の変化についてイン通してソフトウェア開発に関する気付きが得られタビューを実施したところ，ソフトウェア開発におけるかどうか？

る意識の改善が見られた．したがって，WPCS および WPCS を利用したコンテストは，参加者のプログラミングおよびチームワークに関する学習に効果が2 プログラムの代わりに出力結果の提出を求めるプログラミングコンテスト

ある上，また，学生によるコンテストの開催活動は一

本節では，早稲田大学基幹理工学部情報理工学科

種のプロジェクト・ベースド・ラーニングであり，参の 2 年生を対象としたコンテストを開催にするにあ加者と主催者の両方にとって高い学習効果のある教育たり，コンテストの目的・狙いとそれを満たすための活動であることが分かった．

問題およびルールの設計について議論する．

本論文の主要な貢献点は以下の通りである．

• プログラムの代わりに出力結果のみの提出を求めるコンテストシステム WPCS の開発した点．

前節で述べたように既存のコンテストは優秀な参加者を見出すという目的を兼ねていることが多く，以下の様な特徴を持っていることが多い．

• Gmail や Facebook アカウントの OpenID によ• ソースコードを提出して，コンパイルして得らるログイン機能を備え，早稲田大学の学生以外もれたプログラムの出力結果で正誤判定を行う．

利用できるオープンソースソフトウェアとして公開している点†18 ．

• コンテストで提示される問題数が少なく，各問• WPCS を活用して 100 名以上の大学 2 年生を対• チームでの参加が認められない，もしくは，3 名象としたコンテストを開催した点．

• コンテスト参加者へのアンケート調査によりコンテストがプログラミングおよびチームワークに関する学習において有効であることを明らかにした点．

題の難易度が高い．

で 1 組である．

• コンテストの実施時間が長く，3 時間を超えている．
前節で述べた全てのコンテストがソースコード提出を求めている．また，前節で述べた全てのコンテス• 開催に携わった学生へのインタビュー調査によトのうち，ACM ICPC のみが，10 問以上の問題をりコンテスト開催活動がソフトウェア開発に関与えて，かつ，チームでの参加を認めている．それ以する学習において有効であることを明らかにし外のコンテストは全て 10 問以下で個人参加のみが認められている．なお，いずれのコンテストも 3 時間

†18 https://github.com/TakenokoChocoHolic/wpcs

以上を要する．
（ただし，予選は除く．
）

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

4

一方，本論文が提案するコンテストでは，学部 2 年WPCS生のようなプログラミング初学者に対して，前節で述

前節で述べた特徴を備えたコンテストを開催する

べた 4 つの要素を学習させ，また，プログラミングために，オープンソースなコンテストシステムである習得への意欲を高めることが目的である．特に，プロ

WPCS を Web アプリケーションとして開発した．

グラミングの面白さや必要性に関しては，コンテスト

図 1 でコンテスト開催者と参加者が WPCS を利中で問題を解いたという成功体験により，効果的に学用するプロセスを示す．図 1 のように，WPCS では習できると考えられ，したがって，上述のような特徴

以下で挙げる 3 種類のユースケースが存在している．

は提案コンテストには不向きである．また，成功体験

1) 開催者が問題および出力結果データを登録する，を得るという目的が最も重要であり，プログラミング2) 参加者が登録された問題データを閲覧する，3) 参により問題を解かなくとも，電卓や表計算ソフトなど加者が問題に対する解答として出力結果データを投を用いて問題を解くことで，他の参加者とともに競い稿する，である．WPCS は Ruby on Rails を用いて合ったという実感を得て，さらに，プログラムが問題開発されており，問題や正しい出力結果のデータをを解く手順を自分で実施することでアルゴリズムにMongoDB に格納して保存している．開催者はコンテついて学習できると考えられる．我々はこのような体ストの事前に必要なデータを登録しておき，コンテ験がその後のプログラミング学習において効果的なストでは参加者が問題を閲覧して，プログラム記述影響を与えると考えた．

や電卓，表計算ソフトなどで出力結果を生成して，そそこで，提案コンテストでは，プログラミング初学

れを WPCS に投稿する．WPCS は単純に登録して者が上述の項目について効果的に学習できるよう，以いる正解の出力結果と照合して，同じであれば正解，下の様な特徴を備えている．

そうでなければ不正解としてユーザに報告する．

• 要求されている出力結果のみを提出して解答の正誤判定を行う．

• コンテストで提示される問題数が多く，各問題の難易度が低い．

Google Code Jam を初めとするいくつかのコンテ
ストでは，問題の難易度と経過時間に基いて得点計算をして，合計得点によって競う仕組みを利用している．WPCS も同様の仕組みを持っており，各問題• 3 名から 5 名程度のチームでの参加を認める．の Small と Large に対して点数を設定しておき，経• コンテストの実施時間が短く，2 時間以下である．

過時間に応じて線形に得点が減っていき，コンテスト• 各問題に付き手計算や表計算ソフトで容易に解直後であれば設定した点数を，コンテスト終了直前で答できる入力と，プログラムを記述しなければ解答が難しい入力の 2 種類を用意する．

あればその半分の点数が得点となる．
図 2 で WPCS が提供する Web ページ間の遷移図

実際に，学部 2 年生に対して実施したコンテストを示す．図 2 のように，WPCS では複数のコンテスは，上記すべての特徴を備えている．システムの使いトを開催することを前提として作っており，各コンテ方を説明したチュートリアル問題 2 問に加えて，17ストの中に複数の問題が存在している形式を取って問の問題を与え，1 時間半で 3 名から 5 名程度のチーいる．また，チームでの参加を前提としているため，ムで出力結果のみの提出で問題に取り組ませた．まユーザーページとグループページの両方が存在する．

た，各問題に付き Small と Large という 2 種類の入ログインする際はメールアドレス，ユーザー名，パ力を用意した．つまり，合計 34 種類の正しい出力結スワードの入力を必要としており，メールアドレスが果を投稿することで全問正解可能な問題を与えた．

得られる Google と Facebook アカウントの OpenID
でもログインおよびサインインが可能である．なお，

3 プログラミングコンテストシステム

管理者として WPCS にログインすると，コンテストや問題の編集機能が提供される．

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

図1

5

コンテスト開催者と参加者による WPCS の利用プロセス

図2

WPCS が提供する Web ページ間の遷移図

1 でチュートリアル問題以外の用意した 15 問の問題

4 WPCS およびプログラミングコンテストの評価
4. 1 早稲田大学の二年生オリエンテーションにおけるプログラミングコンテスト
早稲田大学基幹理工学部情報理工学科の 2 年生に対するオリエンテーションにてプログラミングコンテス
トを開催した．全部で 17 問の問題を用意して，そのうちの 2 問は解説用のチュートリアル問題である．表の概要を示す．表 1 の Small と Large では正解チー
ム数と提出チーム数を記載しており，スラッシュ(’/’)の左側が正解チーム数で右側が提出チーム数を表している．なお，本コンテストには 43 チームの参加があった．

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

6表1問題

概要C

早稲田大学の二年生オリエンテーションにおけるプログラミングコンテストで使用した問題

SmallLarge

整数列の中の最大値を計算

41 / 41

40 / 40D

二次元平面上の 2 つの円の衝突を判定

35 / 39

22 / 30

E

文字ごとに 2 文字スキップした部分文字列を計算

38 / 41

7 / 10F

整数列の各整数の頻度を計算

33 / 35

11 / 12G

速度と時間が与えられて距離を計算（ひっかけ問題）

20 / 32

7 / 10H

小さな正三角形を正三角形として組み上げたときの正三角形の数を計算

39 / 40

25 / 29

I

石取りゲームにおける勝敗を判定

30 / 358 / 13

J

的当て投球のシミュレーション

30 / 34

1/7K

整数の二次元配列において隣り合わせの数字の合計が 7 になる組み合わせ数を計算

31 / 33

2/5

L

ある文字列中から特定のパターンを満たす最長の部分文字列長を計算

28 / 28

13 / 16

M

離散的な二次元座標上で障害物の要素を導入して、将棋の飛車の移動可能な範囲を計算

28 / 3118 / 19

N

惑星が直列に並ぶ周期を計算

3/4

3/3

O

プログラムを最適化する問題（戻り値が同じ関数呼び出しを削除）

4 / 120/2

P

離散的な二次元座標上で特定の条件を満たす経路を動的計画法で計算

20 / 25

2/7

Q

有向グラフにおけるループの有無の判定

0/60/04. 2 プログラミングコンテスト参加者へのアンケート調査
プログラミングコンテスト参加者に対してコンテストの事前と事後でアンケート調査を行った．表 2 と 3

さ，RQ1.2) プログラミング習得の意欲，RQ1.3) プ
ログラミング習得の必要性，RQ1.4) チームワークの重要性，RQ1.5) チームワーク構築の難しさ，についてそれぞれ学習効果が見られた．

にて，事前および事後のアンケート調査結果を示す．

一方で，とてもそう思うと答えた学生の数が減って表中の列の 1,2,3,4,5,6,1-3 はそれぞれ，とてもそう思いる．事前アンケート調査で強くポジティブな回答をう，そう思う，少しそう思う，少しそう思わない，そ出せる学生は，初学者ではなく他の学生よりも高いス

う思わない，とてもそう思わない，とてもそう思う・キルを持っている学生と考えられる．本コンテストがそう思う・少しそう思うのいずれかの項目の回答率を初学者を対象としているため，かえってネガティブな示している．事前アンケートでは 125 名からの回答，効果をもたらしたと考えられる．

事後アンケートでは 57 名から回答を得た．なお，ア

また，WPCS は十分なパフォーマンステストを実

ンケートは 2 年生のオリエンテーション全体に対す施しなかったため，コンテスト本番にて 100 名以上る項目について調査をしており，プログラミングコンの同時接続に耐えることができず，しばしば Web アテストのみについて調査を行っている内容ではない．

プリケーションが応答しなくなる問題が発生した．そこのことから，68 名の学生からは回答を得られていのため，事後アンケート調査にてコンテストシステムないが，一概にコンテストに対して，批判的な回答をが使いにくかったという回答が多数を占めている．一持つ学生が無回答であったと捉えることはできないと方，コンテストが面白いと答えた学生は 77.2%もお思われる．

り，問題が起こったのにも関わらず良い結果が得られ

表 2 にて現れる全ての項目について，とてもそうたことは，コンテスト自体は成功であったと言える．

思う・そう思う・少しそう思うのいずれかに対する回

コンテストの難易度に関しては概ね好意的な回答答率が向上しており，RQ1.1) プログラミングの面白が多いが，否定的な回答をした学生の中では，難しす日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集
表2

7

プログラミングコンテスト参加者への事前アンケートの調査結果

アンケート内容

1

2

3

4

5

6

1-3

プログラミングを面白いか？

18.4

28.8

34.4

12.8

2.4

3.2

81.6

プログラミングを学習したいか？

27.2

42.4

24.8

2.4

0.0

3.294.4

プログラミングが自分にとって役立つ技術か？

25.6

45.6

19.2

5.6

1.6

2.4

90.4

チームワークの重要性を感じているか？

23.2

36.0

29.6

5.6

4.0

1.6

88.8

あなたにっとてチームワーク作りは難しいか？

11.2

16.8

37.6

22.4

9.6

2.4

65.6

表3

プログラミングコンテスト参加者への事後アンケートの調査結果

アンケート内容

1

2

3

4

5

6

1-3

プログラミングを面白いか？

15.8

40.4

35.1

5.3

1.8

1.8

91.2

プログラミングを学習したいか？

22.8

50.9

21.1

3.5

0.0

1.8

94.7

プログラミングが自分にとって役立つ技術か？

21.1

54.4

21.1

0.0

3.5

0.0

96.5

チームワークの重要性を感じているか？

24.6

42.1

22.8

7.0

3.5

0.0

89.5

あなたにっとてチームワーク作りは難しいか？

14.024.6

36.8

15.8

8.8

0.0

75.4

プログラミングコンテストは面白かったか？

12.3

33.3

31.6

14.0

1.8

7.0

77.2

コンテストの難易度は適切だったか？

0.0

35.1

35.1

21.1

7.0

1.8

70.2

コンテストシステムは使いやすかったか？

0.0

8.8

8.8

42.1

24.6

15.8

17.5

チームでの作業分担は上手くいったか？

0.0

15.8

50.9

10.5

19.3

3.5

66.7

来年度の 2 年生もコンテストに参加すべきか？

15.8

14.0

38.6

8.8

10.5

12.3

68.4

ぎると答えた学生が 78.9%で，簡単すぎると答えた学生が 21.1%いた．どちらの学生も一定数いること

4. 3 プログラミングコンテスト開催者へのインタビュー調査

から，コンテストの問題の難易度設定が難しいことがWPCS の開発に携わったもしくはコンテストの問

分かる．今後は，どちらの学生も満足できるような問

題を作問した 7 名の学生にインタビュー調査を行っ題を揃えることを検討したい．

た．主要な意見を以下で取り上げる．主にソフトウェ

チームワークに関して作業分担が上手くいったと答ア開発の難しさに対する再認識が気づきとして得らえた学生は 66.7%いるが，その一方で，チームワーれた．したがって，RQ2 のソフトウェア開発に関すク作りが難しいと答えた学生の回答率は増えている．

る気付きを得ることができた．

本コンテストではチームワーク作りの難しさを伝え• プログラミングが得意なメンバーが集まっていることを目的としており，学生が当初考えている以上て，素晴らしいシステムが完成すると想像していにチームワーク作りが難しいということを学習させたが，思うようなシステムを開発できなかった．

ることに成功した．

自分たちが手を抜いていたわけではなく，ソフト事後アンケートに回答した 57 名の学生のうち，20名（35.1%）は来年度のコンテストに向けてコンテス
ト開催の協力に興味があると答えており，今後は，新ウェア開発の難しさを改めて認識した．

• 作問をする際に参加者にとって理解しやすい問題文を記述することが難しかった．

3 年生が新 2 年生のために WPCS を改善するという• 開発メンバーの中でプログラミングに関して自プロセスをとることで，プログラミングコンテストを分とは違う好みや作法を持つ者がいて，その多様継続性のあるイベントにしていきたい．

性に驚いた．

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集8• 初めてコードレビューを活用したソフトウェア開発に携わったが，非常により手法だと感じた．

• 開発メンバーの中で初心者に対して指導することが難しく，改めて複数人でのソフトウェア開発の難しさを実感した．

• もともと複数人での開発の難しさを感じていたが，開発チーム内でのコミュニケーションの重要性を再認識した．

5 まとめと今後の展望
本論文ではコーディング以外の方法でも解くことができる問題を用いたコンテストおよびコンテストを開催するためのコンテストシステム WPCS を提案した．WPCS では，問題に解答する際にソースコードの提出を求めず，電卓や表計算ソフトで求めた出力結果であっても提出が可能である．参加者にコーディングを強制しないことでコンテスト参加への敷居を下げ，その結果，RQ1.1) プログラミングの面白さ，RQ1.2) プログラミング習得の意欲，RQ1.3) プ
ログラミング習得の必要性，RQ1.4) チームワークの重要性，RQ1.5) チームワーク構築の難しさにおいて学習効果があることをコンテストの事前 (125 名)・事後 (57 名) のアンケート調査にて明らかにした．また，

WPCS の開発およびコンテストで出題する問題の作問に携わった学生 7 名にインタビュー調査を行ったところ，RQ2) 複数人でのソフトウェア開発の難しさを改めて認識するという気付きを得られたことが分かった．以上から，プログラミングコンテストの開催は開催者と参加者の両方に学習効果のある活動であると言える．
謝辞 WPCS の開発およびコンテストの問題の作成にご協力頂いた谷口直輝氏，佐藤靖治氏，高沢亮平氏，杉本元気氏，津村耕司氏，小林純一氏，木戸將貴氏，片山大地氏（早稲田大学），大田大地氏（株式会社 ACCESS）に感謝する．また，コンテストに参加して頂いた早稲田大学基幹理工学部情報理工学科学部 2 年生に感謝する．
参 考 文 献[ 1 ] ACM: The ACM-ICPC International Collegiate
Programming Contest Web Site sponsored by IBM.
[ 2 ] Deterding, S., Dixon, D., Khaled, R., and Nacke,
L.: From game design elements to gamefulness:
defining ”gamification”, Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments, MindTrek ’11,ACM, 2011, pp. 9–15.
[ 3 ] Forišek, M.: The Diﬃculty of ProgrammingContests Increases, Proceedings of the 4th International Conference on Informatics in Secondary
Schools - Evolution and Perspectives, ISSEP ’10,Berlin, Heidelberg, Springer-Verlag, 2010, pp. 72–85.
[ 4 ] Gulley, N.: Patterns of innovation: a web-based
MATLAB programming contest, CHI ’01 Extended
Abstracts on Human Factors in Computing Systems, CHI EA ’01, ACM, 2001, pp. 337–338.
[ 5 ] Kurnia, A., Lim, A., and Cheang, B.: Online
Judge, Computers Education, Vol. 36, No. 4(2001),
pp. 299 – 315.
[ 6 ] Leal, J. P. and Silva, F.: Mooshak: a Web-based
multi-site programming contest system, Softw.
Pract. Exper., Vol. 33, No. 6(2003), pp. 567–581.
[ 7 ] Luo, Y., Wang, X., and Zhang, Z.: Programming grid: a computer-aided education system forprogramming courses based on online judge, Proceedings of the 1st ACM Summit on Computing Education in China, SCE ’08, ACM, 2008, pp. 10:1–10:4.
[ 8 ] Sakamoto, K., Ohashi, A., Washizaki, H., andFukazawa, Y.: A Framework for Game Software
Which Users Play through Artificial Intelligence
Programming (in Japanese), IEICE Transactions,Vol. 95, No. 3(2012), pp. 412–424.
[ 9 ] Salenieks, P. and Naylor, J.: Professional skills
assessment in programming competitions, SIGCSE
Bull., Vol. 20, No. 4(1988), pp. 9–14.
[10] Shilov, N. V. and Yi, K.: Engaging students withtheory through ACM collegiate programming contest, Commun. ACM, Vol. 45(2002), pp. 98–101.
[11] Trotman, A. and Handley, C.: Programming
contest strategy, Computers Education, Vol. 50,
No. 3(2008), pp. 821 – 837.
[12] 坂本一憲, 大橋昭, 志水理哉, 高橋周平, 村上真一,鷲崎弘宜, 深澤良彰: コンピュータプレイヤー同士の対戦を通したプログラミングコンテストのパターンラン
ゲージ, Proceeding of the 2nd Asian Conference on
Pattern Languages of Programs, AsianPLoP, 2011,
pp. 1–18.