McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

20
ゲームとプログラミング学習のカタチ - 初学者向け環境とラーニング・スルー・コンテスト - 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長 鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/ わしざき ひろのり McEdu 2016 講演 2016820協力: 坂本一憲(NII)、齋藤 大輔、佐々木 綾菜(早稲田大)

Transcript of McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

Page 1: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ゲームとプログラミング学習のカタチ - 初学者向け環境とラーニング・スルー・コンテスト -

早稲田大学グローバルソフトウェアエンジニアリング研究所 所長

鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/

わしざき ひろのり

McEdu 2016 講演 2016年8月20日

協力: 坂本一憲(NII)、齋藤 大輔、佐々木 綾菜(早稲田大)

Page 2: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

プログラミング学習

• 第4次産業革命: 人工知能、IoT、ビッグデータ・・・ – IT人材の不足

– 小学校「プログラミング的思考」教育必修化

• 如何にプログラミング学習を動機づけ、定着と向上を促すか?

2

ゲーム×プログラミング学習

Page 3: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

“game”の語源

3 Online Etymology Dictionary http://www.etymonline.com/

http://sports-illustration.com/10-spirit/197-spirit.html http://free-pictograms.com/

古英語 gamen 喜び(joy), 楽しみ(fun)

ゴート語 gaman 参加(participation), 思想的交流(communion)

ルールに基づき成功や優位に立つための競い合い(contest)

Page 4: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ゲーム×プログラミング学習

• プログラミング学習のゲーム化(Gamification)

– ゲーム要素を自然に取り入れたカタチ、コンテスト

– 上級者、中級者、初学者

• ゲームに基づくプログラミング学習(Game-based Learning)

– デジタルゲーム

– アナログゲーム、実世界への働きかけ

– 初学者

4

Page 5: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ラーニング・スルー・コンテスト

5

Page 6: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ゲーム 要素

(ゲーミフィケーション)

なぜコンテストなのか?

6

段階的チャレンジ と達成

スコア と競争

報酬

協調

短いフィード バックサイクル

試行錯誤

80 - 95

Page 7: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

プログラミングの特徴

ゲーム要素

なぜプログラミング学習に向くのか?

7

自動判定可能

短いフィード バックサイクル

創造的活動

試行錯誤

デジタル化による 容易なデータ共有

スコアと競争

80 - 95

Page 8: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

コンテストを選ぼう!

8

種別 内容 問う能力 長所 短所 例

問 題 解決・競技系

短い制限時間内で個々の問題を解決するプログラムの作成

問題の読解力 数学的・論理的解決力 正確さとスピード (チームワーク)

オンラインジャッジで自動判定可. 個 々 の ア ル ゴ リ ズム・データ構造の反復自習. チームで役割分担可.

万人に魅力的とは言えない。 アルゴリズムの特訓になりがち.

情 報 オ リ ンピ ッ ク , ACM-ICPC, TopCoder

人 工 知能・ゲーム系

比較的時間をかけて(独自・対戦)ゲームを攻略する人工知能プログラムの作成

ゲームルールの読解力 総合的な解決力 人工知能アプローチ 一定期間内の設計と改善力

題材が魅力的で挑戦を動機づけやすい. アルゴリズム+創造的.

要素の影響を把握しにくい. 対戦相手次第. 題材次第では運の要素あり.

SamurAI Coding, Code VS

自 由 制作系

比較的時間をかけて自由あるいは特定テーマのプログラム作成

アイディア・創造力 総合的な解決力 チームワーク

題材の自由度が高く革新を追求可. 学際的な取り組み可. チームで役割分担可.

審査員による主観的評価. 客観的には能力を把握困難.

U-22プログラミング・コン テ ス ト , Imagine Cup, 各種 ハ ッ カソン

Page 9: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ゲーム系の例

10

早稲田大学 x グリー ‘11 情報処理学会 ’12 ‘13

情報処理学会 ’14 情報処理学会 ’15

Page 10: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ゲーム系での学び: SamurAI Codingの場合

1. サンプルや簡単なコードで楽しむ 2. 戦略、アルゴリズムを深める

– モンテカルロ木探索 – 評価関数、機械学習

11

while (power >= 2){

action = this.rnd.nextInt(10)+1;

if (cost[action] <= power

&& info.isValid(action)){

power -= cost[action];

info.doAction(action);

}

}

×

〇 × 〇

×

〇 〇

×

×

・・・ ・・・

・・・

Page 11: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

競技系の例

12

Page 12: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

競技系での学び

1. 単純な解法

2. 工夫した解法

– メモリ使用量、実行時間の制約

13

XY座標平面上にN個(ただしN≧2)の点があるとき、最も近い2点間の距離を求めよ。

Page 13: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

14

XY座標平面上にN個(ただしN≧2)の点があるとき、最も近い2点間の距離を求めよ。

int i, j; double d = DBL_MAX;

for(i = 0; i < N - 1; i++) {

for(j = i + 1; j < N; j++) {

double dx = px[i] - px[j];

double dy = py[i] - py[j];

d = fmin(d, sqrt(dx * dx + dy * dy));

}

}

分割統治

総当たり

d1

d2 d d

Page 14: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

ラーニング・スルー・コンテストの学習モデル

1. ゲーム系で楽しく学びを動機づける

2. 競技系により個々のアルゴリズムを深める

3. ゲーム系で総合力を競いつつ確認

4. 自由制作系でアイディアを形にして創造的学び

15

学びの深さ

Page 15: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

初学者向け環境

16 協力: 坂本一憲(NII)、齋藤 大輔、佐々木 綾菜(早稲田大)

Page 16: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

初学者向け学習ソフトウェア環境調査

• 百花繚乱 – やみくもに選択してはいけない!

– 全体を俯瞰し、個々の特性を見極めること

• 体系的調査 – 2016年6-8月、Google等Web検索エンジン使用

– 初学者向けプログラミング学習ツール

– 一定の認知度(検索結果上位)

– 計44ツール: Alice, ..., CodeCombat, ..., MinecraftEdu, ..., Scrach, ..., Viscuit, ..., プログラミン

17 調査実施: 齋藤 大輔、佐々木 綾菜(早稲田大)

Page 17: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

調査結果: ゲーム要素の取り入れ • 過半数はゴールやルールを取り入れている

• 報酬や協調を取り入れたものは少数

18

ゲーム

要素あ

57%

なし

43%

0

5

10

15

20

25

30

ゴール ルール・制約 報酬 協調

調査実施: 齋藤 大輔、佐々木 綾菜(早稲田大)

Page 18: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

まねっこダンス: デジタル環境+実世界への働きかけ

• プログラミング学習Androidアプリ • 段階的チャレンジと達成、短いフィードバックサイクル、試行錯誤・・・

19 Kazunori Sakamoto, Koichi Takano, Hironori Washizaki, Yoshiaki Fukazawa, “Learning System for Computational Thinking using

Appealing User Interface with Icon-Based Programming Language on Smartphones,” 21st International Conference on Computers in

Education (ICCE 2013)

Page 19: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

20

学習効果: 実世界働きかけ 無し < 有り

坂本 一憲、本田 澄、音森 一輝、山崎 頌平、服部 真智子、松浦 由真、高野 孝一、鷲崎 弘宜、深澤 良彰、“まねっこダンス:真似て覚えるプログラミング学習ツール”、コンピュータソフトウェア、日本ソフトウェア科学会, Vol.32, No.4, 2015.

Shohei Yamazaki, Kazunori Sakamoto, Kiyoshi Honda, Hironori Washizaki, Yoshiaki Fukazawa,“Comparative Study on

Programmable Robots as Programming Educational Tools,” 17th Australasian Computing Education Conference (ACE 2015)

Kazunori Sakamoto, Koichi Takano, Hironori Washizaki, Yoshiaki Fukazawa, “Learning System for Computational Thinking using

Appealing User Interface with Icon-Based Programming Language on Smartphones,” 21st International Conference on Computers in

Education (ICCE 2013)

• プログラミングの楽しさ • プログラミングの動機づけ

Page 20: McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎

まとめ • ゲームを学びに取り入れよう!

– ラーニング・スルー・コンテスト、初学者環境 – 実世界への働きによる学習効果 – Gamification is Bullshit? 科学的検証と発展が必要 – 教育環境、教育者の整備が必要

• 情報処理学会 SamurAI Coding 2016-17 – 10月公開予定、11-2月オンライン予選 – 3月17日世界決勝戦@名古屋大 – http://samuraicoding.info/

• プログラミング学習G7(仮) – 世界の初学者向け環境一望、ワークショップ+体験 – 情報処理学会Scratchイベント同時開催 – 11月12日@早稲田大

21 Ian Bogost, http://bogost.com/writing/blog/gamification_is_bullshit/

鷲崎弘宜, “君の実力を試してみよう! -「ラーニング・スルー・コンテスト」のすすめ -”, 情報処理, Vol.57, No.10, 2016.