第 10 回実践的 IT 教育シンポジウム (rePiT2024) 論文集

競争型のソフトウェア開発 PBL に対する継続的競争フレームワークの試作と評価
藪下 友柗本 真佑

楠本 真二

効果的な学習形態の一つとして，ゲームなどの題材を用いた競争型 PBL（Project-Based Learning）がある．競争型 PBL の成功には，学生のモチベーション向上と教員による学生の開発進捗の把握が重要となる．本研究では，ソフトウェア開発プラクティスの一つである CI の考えに基づいた，PBL 支援フレームワーク CC を提案する．予備実験として，学部 2 年生を対象とした競争型 PBL 授業にこのフレームワークを導入し，受講生の開発に対するモチベーション向上，及び教員による進捗把握支援に対する予備評価を行った．

る学生に対する適切な開発支援が可能となる．

1 はじめに本研究の目的は競争型 PBL における学生の開発に効果的な学習形態の一つとして，ゲームなどの題対するモチベーション向上，及び教員による進捗把材を用いた競争型の PBL（Project-Based Learning）

握支援の二つである．そのために，ソフトウェア開がある．PBL とはプロジェクトに基づいて学生主体発プラクティスの一つである CI（Continuous Inte-で進める学習形態であり，学習者のスキルの習得, 教gration：継続的統合）の考えに基づいた PBL 支援フ

育効果の向上, 学習への動機付けなどの利点が存在す

レームワーク CC（Continuous Competition：継続る [8]．競争型 PBL ではゲーム等の競争型プロジェク的競争）を提案する．一般的な CI では，プログラムトを通じて，作成したプログラムの強さを競い合う．の変更を契機に，自動ビルドや自動テストにより開発

プログラミング教育にコンテストやゲーミフィケーの効率化を狙う．一方 CC では，学生によるプログション等の競争要素を取り入れることで，学習者の競ラムの変更を契機に，即座に対戦を実施しその結果を争心の昂進や実践的スキルの習得，モチベーションの学生にフィードバックする．これにより学生はプロ向上などの効果が見込まれる [3] [9]．

グラム変更毎に他の学生と比べた相対的なプログラ

競争型 PBL の成功には学生の開発に対するモチムの強さを把握できる．また，教員はプログラム変更

ベーション向上と教員による学生の開発進捗の把握が毎での学生の開発状況を確認し，進捗を把握できる．

重要となる．PBL は教員が先導する授業と違い，学CC の有効性を確かめるために，大阪大学で実施生が主体的にプログラム開発を行う学習形態であるたされている PBL へ CC を導入した．本稿では提案フ

め，学生のモチベーション維持が欠かせない．また，レームワークの予備評価として，モチベーション向上

教員視点では，各学生の開発状況や進捗状況の把握が効果の確認，及び CC を用いた進捗把握の事例につ必要である．進捗状況の把握により開発が遅れていいて紹介する．

Prototype and Evaluation of Continuous Competition
Framework for Competitive Software Development
PBL
Yu Yabushita, Shinsuke Matsumoto, Shinji Kusumoto,
大阪大学, Osaka University.

2 準備
2. 1 競争型 PBL
PBL の一つの形態として，ゲームやコンテストなどの競争型の題材を用いた競争型 PBL がある．競争型 PBL では教員が定めたルールに基づき，学生が戦か失敗したかの二値で与えられる．競争型 PBL にお略検討やプログラム改善を繰り返す．競争はチーム

いては，テスト通過の可否ではなく対戦結果やプログの想像力や生産性を向上させることが知られておりラムの実際の挙動などを示すことで，教員のより詳細[2]，グループワークベースの教育現場との親和性がな進捗把握に役立つ可能性がある．

高い．また，競争をプログラミング教育に取り入れることで学習者の競争心をあおり，実践的スキルの習得

3 提案フレームワーク：CCやモチベーションの向上などの効果も見込まれる [3]3. 1 CC 概要[9]．競争型 PBL の実施例として，Atilim University

本研究の目的は競争型 PBL における学生の開発に

では [9]，制限時間内で最大の素数を見つけるプログ

対するモチベーション向上，及び教員による進捗把握

ラムを開発し，その素数の大きさで順位づけが行われの 2 つにある．この目的を達成するのために，我々はている．また，釧路工業高等専門学校では [11]，プロCI の考えに基づいた PBL 支援フレームワーク CC

グラム可能な LEGO 車両を用いたレースを題材とし（Continuous Competition：継続的競争）を提案する．て行われている．

CC では CI 同様に，GitHub などの版管理システム

本研究では競争型 PBL を，直接型競争と間接型競を中心とした各種開発プロセスの自動化を実現する．

争の 2 種類に大別する．直接型競争は 2 つ以上のチー

具体的には，学生による版管理への変更（コミット）

ムが同時に競技を行い，直接的にその勝敗を決める形を契機に，ソースコードのビルドと対戦を自動的に実式である．他方，間接型競争は単一のチームが競技を施する．対戦結果をランキング等の形式に変換し学行い，そのスコアによって間接的に勝敗を決める形式

生にフィードバックすることで，学生は他チームを上である．実際の競技としては，野球やサッカーなどが回った，あるいは他チームに上回れてしまったとい直接型であり，陸上競技や競泳などが間接型となる．

う相対的な順位を即座に把握できる．このフィードバックにより，学生のモチベーションの向上を狙う．

2. 2 CI を活用したプログラミング教育

教員の視点からは，どのチームがどのような相対順位

CI をプログラミング教育へ導入した研究は数多くにあるかを即座に把握できるため，開発がうまく進ん存在する [1] [10]．CI（Continuous Integration：継続でいないチームの早期発見といった進捗把握が容易的統合）はソフトウェア開発プラクティスの一つであとなる．

り，ソースコードの変更を契機としてビルド及びテス

CC が持つ CI との重要なアーキテクチャの違いのトを自動的に実行する継続的なプログラム開発を意味一つとして，単一のプロジェクトに対して単一の CIする. CI では Git などの版管理システム上へのソー環境ではなく，全プロジェクトに共通した単一の CCスコードのコミット，プッシュを契機として自動ビル環境を設ける点が挙げられる．よって，あるチームがドと自動テストを実行する．これによりエラーを素早ソースコードを変更した際，ランキングの変動等のく修正でき，迅速なソフトウェア開発が可能となる.

結果は全チームに即座にフィードバックされる．自

この自動ビルドと自動テストのアイデアはプログラ

チームだけでなく他チームの対戦結果を全体に公開

ミング教育において AA（Automation Assessment：することで，学生の競争心や向上心を駆り立てる．

自動評価）とも呼ばれている [4]．

なお，CC が用いる対戦結果としては，単純な勝敗

CI の導入により学生のモチベーション向上 [7] [10]やスコアだけでなく，個々の対戦のログやリプレイや，教員の負担削減 [1] [5] などの効果が見込まれる．

データなどの利用を想定している．勝敗やスコアは本研究の対象となる競争型 PBL においては，CI 環

フィードバックの基本となるランキングの情報源に境を用いた他者との比較，すなわち競争の自動化によなる．また，対戦中の挙動を再現可能なリプレイデーりモチベーション向上が期待できる．また，一般的なタを利用できる場合は，積極的に活用すべきであり，

CI ではテストの実行結果は原則，テストに成功した

少なくとも対戦のログから対戦中の挙動がわかるように提示すべきである．リプレイは開発したプログ

group2 commit

ラムの問題点や改善点の発見を助ける強力なフィードバックとなり得る．

本節では提案フレームワーク CC による，対戦結果のフィードバック方法について説明する．CC の自動対戦によって得られた対戦結果は，CC 専用の Webページや Slack，メール等のコミュニケーションツールによって学生にフィードバックされる．Web は能2rank

3. 2 CC のフィードバック

2023/11/11 17:20:00

1345616:05
16:38
16:59
17:08
17:17
16:32
16:57
17:04
17:15
17:20

動的な通知に適さないが，詳細な対戦結果の確認に適する．また，コミュニケーションツールは伝達可能なgroup1 group2 group3 group4 group5 group6
score

3740

2030

1328

図1Web によるフィードバック記事の例

情報量に限界はあるが，速報性に優れる．どの手段を用いるかは任意であるが，これら 2 つのフィードバッ
ク方法を組み合わせることで速報性を確保しつつ，対戦結果の詳細を提供できる．ここでは特に Web を用にリプレイデータや対戦ログを併用するべきである．

いたフィードバック方法について取り上げる．

スコア表の各スコアの値に対してハイパーリンクを

図 1 に Web によるフィードバックの一例を示す．

付与し，リプレイや対戦ログへアクセスさせる．これ

学生による変更を検知する度に，図 1 に示す記事を 1により，各グループの相対的な善し悪しや，絶対的なつ生成する．この記事は，記事生成元となったコミッ

スコアの大小だけでなく，その挙動の詳細も同時に確トの概要，直近数コミット（図の場合 10 コミット）認できる．リプレイや対戦ログを学生に公開する場のランキングの変動を表すランキングチャート，及び合は，戦略やアイデアの盗用が発生しうるかを考慮す

最新のコミットにおける対戦結果のスコアから構成さる必要がある．PBL 題材の性質に応じて，リプレイれている．まず最上段のコミット概要からは，グルーやランク，スコアの公開範囲を検討するべきである．

プ 2 のコミットによりランキングの変動があったことを読み取れる．中段のランキングチャートは，縦軸

3. 3 競争型 PBL での CC 利用の流れがランク，横軸がコミットであり最新コミットが右側競争型 PBL における CC 利用の流れを，版管理シに追加されていく．図の場合，グループ 2 のコミット

ステムを GitHub，フィードバック方法を Web ペー

によりその順位が 3 位から 1 位に上がったと解釈でジと Slack として図 2 に示す．

きる．図の下段には最新コミットにおけるスコアの値を表示している．このスコアによって相対的な善し悪

1. 学生がソースコードを改変し GitHub へコミッ
ト，プッシュを行う．

しだけでなく，絶対的なスコアの大小が確認できる．

2. CC サーバがソースコードのプッシュを確認次

図 1 は間接型競争の場合のフィードバックである．

第 GitHub からプルし，自動デプロイを行う．こ

直接型競争の場合は全グループの組み合わせで対戦をの時，プログラムの振る舞いに影響を与えないリ行うため，各組に対する勝敗を示す必要がある．このソースのみの変更は無視する．

場合，図の下段のような 1 行のスコア表ではなく，縦横グループ数の対戦結果表を用いればよい．ランキン
グチャート自体は直接・間接問わず同じ形式となる．
図 1 は教員へのフィードバックとしても利用可能であり，これに加えて，より詳細な進捗把握のため

3. サーバ内の他の学生のコードと対戦を行い対戦結果を取得する．

4. 対戦結果を Web ページへ反映し，Slack へランク変動等のメッセージと共にポストする．

5. 学生は Web ページと Slack から，対戦結果と1. ソースコードの変更

GitHub
2. ソースコードの取得
CC

3. 対戦実行

4. Webページ更新/Slackポスト
5. 対戦結果の確認
学生

6. 進捗確認
Web

図2

Slack

教員

競争型 PBL における CC 利用の流れ

図3

導入対象 PBL の題材 Battlesnake の実行画面

フィードバック方法には Web ページと Slack を採用した．実装した CC 環境は CI 環境と同様，サーバと順位を即座に把握できる．

して常時起動しており，Webhook を用いた GitHub

6. 教員は Web ページと Slack から，学生の対戦リポジトリの変更監視，Battlesnake の対戦実行，対結果と順位を把握する．これに加えて，対戦ログ戦結果に基づく Web 記事の生成，Slack API を用いやリプレイデータからプログラムの挙動を確認た Slack 記事の自動ポスト，Web 記事を公開するたし，学生の開発状況を把握できる．

めの Web サーバなどの機能を持つ．

4 CC の試作

さらに対戦のリプレイ機能を提供するために Battlesnake 公式が公開しているゲーム実行エンジン †2

4. 1 適用対象の PBLとリプレイヤ †3 を改変し利用した．より具体的には，適用実験として，大阪大学基礎工学部情報科学科

まずゲーム実行エンジン上で対戦が行われる度に，全の学部 2 年生を対象として開講されている，基礎工ターンの盤面情報を持つ JSON を対戦ログとして記学 PBL（情報工学 B）（以降，PBL-B）に CC を導録する．この対戦ログを，改変したリプレイヤに読み入した．PBL-B は競争型かつグループワーク形式の込ませることで，Web ブラウザ上での対戦結果のリPBL 授業であり，1 グループ 5 人の計 14 グループプレイを実現する．図 3 の下部にはリプレイ用のコで行われる．PBL-B では題材に競争型のプログラミングゲーム Battlesnake†1 を採用している．図 3 にントローラが示されており，1 ターン毎のステップ実行や巻き戻し等が利用できる．

Battlesnake のゲーム実行画面を示す．図中の盤面上には一匹の蛇が存在し，毎ターン上下左右を一マス移

5 予備評価動する．この蛇を制御するプログラムを開発し，その5. 1 評価方法

生存ターン数をスコアとして競う．学生は複数人で本論文を執筆している時点で PBL-B は進行中であ共同開発可能な Web 上のエディタを用いて開発を行り，導入した CC の評価は完了していない．PBL-B

い，その成果物を版管理システム上に提出する．

は全授業の前半と後半を異なるルールで実施しており，ここでは CC の予備的な評価として，前半ルール

4. 2 CC の実装を終えた授業 6 週分での CC 導入効果について説明提案する CC フレームワークに基づき，PBL-B にする．評価の観点は以下 3 つである．

特化した具体的な CC 環境を構築した．PBL-B の実• Q1．CC は利用されているか施形態に合わせて版管理システムには GitHub を，• Q2．CC は学生のモチベーションの向上に貢献†1 https://play.battlesnake.com/†2 https://github.com/BattlesnakeOfficial/rules†3 https://github.com/BattlesnakeOfficial/board

しているか• Q3．CC は教員の進捗把握に貢献しているか

ンケート回答者の 72%が CC を利用していることが分かった．

まず Q1 として，前提となる学生の CC 利用状況

また，この CC を利用していた 72%の 21 名に対しを確認する．利用状況は利用頻度や使用感に関するて CC の使用感に関する選択式と記述式のアンケート

アンケート調査と，CC 利用数の推移や対戦スコアとを行った．図 4 に選択式のアンケート結果を示す．アの相関から確かめられる．CC 利用数は，CC での対ンケートでは CC のフィードバック方法である Web戦結果の確認を目的としたコミットの数で計測する．と Slack に対する使用感の質問に対し，「そう思う」

PBL-B 自体は毎週 1 回の議事録ファイルのコミットから「そう思わない」の 5 段階のリッカート尺度によ（及びプッシュ）をルールとして設けているが，それり評価を行う．図 4 の「Web によるランク変動把握以外のコミットは強制ではない．また Web 上で共同はコード改変結果の詳細な把握に役立った」という質開発可能な環境で実装している点からも，基本的に学問に対し，約 80%の学生が肯定的な回答をしている．

生のコミットやプッシュは不要である．それにも関わ

また，「Slack からのランク変動把握はコード改変結らず能動的にプログラムに関するソースコードをコ果の即時把握に役立った」という質問に対し，約 70%ミットをしているケースは，CC での対戦実行を目的の学生が肯定的な回答をしている．これより CC のとしていると見なした．能動的なコミットのコミット

フィードバックであるコード改変結果の確認として，メッセージの中には，議事録に関係ないものや，CCWeb による詳細な把握と Slack による即時把握は有利用の旨を書いたものがあり，明らかに CC を利用す効であるとわかる．記述式のアンケートでは「CC 利るコミットを確認できた．以降ではこの CC 利用を用で感じた利点をお教えください」という質問に対目的としたコミットの数を，CC コミット数と呼ぶ．

して，さらに Q2 として，研究の目的の一つである学生の• 開発したプログラムの出来栄えがすぐにわかる

開発に対するモチベーション向上に貢献しているか• 現時点での進捗が分かって開発しやすかったを確かめる．Q1 で行った CC の利用頻度のアンケー• 競争にあたって自班の順位が分かることで方針

ト結果をもとに CC 利用者に対してのみアンケート調査を行う．

Q3 では二つ目の目的である教員による進捗把握への取り決めに役立った• ほかのチームがどれくらいの進捗かがよく分かったの貢献を確かめる．第二著者が毎週 CC の提示すると CC が自班や他班の進捗把握に役立っている旨のランキングの変動や対戦スコアを確認し，どのように回答を複数得ることができた．以上のことから CC役立てたかを議論する．

は学生の開発支援に一定の貢献があるとわかる．

5. 2. 2 CC コミットによる利用状況の調査結果
5. 2 Q1 の結果（CC の利用状況）

CC 利用状況として，図 5 に各週毎の全班の総 CC

5. 2. 1 アンケート調査による利用状況の調査結果

コミット数の推移を示す．第 5 週は授業が休講であっCC 利用状況として受講生に対して回答任意のア

たため CC コミット数は少なくなっているが，週をンケート調査を行い，CC の利用頻度に関する質問

重ねるごとに CC コミット数が増加する傾向にある．

を行った．アンケートの回答率は受講生 70 名中 29

そのため授業毎に CC 利用数は増加傾向にある．

名の 41%であった．利用頻度は CC を「積極的に利また，CC の利用が学生の成績に与える影響を調査用した」，「適宜利用した」，「あまり利用しなかった」するために，スコアと CC 利用数（CC コミット数）の 3 段階の利用形態に分類し質問した．結果として，の相関を確認する．図 6 に各班の CC コミット数と「積極的に利用した」という回答は 7 名（24%），「適スコアの散布図を示す．図中の波線は 2 つの軸の平宜利用した」という回答は 14 名（48%），「あまり利均値である．CC コミット数が平均値より多いグルー用しなかった」という回答は 8 名（28%）であり，アプは 5 班，少ないグループは 9 班であった．図より

Webによるランク変動把握は
コード改変結果の詳細な把握に役⽴った

43%

Slackからのランク変動把握はコード改変結果の即時把握に役⽴った

38%

38%

33%

0%
そう思う

25%

どちらともいえない

どちらかというとそう思う

図4

10% 10%

24%

50%

5%

75%

どちらかというとそう思わない

100%
そう思わないCC 使用感に関する 5 段階アンケート結果

5. 3 Q2 の結果（モチベーション向上）

80

CC によるモチベーション向上効果を評価するため

全 70
班 60の総 50
CC 40
コ
ミ 30
' 20
ト数 10に，選択式と記述式のアンケート調査を実施した．アンケート対象は 5. 2. 1 節と同様，CC を利用していた21 名の学生として調査を行った．図 7 に選択式のアンケート結果を示す．アンケートは図 4 と同様の 5段階のリッカート尺度により評価した．図 7 の「開0第1週

第2週第3週

第4週

第5週

第6週

発に対するモチベーションが向上した」という質問に対し，90%以上の学生が肯定的な回答をしている．ま図5

た，学生のモチベーション向上に関連する CC の主な各週毎の全班の総 CC コミット数の推移要素として，プログラムの自動実行結果の即時フィードバックと他班の順位変動の可視化がある．この二3500

つの要素に対しても選択式のアンケート調査を行い，

3000
2500

その結果を図 7 に示す．プログラムの自動実行結果

平均値 13ス 2000コ 1500ア1000の即時フィードバックにおいては「開発プログラム平均値 1154の自動実行による即時ランク変動へ面白みを感じた」という質問に対し，約 85%の学生が肯定的な回答を

500
0051015202530354045

各班の総CCコミット数している．他班の順位変動の可視化においては「他班のランク変動から競争心が駆り立てられた」という質問に対し，約 75%の学生が肯定的な回答をしている．

図6

各班の総 CC コミット数と対戦スコアの散布図

また，記述式のアンケートでは「CC 利用で感じた利点をお教えください」という質問に対して，平均値よりも高いスコアを出した 5 班のうち，CC コ• 順位が変動して楽しかった

ミット数が平均値より多いグループが 4 班占めてい• ランキング上位に位置するとモチベーションがる．また，CC コミット数が平均値よりも少ないグ上がった

ループにおいて，平均値よりも高いスコアを出した班• 1 位になったとき班の士気が上がったは 1 班だけである．そのため CC 利用数が多い班ほ• 自分の班のプログラムが, 全体の中でどれくらいど高いスコアを取得できている．のレベルにあるのかを把握できたことが, 開発へ

開発に対するモチベーションが向上した

43%

開発プログラムの⾃動実⾏による即時ランク変動へ⾯⽩みを感じた

48%

他班のランク変動から競争⼼が駆り⽴てられた

29%

0%
そう思う

5%

38%

14%

48%

25%

どちらともいえない

どちらかというとそう思う

図752%

24%

50%

75%

どちらかというとそう思わない

100%
そう思わないモチベーションに関する 5 段階アンケート結果のモチベーションに繋がっていた目的とした研究として，Kasahara ら [6] や華山ら [10]とモチベーションに関して肯定的な回答を複数得るこは，CI に品質計測を組み込むことで，受講生のプログとができた．以上のことから CC は学生の開発に対すラムの品質に対する意識改善に取り組んでいる．学生

るモチベーション向上へ一定の貢献があるとわかる．

による版管理システムへの変更を契機として CI ツールを実行し，その分析結果を用いてプログラム品質を5. 4 Q3 の結果（進捗把握）評価しその評価結果を自動でフィードバックすること

教員は，CC のフィードバックからプログラムのバで，品質に対する意識改善を行っている．木崎ら [12]グやルールの欠陥に気づくことができた．具体的には，ソフトウェア開発 PBL での学生によるコードレは，同じ班による複数回のコミットで順位が下位からビュー支援のために CI に基づいた環境を提案してい変動しない場合に，リプレイや対戦ログを確認するこる．版管理システムへの変更を契機として CI ツールとで，タイムアウトエラーなどのプログラムの問題箇を実行し，その結果をレビュー担当の学生に自動で所を発見し該当班へ指摘できた．また，順位が急上昇フィードバックすることでレビュー支援を行っていした複数の班に対してリプレイ機能で挙動を確認する．また，教員に対して負担削減や進捗把握支援を目ると，ルールの戦略性を無視したような単純なアルゴ的とした研究として，Amelung ら [1] は，CI を基にリズムの使用が判明した．そのような単純なアルゴした自動評価システムを授業に導入し，学生の課題提リズムでも安定して高スコアを狙えるため，PBL-B

出に対し，Web 上でフィードバックを与えるシステで目的としているプログラミングの自主的な学習にムを提案した．同様に Insa と Silva [5] も，受講生の繋がらないと考え，急遽ルール変更を設けることで対多いソフトウェア開発授業での多量の課題の採点に策を行えた．以上は CC のフィードバックがない場

対して，CI を基にした自動評価システムを導入し評合には，学生からの申告や，実際に教員がプログラム価作業の 48%の自動実行を可能とした．これらの既を実行して気づく必要がある．その工程を省略して存研究は CI に基づいた環境を提案しているが，いず教員に伝達できるため，CC 導入が教員による学生のれも一つのプロジェクトに対して単一の環境のみを進捗把握に貢献していることがわかる．

提供している．一方で，本研究で提案した CI に基づいたフレームワークである CC は，開発プロセスの6 関連研究

自動化を全プロジェクトに対して共通した単一の環

CI をプログラミング教育に導入する研究はその目境として提供する．これにより本研究では，学生によ的や授業形態などの違いにより数多く存在する [1] [6]．

る相対的なプログラムの評価が可能となるため，学生学生に対する開発支援やモチベーション向上などをの競争心を駆り立てモチベーション向上を狙うことができる．また，教員による相対的なプログラムの評価も可能となるため，進捗が遅れている学生の発見などの開発進捗把握の支援も行うことができる．

7 おわりに
本研究では，CI の考えに基づいた PBL 支援フレー
ムワーク CC を提案した．適用実験として，学部 2 年生を対象とした競争型 PBL 授業にこのシステムを導入し，学生の開発に対するモチベーション向上と教員による学生の進捗把握支援に一定の効果があることを確認した．
本研究の今後の課題としては，授業後半での CC 環境の保守が挙げられる．また，本研究の提案手法はフレームワークであるため，競争型 PBL の題材に依存せず，他の競争型 PBL への導入が可能である．提案
手法は現状一つの授業にしか導入していないため一般化可能性の評価ができていない．一般化可能性を評価する一つの手段として，複数の授業への導入が挙げられる [1]．そのため，他の競争型 PBL への CC 導入により CC の一般化可能性を確認することは，一つの重要な課題である．

謝辞
本 研 究 の 一 部 は ，JSPS 科 研 費（JP21H04877，JP20H04166，JP21K18302，JP21K11829）による助成を受けた．

参 考 文 献[ 1 ] Amelung, M., Forbrig, P., and Rösner, D.: Towards Generic and Flexible Web Services for EAssessment, Special Interest Group on Computer
Science Education Bulletin, Vol. 40, No. 3(2008),
pp. 219–224.
[ 2 ] Ashay Desai, M. T. and Arbaugh, J. B.:
Learning Through Collaboration and Compe-tition:
Incorporating Problem-Based Learning
and Competition-Based Learning in a Capstone Course, Organization Management Journal,
Vol. 11, No. 4(2014), pp. 258–271.
[ 3 ] Dagiene, V. and Stupuriene, G.: Informatics Education Based on Solving Attractive Tasks througha Contest, Commentarii informaticae didacticae,
Vol. 7(2015), pp. 97–115.
[ 4 ] Ihantola, P., Ahoniemi, T., Karavirta, V., andSeppälä, O.: Review of Recent Systems for Automatic Assessment of Programming Assignments,
In Proceedings of Koli Calling International Conference on Computing Education Research, 2010,
pp. 86–93.
[ 5 ] Insa, D. and Silva, J.: Semi-Automatic Assessment of Unrestrained Java Code: A Library, a DSL,
and a Workbench to Assess Exams and Exercises,
In Proceedings of ACM Technical Symposium on
Computer Science Education, 2015, pp. 39–44.
[ 6 ] Kasahara, R., Sakamoto, K., Washizaki, H., andFukazawa, Y.: Applying Gamiﬁcation to Motivate
Students to Write High-Quality Code in Programming Assignments, In Proceedings of ACM Conference on Innovation and Technology in Computer
Science Education, 2019, pp. 92–98.
[ 7 ] Kyrilov, A. and Noelle, D. C.: Do Students Need
Detailed Feedback on Programming Exercises andCan Automated Assessment Systems Provide It?,
Journal of Computing Sciences in Colleges, Vol. 31,
No. 4(2016), pp. 115–121.
[ 8 ] Pérez, B. and Rubio, A. L.: A Project-Based
Learning Approach for Enhancing Learning Skills
and Motivation in Software Engineering, In Proceedings of ACM Technical Symposium on Computer Science Education, 2020, pp. 309–315.
[ 9 ] Ç ulha, D.: Applying Competition-Based Learning to Agile Software Engineering, Computer Applications in Engineering Education, Vol. 24(2016),
pp. 382–387.
[10] 華山魁生, 柗本真佑, 肥後芳樹, 楠本真二: プログラミング教育における実績可視化システムの提案と評価, 情報処理学会論文誌, Vol. 61, No. 3(2020), pp. 115–121.
[11] 石山俊彦, 中島陽子, 神谷行基: 釧路高専専攻科における競争試作方式を適用した PBL 型演習の実践例, 工学教育, Vol. 56, No. 5(2008), pp. 11–16.
[12] 木崎悟, 田原康之, 大須賀昭彦: アジャイル型ソフトウェア開発 PBL における CCBR を拡張したコー
ドレビュー支援環境の提案, 情報処理学会研究報告,
Vol. 2013-CE-118, No. 9(2013), pp. 1–8.