社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

プログラミング教育における課題達成状況比較システムの試作
長谷川和輝†

柗本 真佑†

楠本真二†† 大阪大学大学院情報科学研究科
E-mail: †{k-hasegw,shinsuke,kusumoto}@ist.osaka-u.ac.jp
あらまし

昨今のプログラミング教育では，教員に提示されたテストを達成することを目標に受講生が開発を行うというテストファーストな手法が採用されつつある．これにより，受講生にとって仕様に対する曖昧さが低減されるという利点がある．しかし，課題達成への作業の見積もりは容易ではなく，学生自身による進捗管理は困難である．この問題の解決策の一つとして他者との比較が挙げられるが，COVID-19 の流行により机を並べての作業や会話といった対面での交流が減少し，他者の進捗状況の認知は困難になっている．そこで本研究では，Git 上に記録された開発履歴を用いて，現在と過去の受講生の課題達成状況を可視化するシステムを提案する．各受講生はこのシステムを利用することで自分の達成状況を相対的に把握できる．適用実験では学部 3 年生を対象とした講義にこのシステムを導入し，自身の相対的な進捗状況の把握はできたか，また取り組むべき課題の優先順序付けはできたかについて確認した．
キーワード プログラミング教育，CI ツール，進捗，可視化，社会的比較

1. は じ め に較である．自身の作業が他の大勢と比べて進んでいるのか・遅れているのかという相対的な情報は，進捗の是非を考える際効率的かつ効果的なプログラミング演習の実現を目的として，の一つの基準となる．このような他者と自己との比較（社会的テストケースを活用した演習形態が広く採用されている [1] [2]．

比較 [6] [7]）は人の取る自然な行動であり，進捗状況を含めたこのテストファーストなプログラミング演習形態（以降，TF様々な領域の不確実さを低減させる効果がある [8]．しかしな形態）では，教員があらかじめ課題の仕様をテストとして規定

がら，COVID-19 の流行を契機とした社会のオンライン化によし，受講生はそのテストの通過を目標としてプログラミング作り，社会的比較は容易ではなくなった．対面でのコミュニケー

業を進める．TF 形態は一般的な演習形態と比較して，仕様に対ションの機会が激減したため，その中で自然に得られていた他する曖昧さの低減，自動的な課題達成の可否判定，自動判定に者の進捗状況という情報へのアクセスは困難になった．TF 形よる自主的な開発の促進といった利点が存在する．さらに TF

態での演習はオンライン化が容易である一方で，自主的な開発演習の実現には，版管理システムや継続的インテグレーション作業を促進しやすく，結果的に社会的比較の機会をより減少さツールなどのソフトウェア開発技術が活用される [3]．そのたせる傾向にある．効果的な TF 形態の実現のためには，社会的め実践的な開発技術を体験できる，という副次的な効果も期待比較の仕組みが必要であると考える．

できる [4]．

本研究の目的は，TF 形態でのプログラミング演習におけるTF 形態を含む一般的なプログラミング演習が抱える典型的進捗把握の支援である．そのために，他者との進捗状況の比較な課題の一つとして，受講生自身による進捗管理の難しさが挙を実現するシステム seap を提案する．seap では，TF 形態でげられる [5]． 教育現場における開発作業は，基本的に受講生与えられる各テストケースの通過状況を，進捗状況を表す指標にとっては未経験の内容である．よって，与えられた課題の達と見なす．全受講生に対する各テストの達成割合をリアルタイ

成にの日数を要するのか， 現在の作業速度で締め切りに間に合ムで可視化することで，相対的な進捗状況の把握を実現する．

うのか，優先的に実装すべき仕様やテストはどれか，といった

さらに seap では現在の受講生だけでなく，過去の受講生との作業の見積もりは容易ではない．また，言語処理や画像処理，比較も可能である．これにより，各テストの達成にの期間を要

アプリ開発等をテーマとする実践的なプログラミング演習では，するのか，過去の受講生がどのような順序でテストを達成させまとまった規模の課題が一括して提示されることがある．このたか最も達成が困難なテストがどれなのか，といった類推が可

方法は，従来の受動的な教育形態と比べて，能動的かつ自主的能となる．適用実験として，学部 3 回生を対象としたプログラな開発作業の促進が可能であり，事前にテストを配布する TF

ミング演習に seap を導入し，その効果を確かめた．実験の結形態との親和性も高い．一方で，受講者による自主的な進捗管果，自身の相対的な進捗状況の把握には寄与できたが，取り組理の支援が重要な課題となる．

むべき課題の優先順序付けにはあまり寄与できなかった．

作業見積もりの難しさを緩和する一の方法つは，他者との比—1—2. 準

そのため，受講生が自身の進捗が進んでいるのか，遅れている備のかを把握する際に，他の受講生との進捗度合いの比較は役立

2. 1 テストファーストなプログラミング演習形態

つ．しかし， コロナ禍において机を並べての作業や会話といっ昨今，ソフトウェア開発の実践的な技術を取り入れた，演習た対面での交流機会の減少により他の受講生の進捗を把握しづ形式のプログラミング教育形態が広まっている [1] [2]．本論文

らくなった．その結果，自分の進捗が他の受講生と比較して進では，この教育形態の一つであるテストファーストなプログラんでいるのか，遅れているのかがわからず，不安になる可能性

ミング演習形態に着目する．テストファーストなプログラミンがある．また，他の受講生の進捗が把握しづらいことにより，グ演習形態（以降，TF 形態）では教員が事前に提示したテス自分の進捗が遅れているとは思わない受講生が増え，最終的なトに通過したか否かを課題達成の可否と見なす．従来のプログ課題達成者が減少する可能性があるとも指摘されている [17]．

ラミング演習では課題達成の可否の判定に一定の時間と労力がコロナ禍が収束した後に広まることが見込まれるハイフレック必要であり，受講生は自身の提出物が達成要件を満たしている

ス型講義（注 2）においても，従来の対面形式の講義に比べて他のか否かを即座に把握することができなかった．それに対し，TF受講生の進捗を把握しづらくなり，コロナ禍における講義と同形態では，プログラムを提出した時点で即座に課題達成の可否様の状況になると想定される．

がわかる [9] [10]．そのため，受講生は自発的に次の課題へ取りP2： 優先的に取り組むべきテストの把握組むことができる．また，課題達成状況が自動的に把握できる

多くの場合，教員は難易度に応じた順序でテストを受講生にので，教員は受講生全体の進捗状況を俯瞰して把握しやすく，提示するが，演習の形態によっては難易度とは無関係の順序に進捗が遅れている受講生に対するサポートが可能になる．TFなっていることもある．特に言語初学者ではなく中級者以上を形態の実現には，Git や CI ツールなど様々な開発支援技術が対象とした，発展的な内容（データ構造とアルゴリズムや，言使われる．

語処理など）では大きなテスト群が一度に与えられることもあ

TF 形態の具体的な実施の流れを説明する．まず教員がそのる．また，テストの難易度の捉え方は教員によって様々である

演習における課題，すなわち作成プログラムの要件を規定する．

ため，実際に受講生が取り組むと後半のテストの方が簡単な場（注 1）

教員はその要件の達成可否を判定するテストを作成し受講生に配布する．以降，テストスイートを単にテストと呼ぶ．受講生はプログラムを作成し，配布されたテストを用いて自身が合もある．

3. 提 案 手 法

作成したプログラムが要件を満たすか確認する．プログラムが

3. 1 seap の概要

配布された全テストに通過すれば課題達成となる．

TF 形態における問題の解決を目的として，他者との進捗比

2. 2 COVID-19 の影響較を可能とするシステム seap を提案する．seap では，自身と2019 年から流行した COVID-19 の対策として，教育現場で現在の受講生との比較だけではなく，過去の受講生との比較もは非対面形式での講義が実施されてきた [11]．テストファース行えるようにする．また，seap における進捗はテストの通過

トな教育手法はオンライン形態のツールを使用するため，対面状況と見なす．ソースコードの行数を進捗とする方法も可能だ

作業への依存を軽減できる [12]．そのため，非対面形式での講が，ソースコードの長さは設計方法や採用するアルゴリズムな義との親和性が高く，プログラミング演習において広く採用さどに依存するため，曖昧である．その点，テストは教員から提れつつある．

示されるため，受講生間で差異はなく，明確である．

しかし，非対面形式での講義が増加するにつれ，机を並べてまず，P1 の解決を目的として，自身と現在の受講生との比較の作業や受講生間での会話の機会は減少した．そのため，受講を実現する．具体的には自身のテスト通過状況と全体に対する生は自身の進捗が他の受講生と比較して進んでいるのか，遅れテスト通過者の割合を比較する．以降では，全体に対するテスているのかを把握することが難しくなったと考えられる．また，

ト通過者の割合を達成率と呼ぶ．自身のテスト通過状況と達成提示された締め切りに対してどのようなペースで課題に取り組率の比較は社会比較論 [6] [15] [16] における正確な自己評価をむべきかについて友人と相談する機会も減少した [13] [14]．

得ようとする際の自身と他者の相対的比較に相当する．そのた

2. 3 TF 形態の問題

め，自身の進捗が進んでいるのか，遅れているのか把握する上本研究では TF 形態が抱える問題のうち，受講生間の交流がでこの比較は役に立つと考えた．

減少したことに起因する以下 3 つの問題を考える．これらはコさらに自身と過去の受講生との比較により，自身の進捗と大ロナ禍における受講生間の交流の減少で顕在化した問題である

半の受講生の進捗の差を類推できる．例えば，自身の通過したが，TF 形態自体が抱える問題であるといえる．

テストについて，過去の受講生の達成率が自分の達成した 3 日

P1： 他者と比較したときの自身の進捗状況の把握後に 50%になったとする．このことから，自身の通過したテス

人は正確な自己評価を得ようとする際，他者との相対的な比較

トについては 50%の受講生に比べて 3 日分進捗が進んでいるとを基準とするという社会的比較論が知られている [6] [15] [16]．
（注 2）：ハイフレックス（HyFlex）型講義とは，Hybrid-Flexible の略で，対（注 1）：本稿ではテストケースの集合であるテストスイートのことを単にテスト

面・同期オンライン・非同期オンラインが提供され，学生が自在に選択することと呼ぶ．

ができる講義形態を指す．

—2—

類推できる．また，自身が未通過のテストについて，過去の受講生の達成率が 7 日前に 50%になっていたとすれば，50%の受講生に比べて 7 日分進捗が遅れていると類推できる．
次に，P2 の解決を目的として，達成率を各テストごとに表示
する．各テストについて現在の受講生の達成率や過去の受講生の達成率遷移を見ることで，通過が困難なテストや容易なテス達成率を表示

トがわかる．例えば，過去において講義開始からすぐに達成率が高くなるテストは通過が容易であり，締め切り直前まで達成率が低いテストは通過が困難だと考えられる．また，自分が未通過のテストの達成率を見て，多くの受講生が通過しているテストがあれば，教員だけではなく他の受講生にもそのテストを通過させるためのアドバイスを求めることができる．このようにして参考となる情報を提示することで，取り組むテストの優先度を決める補助ができると考えた．

test01
test02
test03
test04
test05
test06
test07
test08
test09test10
0%

20%

40%

60%

80%

100%

なお，seap を web 上に公開することで，コロナ禍における
図 1 現在の学生との比較画面の非対面の講義形式であっても，seap を使用できる．

3. 2 seap の外観
seap の外観を図 1，2 に示す．seap は以下 4 つの要素で構成されている．

•

比較対象年度，課題選択一覧•

自身の ID 入力フォーム•

比較対象の日付選択スライダー•

各テストの達成率を示す棒グラフ

まず，比較対象年度を選択することで，現在の受講生か過去の受講生との比較のどちらを行うか選択できる．その下にある課題選択一覧で，確認したい課題を選択できる．なお，図 1，2では，節にある適用実験の題材となった講義の課題が表示されている．下部にある棒グラフには各テストの達成率が表示される．中央部にあるタイムスライダーで締切までの残り時間を設定することで，設定された時点での各テストの達成率が画面に表示される．また，学籍番号と記載されている欄に自身の ID

test01
test02
test03
test04
test05
test06
test07
test08
test09test10
0%

20%

40%

60%

80%

100%

を入力すると，自身の達成したテストが濃い青で色付けされる．これにより，自身のテスト通過状況と達成率の比較を可能

図 2 過去の学生との比較画面にする．
図 1 は 2021 年を選択しているため，現在の受講生と比較しトは，2020 年において締め切り 11 日と 20 時間前になると約ている画面である．下部の棒グラフには，締め切り 20 日と 2250%の受講生が通過しているとわかる．このことから，図 1，2時間前の各テストの達成率が表示されている．この受講生の IDで指定している時刻の差分である 9 日と 2 時間分は約半数の受は 09B99008 であり（以降，この受講生を 09B99008 と呼ぶ），講生よりも進捗が進んでいると考えられる．また，09B99008

締め切り 20 日と 22 時間前の時点で test01〜test05 までのテスが通過していない test06〜test10 のテストは，2020 年においトは通過しているが，test06〜test10 は通過していない．未通て締め切り 11 日と 20 時間前になると約 50%の受講生が通過

過のテストの達成率を見ると test06，test07 に比べ，test08〜している．このため，図 1，2 で指定している時刻の差分であtest10 の達成率が高いため，次に取り組むべきは test08〜test10

る 9 日と 2 時間分は約半数の受講生よりも進捗が遅れているとであると考えられる．また，既に通過している test01〜test05考えられる．に比べ，test08〜test10 は達成率が高いので，テスト通過までに3. 3 進捗の回収

test01〜test05 の時ほど時間と労力がかからないと目算できる．

Git 上に記録された開発履歴を利用して進捗（テストの通過

また，図 2 は 2020 年を選択しているため，過去の受講生と状況）を回収する．進捗回収の流れを図 3 に示す．受講生の各比較している画面である．下部の棒グラフには，2020 年におコミットごとにおいて，git-checkout し，テストを実行する．

ける締め切り 11 日と 20 時間前の各テストの達成率が表示されその後，テストの実行結果を図 3 の下にあるように，JSON 形ている．09B99008 が既に通過している test01〜test05 のテス式で集計する．この処理を過去の受講生全員分に対して行う．

—3—

ほぼ毎日

Student A's Git repo

週2〜3回程度

ほとんど使用しなかった

4.3%

Step1. Exec git-checkout for each commit

17.4%

8.7%

Source code

週1回程度
21.7%

Step2. Exec all test cases

月1回程度
47.8%

Pass/failrepeat all commits
repeat all student's repo

Step3. Collect pass/fail for all commits & students

図 4 seap の利用頻度{student: "A", date: 2020/08/01,
pass-fails: [{name: "test01", status: "pass"},{name: "test02", status: "fail"},...
]}, ...

JLWSXVK᫬
git-push
時

146⥾䜑ษ䜚㛫㝿
締め切り間際ᐃᮇⓗ
定期的

図 3 進捗回収の流れ

95

0


10

 （人）
15

図 5 seap をいつ利用したか？

現在の受講生についてはリアルタイムに進捗を取得するため，webhook を活用する．受講生が自身のリモートリポジトリへ git-push した時点で seap へ通知するように webhook を設

受講生が seap を使用するか任意とし，希望者は 3. 3 節にあ定する．通知を受けるたびに seap は対象の受講生のリモートるデータ収集対象から外すようにした．そのため，演習 D の受リポジトリをローカルへ git-clone する．その後，最新コミッ講生のうち seap の使用を希望する人に対して研究目的によるトで git-checkout しテストを実行する．実行結果は過去の受講データ収集の同意を得た．結果として，全受講生 78 名中 77 名生の時と同様の JSON 形式で，集計済みの実行結果に追記してから同意を得られた．

いく．

4. 適 用 実 験
4. 1 実験の目的
本研究では，seap を TF 形態に導入することで 2. 3 節にて列なお，3 つ目の課題の締切後から 4 つ目の課題の締切後にかけて受講生に対してアンケートを実施する．アンケートでは

4. 1 節で列挙した目的の達成可否に加えて，seap の利用実態と要望についても調査する．

4. 3 アンケートの設計

挙した課題を解決できたかを確かめるために適用実験を行った．

obj1 の達成可否については，自身の進捗について他の受講生適用実験を行うにあたり，以下の項目を目的として設定した．に比べて進んでいると思ったか，遅れていると思ったか，わかobj1： 自身の相対的な進捗状況の把握らなかったかという選択肢を設けて質問することで確認する．

obj2： 取り組む課題に優先順序を付ける

その後，自身の進捗が進んでいると回答した人，遅れていると

なお，obj1 については自身と他の受講生との相対的な進捗差を回答した人のそれぞれに具体的にどの程度進んでいると思った

具体的な日数や時間で把握できたかについても調査した．

か，遅れていると思ったかについて質問する．

4. 2 題 材 講 義また，取り組むテストの優先順序付けには，過去の受講生のseap の適用実験として，大阪大学基礎工学部情報科学科の学達成率の推移が参考になると考えられる．そのため，obj2 の達部 3 年生を対象として開講されている情報科学演習 D（注 3） （以成可否については過去の受講生や現在の受講生の達成率を見る

降，演習 D）に seap を導入した．受講生には字句解析器の作ことによって，達成が容易なテストや達成が困難なテストが把成，構文解析器の作成，意味解析器の作成，コンパイラの作成の握できたかを質問することで確認する．

4 つの課題が順に課される．本論文では 3 つ目と 4 つ目の課題

なお，これらに加えて seap の利用実態と要望の調査のため，への導入の結果を述べる．1 つ目の課題から導入する方法も考利用頻度とそのタイミング，使用した感想や改善点についてもえられるが，seap 導入前後での比較を可能とするために，3 つ質問する．

目の課題より導入した．各課題におけるテストの数は 1 つ目の課題のみ 38 ケース，それ以外の課題については 37 ケースである．なお，今年度の演習 D はハイフレックス型講義であった．

5. 実験結果と考察
演習 D の受講生に対してアンケートを行った結果，77 名中23 名から回答が得られた．
（注 3）：https://loki.ics.es.osaka-u.ac.jp/

—4—

早い方
4.3%わからない

遅い方
16.7%

少し遅い方

1ヶ月以上早い
18.2%

9.1%

少し早い方
41.7%

8.3%

全体進捗率が低い中で実装を完了できたため．
9.1%

1ヶ月以上遅い

1~2週間早い
18.2%

1~2週間早い
27.3%

普通
16.7%

これらの回答から，進捗の把握をするタイミングについて，以下の 2 通りがあることがわかった．

1. 課題に取り組んでいる最中
2. 課題達成時

他者と同じ
18.2%

比較的進捗が遅れていると回答した受講生からは 1 の様な回答が多く，進捗が進んでいると回答した受講生からは 2 の様な回

図 6 あなたの進捗は早かったか？ 図 7 他人との進捗差はどの程度だと思うか？

遅かったか？

答が多かった．進捗が遅れていると感じた受講生は，遅れているという不安から，課題に取り組んでいる最中に進捗の把握を試みると考えられる．逆に，進捗が進んでいると感じた受講生
は，課題に取り組んでいる最中は不安を感じないため，進捗のはい
22.7%はい27.3%

把握を試みず，達成時に自身の進捗に対して評価を下そうと進捗の把握を試みると考えられる．このことから seap は心理的いいえ
72.7%

いいえ
77.3%

効果として，遅れていると感じた受講生に対しては切迫感，進んでいると感じた受講生に対しては優越感を与え得ると考えられる
また，自身の進捗を把握できた理由について以下のような回

図 8 達成が容易なテストを

図 9 達成が困難なテストを把握できたか？

把握できたか？

答もあった．
締め切り当日に課題を終えたため．

5. 1 seap の使用状況

締め切りの 1 週間前くらいに課題を達成したため．

seap の利用頻度についてのアンケート結果を図 4 に示す．図4 より，回答者の約 34%が週 1 回以上利用し，回答者の約 47%

このように，比較的進捗が進んでいると回答した受講生の中が月 1 回程度の利用をしていたことがわかった．また，seap をには，自身が課題を達成した日と締め切り日との差を見て自身いつ利用したかのアンケート結果を図 5 に示す．図 5 より，回の進捗を把握した者もいた．

答者 23 名中 14 名が git-push 実行時に seap を利用していることがわかる．

なお，他者と自身の進捗差はどの程度だと思うかという質問に対する回答を図 7 に示す．図 7 から約 90%の回答者が他者とseap には git-push された時点でのプログラムのテスト通過

自身の進捗差はどの程度か把握できていた．どのように把握し状況が反映されるため，図 5 のような結果になったと考えられたかについて質問したところ，以下のような回答が得られた．

る．また，今年度の受講生のコミット数は平均 14.5 回であり，演習 D の開講期間は約 6 ヶ月であることや，git-push の実行回数はコミット数よりも少なくなることを考えると，図 5 のよ
うな結果になったのは，git-push の実行回数が約月 1 回であっ自分が課題達成した 1 週間後位に過去の達成率が約 50%になったため．
締め切り 3 ヶ月前ほどに課題達成したため．

たためと考えられる．このことから seap の利用頻度を上げることができれば，git-push の回数が増え，コミット粒度が細かくなることが期待される．

5. 2 obj1 の達成可否と考察

前者のように，seap を利用して具体的な差の把握をした回答者もいたが，後者のように，自身が課題を達成した日と締め切り日との差を見て具体的な差の把握をした回答者も多かった．

アンケートの結果を図 6 に示す．自身の相対的な進捗が把握

以上より，seap には自身が課題を達成した日と締め切り日とできず，わからないと回答した受講生はいなかった．以降，5. 2の差を見るよりもわかりやすく自身の進捗を把握する機能が求節では相対的な進捗を単に進捗と呼ぶ．

められる．

また，自身の進捗を把握できた理由について質問したところ，以下のような回答があった．

5. 3 obj2 の達成可否と考察
アンケートの結果を図 8，9 に示す．達成が容易なテストを把握できたと回答した受講生は 22%程度に止まった．また，達seap 上の自分が達成していない課題の提出状況が高いことが多かったため．
全テスト通過時点で seap を見たとき，全体の達成率は約 20%であったため．

成が困難なテストを把握できたと回答した受講生は 27%程度に止まった．
達成が容易なテスト，達成が困難なテストを把握するには，タイムスライダーを動かし，達成率の変化を見る必要がある．
しかし，seap では変化の様子を 1 つの画面で俯瞰して見るこ—5—

とができない．そのため，受講生にはタイムスライダーを動かすという手間をかけてしまう．結果として，達成が容易なテス
ト，達成が困難なテストを把握する方法に気付きにくくなったと考えられる．
また，演習 D は 2017 年より TF 形態を採用しており，毎年，受講生からの指摘を受け，テストの並び順や品質の改善をしてきている．そのため，既に演習 D のテストが受講生にとって適した難易度順に並んでいて，取り組むテストの優先順序を自ら付ける必要がなかった可能性もある．
以上より，seap の改善として，達成率の変化を 1 つの画面で俯瞰できるようにすることが考えられる．また，適用実験の改善として，敢えてテストを無作為に並べ，受講生に取り組むテストの優先順序を考えることの重要性を感じてもらえるようにすることが考えられる．

5. 4 seap の良かった点，改善点
seap の良かった点や改善点について，記述式のアンケートを行った．良かった点については以下のような意見が得られた．
達成率が低いときに課題を終えることができ，優越感に浸れた．
競争心によって課題へのモチベーションが上がった．
自分に発破をかけることが出来て課題を早く終わらせることができた．コロナ禍には必要なツールだと思った．

このように，seap によって進捗の早い受講生にとっては自身の進捗状況について前向きな気持ちをもたらしたり，競争心や切迫感により受講生が課題に取り組むきっかけを生み出したりという副次的な効果が得られた．
また，改善点としては以下のような意見が得られた．
各テストケースだけでなく，全テストケースの達成率も知りたい．
自分の進捗状況に対する定性的フィードバックがあると嬉しい．

このように，seap にはシステムとしての改善点が多く残されている．

6. お わ り に本研究では，自身の進捗を現在の受講生や過去の受講生と進捗を比較するシステム seap を提案した．適用実験として，学部 3 年生を対象とした講義にこのシステムを導入した．取り組
む課題の優先順序付けにはあまり効果が見られなかったが，自身の相対的な進捗の把握において効果があることを確認した．
本稿ではテストの通過状況を進捗と見做して適用実験を行った．しかし，テストの通過状況以外にも，コードメトリクスの計測や，レポートにおいて記述した文字数の計測なども，課題における進捗を考える上で役立つ．そのため，今後の課題として，上記の進捗に対してシステムを拡張することや，演習 D 以
外の講義への導入を見据えたシステムの拡張性を高めることな助成を受けた．
文

献[1] C. Douce, D. Livingstone, and J. Orwell, “Automatic testbased assessment of programming: A review,” Journal on
Educational Resources in Computing, vol.5, no.3, pp.4–es,
2005.
[2] D. Janzen and H. Saiedian, “Test-driven learning in earlyprogramming courses,” The ACM Special Interest Groupon Computer Science Education Bull., vol.40, no.1, pp.532–536, 2008.
[3] J. Bowyer and J. Hughes, “Assessing undergraduate experience of continuous integration and test-driven development,” Proc. International Conference on Software Engineering, pp.691–694, 2006.
[4] F. Huber and G. Hagel, “The application of continuouspractices in higher computer science education - a systematic literature review,” Proc. International Convention on
Information, Communication and Electronic Technology,
pp.1618–1623, 2021.
[5] R.P. Medeiros, G.L. Ramalho, and T.P. Falcão, “A systematic literature review on teaching and learning introductory
programming in higher education,” IEEE Transactions onEducation, vol.62, no.2, pp.77–90, 2019.
[6] L. Festinger, “A theory of social comparison processes,” Human Relations, vol.7, pp.117–140, 1954.
[7] J. SULS, “From the cradle to the grave : Comparison andself-evaluation across the life-span,” Psychological Perspectives on the Self, vol.1, pp.97–125, 1982.
[8] M.D. Alicke, “Evaluating social comparison targets,”pp.271–293, Springer US, 2000.
[9] A. Kyrilov and D.C. Noelle, “Do students need detailed
feedback on programming exercises and can automated assessment systems provide it?,” Journal of Computing Sciences in Colleges, vol.31, no.4, pp.115–121, 2016.
[10] J. Carter, J. English, K. Ala-Mutka, M. Dick, W. Fone, U.
Fuller, and J. Sheard, “How shall we assess this?,” Proc.
Working Group Reports from ITiCSE on Innovation andTechnology in Computer Science Education, vol.35, pp.107–123, 2003.
[11] P. Chakraborty, P. Mittal, M.S. Gupta, S. Yadav, and A.
Arora, “Opinion of students on online education during
the COVID -19 pandemic,” Human Behavior and Emerging Technologies, vol.3, no.3, pp.357–365, 2020.
[12] E. Barra, S. López-Pernas, Á. Alonso, J.F. Sánchez-Rada,A. Gordillo, and J. Quemada, “Automated assessment inprogramming courses: A case study during the COVID-19era,” Sustainability, vol.12, no.18, p.7451, 2020.
[13] M. Adnan and K. Anwar, “Online learning amid the covid19 pandemic: Students’ perspectives online learning amid
the covid-19 pandemic: Students’ perspectives,” Journalof Pedagogical Sociology and Psychology, vol.2, pp.45–51,2020.
[14] C. Irwin and Z. Berge, “Socialization in the online classroom,” E-Journal of Instructional Science and Technology,
vol.9, no.1, pp.1–7, 2006.
[15] 大久保暢俊，“社会的比較による自己評価と対人関係，” 東洋大学
人間科学総合研究所紀要，第 10 巻，pp.111–121，2009．
[16] P. Gilbert, J. Price, and S. Allan, “Social comparison, social
attractiveness and evolution: How might they be related?,”New Ideas in Psychology, vol.13, pp.149–165, 1995.
[17] X. Yang, D. Li, X. Liu, and J. Tan, “Learner behaviors
in synchronous online prosthodontic education during the2020 covid-19 pandemic,” The Journal of Prosthetic Dentistry, vol.126, pp.653–657, 2021.

どが挙げられる．
謝辞 本研究の一部は，JSPS 科研費（JP21H04877）による—6—