実装形態の差異に着日 し た大学生対象スマ ー ト フ オ ンア プリ 開発の試行的実践
Trial Practice of Programming Workshop of Smartphone Application
Development for University Students Focusing on Dif ferences Between GUI
and CUI Programming in Implementation Targets
福 井 昌 則*
青 木
徹**
萩 倉
丈***
佐々木 雄 司****
FUKUI Masanori
AOKI Toru
HAGIKURA Jo
SASAKI Yuji
黒 田 昌 克*****
平 嶋
宗******
森 山
潤*******
KURODA Masakatsu
HIRASHIM A Tsukasa
M ORIYAM A Jun
本稿は, 実装形態の差異に着日 し た, 数学的 ゲ ーム ・ パズルを題材 と す る大学生対象 スマ ー ト フ オ ンア プリ 開発 の試行 的実践について報告す る こ と を目的 と し てい る . 大学生 を対象 と し , 数学的 ゲーム ・ パズルの 「12-9 (偶数引 く 奇数)」 , 「 セ ブ ンア ッ プ」 を用 い て, iPhone で実装 し た場合 (GUI ベ ースの プロ グラ ミ ン グ) と 他の プロ グラ ミ ン グ言語で実装 し た場合 (CUI ベ ース の プロ グラ ミ ン グ) の差異 を考え さ せ る よ う な iPhone ア プ リ ケ ー シ ョ ン開発 の試行的実践 を行 な っ た . そ の結果, iPhone プロ グラ ミ ン グ未経験者 のみな ら ず, プロ グラ ミ ン グ初学者で あ る受講生全員 が実 装す る こ と が で き , そ れま で の実践 と 同様に主体的 に プロ グラ ミ ングに取 り 組ま せ る こ と がで き た. 以上のこ と か ら , 本稿 の有用性が 示唆 さ れた. キ ーワ ー ド : プロ グラ ミ ン グ教育, 10S, 数学的 ゲ ーム ・ パズ ル, Swift, リ フ レ ク シ ヨ ン 1 . は じ めに 本稿は, 実装形態の差異に着目 し た, 数学的ゲーム ・ パズルを題材 と す る大学生対象 スマ ー ト フ オンア プリ 開 発の実践につい て報告す る こ と を目的 と し てい る. 現在我が国は, 人工知能の台頭 に よ る 2045年問題 (技術的特異点, シ ンギ ユラ リ テ イ) ', 2) や , 加 速 す る 高度情報化社会への対応と対策, 第 4 次産業革命の本格 的 な到来への対応, 少子高齢化時代におけ る労働生産性 の向上な ど様々な課題 を抱え てお り , 今ま で通用 し てき た対策や対応では解決で き ない問題が山積 と な っ てい る. そ し て, 上述の問題 を解決で き る よ う な人材の育成が急 務 と な っ てい る. 厚生労働省 によ れば, 我が国の総人口 は, 2010年の 1 億2,806万人から長期人口減少過程に入 り , 2030年の 1 億1,662万人を経て, 2048年には 1 億人 を割 っ て9,913万人, 50年後の2060年には8,674万人にな る こ と が見込ま れる と 報告 さ れてお り 3), 少子化時代 に おい て社会 を支え る ために, 労働生産性 をあげ てい く こ と が求め ら れてい る. 日本生産性本部は, 我が国の労働 生産性は, 加盟35 カ国中18位で加盟国平均 を下回 っ て低 迷が続い てい る と 指摘 し て お り 4), 人工知能 や IT な ど を積極的に活用す る こ と や, 労働生産性が高いイ ノ ベ一 テ イ ブ な活動 を展開す る必要があ る . 一方, 経済産業省 によ れば, 2020年 には36.9万人, 2030年 には78.9万人の IT 人材が不足す る と 指摘 さ れて お り 5), IT ス キルを有す る人材育成が急務 と な っ てい る 現状 が伺 え る . こ こ で述べ ら れてい る IT 人材は, プロ グラ ミ ン グや シ ス テ ム開発 を専門 に行 う 人材 だけ で は な く , 情報 シス テ ムや IT 利活用 を行 う 人材も指 し ており , IT スキル を有す る人材育成は喫緊の問題 で あ る . その現状 におい て, 義務教育段階では2020年から次期 学習指導要領が完全実施 さ れる こ と と な っ た. その中で は, 現行の学習指導要領と 比 し て様々な変更点が見 ら れ るが, 義務教育段階におけ る プロ グラ ミ ン グ教育の必修 化 , 高等学校段階におけ る プロ グラ ミ ン グ教育の拡充 な ど, プロ グラ ミ ン グ教育 の充実化が図 ら れる こ と と な っ た 6, 7). 大学教育 にお い ては , プロ グラ ミ ン グ を推進 し て行 く こ と に対 し て明記 さ れてはい ないが, 未来投資会 議 には, IT ・ デ ー タ ス キ ル人材育成 の た め に, 大学等 の 制度改革 を通 し た大学教育の質 の向上やイ ノ ベ ー シ ョ ン の推進 な どが記載 さ れて お り 8), IT ス キルの重要性 が指 摘 さ れて い る . IT ス キ ル を 高 め る た め に , 知 識 を身 に つけ る だけ で はな く , プロ グラ ミ ン グ教育 を推進 し てい く こ と が重要 な方略の一つであ る と 考え ら れ, 多 く の生徒 ・ 学生が単 に コ ー デ ィ ン グで き る よ う に な る だ け で は な く , IT ス キル を活用 し て労働生産性 を高め, イ ノ ベ 一 テ イ ブ な活 動 を展開す る必要があ る . 現在 , プロ グラ ミ ン グ教育の方向性は様々な も のがあ る . 例え ば Scratch の実践 9) と い っ た ブロ ッ ク 型 プロ グ ラ ミ ン グ を用 い た入門教育 , Excel v BA を用い た プロ * 広島大学大学院生 * * 立命館大学大学院生 * * * 関西学院大学学部生 * * * * 慶應義塾大学学部生 平成30年 7 月11 日受理 * * * * * 兵庫教育大学大学院博士課程教科教育実践学専攻生活 ・ 健康系教育連合講座 * * * * * * 広島大学工学研究科 * * * * * * * 兵庫教育大学大学院教科教育実践開発専攻生活 ・ 健康 ・ 情報系教育 コ ース, 教育実践高度化専攻授業実践開発 コ ース 教授
グ ラ ミ ン グ教育 の実践 , ロ ボ ッ ト を動 かす プロ グラ ム を 組 む も の , Java や C 言 語 を用 い た本格的 な プロ グ ラ ミ ン グな ど, 様々な ア プロ ーチ か ら プロ グラ ミ ン グ教育が 行 われてい る'°). つま り , 実践の形態や実践対象 者, ど の プロ グラ ミ ン グ言語 で行 う か, 扱 う 題材や素材 な どが 多様であ るこ と は, 筆者ら が言う ま で も ない. その中で, ス マ ー ト フ オ ン ア プ リ 開発 は, 最 も 注目 を集め てい る プ ロ グ ラ ミ ン グの一 つ で あ る . 様 々 な ス ク ールが開講 さ れ てお り , iPhone や Android に実装す る こ と を日的 と し た プロ グラ ミ ン グ講座が多 数開講 さ れてい る . ま た, い く つかの実践事例が報告 さ れてい る''). ス マ ー ト フ オ ン に 実 装 す る よ う な プ ロ グ ラ ミ ン グ は , 一 般 的 に GUI
(Graphical User Inter face) プ ロ グ ラ ミ ン グ ( 以 下 GUI と 略記) と 呼ばれてお り , 視覚的 にわかり やす く す る こ と や, ア ニ メ ー シ ョ ン な ど を用 い てユ ーザ を惹 き つけ る こ と がで き る. その一方 で, グラ フ ィ カ ルな要素にこ だ わ る こ と は大事 で あ り なが ら も , そ こ に時間 を取 ら れる こ と で , プロ グラ ミ ン グの学習がお ろ そ かに な っ て し ま う 可能性があ り , そのバ ラ ンス を どのよ う にす ればよ い かに つい ては, 明確 な指針は な く , どのよ う にす る かに つい ては千差万別で あ る. 一方, GUI に対 し , い わゆ る コ マ ン ド ベ ー ス で プ ロ グ ラ ミ ン グ を 行 う c UI
(Character User Inter face) プ ロ グ ラ ミ ン グ ( 以下 CUI
と 略記) があ るが, そのいず れを用い るのか, プロ グラ ミ ン グ導入段階 におい て難 し い 選択 で あ り 明確 な回答 は な い . 飯尾は, プロ グラ ミ ン グの導入 にお い て GUI と CUI のい ず れが望 ま し い か に つい て の意識調査 を , IT に携わる専門家群 と , 受講側の学生群に対 し て調査研究 を行 な っ た結果, 専門家群の意見は c u I 派 と Gu I 派に 二分 さ れたこ と , 学生群は信頼性の高い回答 を集める こ と がで き な か っ た と 報告 し てお り '2), 今後 よ り 詳細に検 討 を行 う 必要があ る と 考え ら れる. し かし , GUI, c UI のいずれかと いう 二者択一ではな く , 同 じ題材 を GUI で実装す る場合 と , c UI で実装す る場合 を比較す る こ と で , プロ グラ ミ ン グに対 し て よ り 俯瞰的 な見方がで き る可能性があ る. 例え ば, 平嶋 ・ 福 井 ・ 林は, 実装す る プロ グラ ムは同 じ で あ り なが ら も , 違 っ たリ ソ ース を準備す るこ と で, 学習者にリ フ レ ク シ ヨ ン を さ せ る こ と がで き , プロ グラ ミ ン グ的思考 を育成で き る こ と を指摘 し て お り '3), GUI と c UI では, 同 じ題 材 であ っ て も どう プロ グラ ミ ン グが異 な る かについ て受 講者に考え さ せ る こ と で , よ り プロ グラ ミ ン グについ て 深い理解 を促 し , 設計の重要性な ど を感 じ さ せる こ と が 期待 で き る. し かし , 筆者ら の知 る限り におい て, 先行 研究 を見 かけ る こ と はない. 一昨年 か ら , 筆者の 1 人は継続 し て iPhone ア プ リ 開 発講座 (90分 x 3 回の全 5 日間) を大学で担当 し ている が, その実践では, 参加者に自身 で何 を作 るかをあ る制 約の中で企画 ・ 立案 さ せ, そ れを発表 ・ 実装す る と い う 活動 を行 な っ てい る'4,
'
5) . 本稿 は, 上述の講座の内 容 を 援用 し なが ら , GUI と c UI で同 じ数学的 ゲー ム ・ パズ ル を どう プロ グラ ミ ン グす る かに つい て受講者に考え さ せる こ と を取 り 入れた活動 を試みる 2 . 実践 の デザイ ン 2.1. 学習過程の設定 総務省 は , プロ グ ラ ミ ン グ人材育成 の観点 と し て , 「 (a) スキル習得型」 , 「 (b) モチベ ーシ ョ ン向上型」 , 「 (c) 課題設定 ・ 解決力育成型」 の 3 つの方略 をあげて い る. こ の中で 「 (a) スキル習得型」 は, 基礎概念 を習 得 し , 全体構成 と 実践 を行い, そ し て, オ リ ジナルア プ リ の開発 の 3 ス テ ッ プによ り 指導す る学習過程で あ る . その学習過程 におい ては, Java や Objective-C, HTM L5 と い っ た テ キ ス ト 言語 を用 い る こ と が想定 さ れて い る . ま た, 「 (c) 課題設定 ・ 解決力育成型」 では, 作 り たい 作品や目標 を最初に具体化 し , 自身 で どのよ う な プロ グ ラ ム を作 る か を考え た上 で , ど う や っ て プロ グラ ミ ン グ を作 るかを考え るこ と , そ し て自身で考え て成果を伝え る力 の育成の重要性 を指摘 し てい る'6) . 弓 野は , プ レ ゼ ン テ ー シ ョ ン と い っ た表現的 な創造性活動 の有用性 に つ い て指摘 し てい る'7). 以上のこ と か ら , 受 講生が自身 で 考え た内容 を自身 で構成 し てま と め さ せ る. そ し て, 他 の受 講生 に対 し て プ レ ゼ ン テ ー シ ョ ン さ せ, ア プ リ と し て実装 さ せ る活動 を展開す る . 2.2. 題材の設定 2.2.1 . iPhone ア プ リ開発の活用 ス マ ー ト フ オ ン に は iPhone 以 外 に も Android , Windows Phone な どが存 在 す る が, 本稿 で は , iPhone を対象 と し た ア プ リ 開発 を行 う . iPhone ア プ リ 開発 を 行 え る 環 境 は い く つ か 存 在 し , 例 え ば x code , AppCode'8), Unity'9), Xamarin20), PhoneGap2'
) な ど が ある が, そ の中で 今回は Apple が提供 し て い る Xcode を
用い る (2018年 7 月 2 日現在, 最新バージ ョ ンは9.4.1) .
Xcode は, Interface Builder を用 い る こ と で , 画面 を視 覚的 に設計す る こ と がで き , ソ ース コ ー ド側 と の連携 も 容易 に行 う こ と がで き る (Fig.1) . ま た, ビュ ー間の遷 移 な ど も 容易 に実装す る こ と が で き る。 x code7.x 以降 か ら 開発 し た ア プ リ を無料 で自身 の iPhone や iPad な ど に転送で き る よ う にな り , よ り 開発 を行いやす く な っ た.
開発言語は, Swift を用い る. Swift は2014年に Apple が
発表 し た新 し い プロ グラ ミ ン グ言語で, そ れま で用い ら れてい た Objective-C に比べ, モ ダ ンな文法 を採用 し て
'
a
・
ォ > l 、 l ) 0 1 .・、:
、ロー 1 ・-
l・ ォ > 0 -l '一
ー- -0 ・ ・ 1,1 M一
_-.
111 一一 m
:1 ・一ー 一_'_ _-
'-- _ '
'-
-ー 一 10 : 一 --
- - - 一'=
_-
_-
● 一一_
'
_
ー ー一 ● '-
__
'
'-
0_
I ' ″ ; i .- - 一ー- 要'l ;_
=
- l.allol:= .---
・=._::: f-・
=-
I l lに::選= e==.い る (例え ば繰り 返 しは拡張 for 文に似た文法 を採用 し てい る こ と や, 文末 に 「 ;」 を必要 と し ない な ど) . 現在 最新バ ー ジ ョ ンは4.2で あ り , 積極的 に言語の改善が行 わ れ て い る . 以 前 の バ ー ジ ョ ン で は , バ ー ジ ョ ン ア ッ プ のた びに言語仕様が変 わる な ど, 初学者には対応が困難 な部分が多 く , 指導 も行いづ ら い側面があ っ たが, 現在 はそのよ う な こ と も 少 な く な っ てお り , 初学者対象の プ ロ グ ラ ミ ン グに も 扱 い やす く な っ て き てい る . ア ル ゴ リ ズ ム の 学 習 に は , Playground22) を 用 い る
(Fig 2) . Playground は Xcode に付属 し て い る , 基本的 な プロ グラ ミ ン グを試す こ と がで き る環境 であり , iPad な どで も 提供 さ れてい る . コ ー ド を入力 す る と , す ぐ に コ ンパイ ル さ れ右側 に結果がす ぐ に表示 さ れる . こ の機 能 に よ り , イ ン タ ラ ク テ ィ ブに結果 を確認す る こ と がで き , ア ル ゴ リ ズ ムの学 習 に 有 用 で あ る . し か し , Playground がマ シ ンに よ っ ては コ ンパイ ルに時間 がかか る こ と も あ る た め, オ ン ラ イ ン コ ンパイ ラ サ ー ビス な ど の別の方法 を準備 し てお く こ と も有用 であ る と 考え ら れ る . l ・' -
-
l ・一ー
一 ' l l一 I l l ・ ・ l l二一 ・ ・ p i_- '-
・
'' p i- - '
-
・
1 ' p i_- ・ ・一 ・ a l_
・ ,,i・・'一一 '' ・-
・l、l l l l-
1. 一 ”, l ・ - ・一l・ 一 ' l '- _
1・一
- ,・l“li-
・ l ・ '' l_
・ ' ' i・・__' '1 'l'' l ' 1-
・
.
l Il l l' 建 一許一'-
'''-
: Fig 2 Playground を用いた操作の様子 2.2.2. 自己紹介 , 数学的ゲ ーム ・ パズルの活用 本稿 では, 自己紹介 ア プ リ 作成およ び数学的 ゲーム ・ パズルを題材 と す る ア プリ 作成 を題材 と す る. 筆者ら は, 前報におい て自己紹介 ア プリ と 丁半博打 ゲームを用い た iPhone ア プ リ 開発 の実践 を行 な い , そ の有用性 に つい て報告 し てい る'4,'
5). ま た , 数学的 ゲ ー ム ・ パ ズ ルの題 材 と し て, サイ コ ロ や ト ラ ン プ を用い た実践につい て報 告 し てお り , その内容 を援用す る. 以下, その内容につ い て述べ る . (1 ) 自己紹介 ア プ リ の活用 自己紹介 ア プ リ は, 複雑 な プロ グラ ミ ン グや アル ゴ リ ズ ム を用 い ず と も , 画面 を 遷移 さ せ る こ と お よ びボ タ ン を タ ッ プす る こ と で ア ク シ ョ ンが発生す る こ と を理解す れば十分に開発す るこ と ができ る. 一般的にスマ ー ト フ オ ンア プリ では, 一つの画面に多 く の情報 を入 れす ぎた り す る と , 画面の大 き さ や操作性の制約から ユ ーザが混乱 し やす く , 操作 に関 し て新たな学習 を強い る結果 と な っ て し ま う . こ のこ と から , 画面 に多 く の情報 を入 れずに 自分自身のこ と をわかり やす く , そ し て適切に伝え るた めに必要 な設計の題材 と し て も 活用 す る . (2) 数学的ゲーム ・ パズルの活用 自己紹介 ア プリ で基本的 な開発に慣れた後, 題材と し て数学的 ゲーム ・ パズルを用い る (本稿では数学的ゲー ム ・ パズルを 「必勝法が存在す る, も し く は確率的要素 を有す るゲーム ・ パズル」 と 定義す る) . 山上は, 「数独 パ ズル」 を用 い た Excel v BA プロ グラ ミ ン グ を行 い , その有用性 につい て報告 し てい る23). ま た筆者 ら は, 数 学的ゲームを用い た プロ グラ ミ ン グの試行的実践 を行い, そ の有用 性 に つい て報告 し て お り 24, 25, 26), その内容 を援 用す る . 数学的ゲーム ・ パズルは特徴 と し て, ①問題が よ り 良 く 構造化 さ れており モ デル化 し やすい こ と , ②変 数の数学的 な処理によ っ て解決方法 を探究す る ためアル ゴリ ズ ム的 な思考 を促 し やすい こ と , ③ゲームの必勝法 の探究 な ど, 興味 ・ 関心 を高めやすい こ と , ④多 く の予 備知識 を必要と せず, 受講生が取り 組みやすい こ と , ⑤ 具体的 な プレイ を通 し て, 受講生間およ び受講生と 教員 と の コ ミ ュ ニ ケ ー シ ョ ンが促進で き る こ と , ⑥変形 ・ 改 良 な どが容易 で, 新 し い ゲーム ・ パズルを創出 し やすい こ と , な ど と い っ た特徴 を有 し てお り 27), 自身 で画面遷 移の設計 お よ び適切 な ア ル ゴリ ズ ムの選択 を行 わせ, そ れを実装 さ せ る こ と が期待 で き る . ま た, 自身 で作成 し た問題に対 し て興味 を持 っ て も ら い, 完成 さ せ る こ と を目指す. そ し て, 具体的 な プレ イ を通 し て アル ゴリ ズ ムを考え て説明 し実装す る こ と で, 基本的 な アル ゴリ ズ ムの学習 を促進す る こ と を目指す. 数学的 ゲ ー ム ・ パ ズルには様 々 な も のが あ る が, 「12-9 (偶数引 く 奇数)」 と 「 セ ブ ン ア ッ プ」 を用 い る28). そ の 内容 を Table.1 に示す. Table.1 用い る数学的ゲ ーム ・ パズル タ イ ト ル 内容 2人対戦 ゲー ムで あ り , サイ コ ロ の目が偶数の と き , その目 12- 9 を加算, サイ コ ロ の目が奇数の と き , その目 を減算す る . (偶数引 く 奇数) お互い が1回ずつ6個のサイ コ ロ を振 っ て , 点数が大き い方 が勝 ち と な る ゲー ム 2人対戦ゲー ムで あ り , 最初にお互い チ ッ プ を21 枚ずつ持っ てい る. 交互に2つサイ コ ロ を振 り , 出た目の合計値が7の セ ブ ン ア ッ プ と き , チ ッ プ が7枚増 え る . 出た目の合計値が7以外の と き , 7 と の差の枚数のチ ッ プ を捨て る. それ ら のプ レイ を繰 り 返 し , 先にチ ッ プ がな く な っ た方が負け と な る ゲー ム Table.1 に示 し た数学的 ゲ ー ム ・ パ ズ ル を , iPhone 上 で どのよ う に実装す るかについ て画面 の設計 を さ せ, そ れに必要な ア ル ゴリ ズ ムを , 具体的 な プ レイ を通 し て考 え さ せ る活動 を行 う . 以上のこ と から , 本稿では, 自己 紹介 と 数学的 ゲーム ・ パズル 「12-9 (偶数引 く 奇数)」 「 セ ブ ン ア ッ プ」 を題 材 と し た iPhone プロ グ ラ ミ ン グの 実践 を展開す る. 2.3. 学習内容 学習内容 を設定す る上で, 本稿では基礎的 な アル ゴリ ズ ム を 網 羅 す る こ と と し た . iPhone プ ロ グ ラ ミ ン グ を 行 う 際に, 受講生は どう し て も見 た目のイ ンパ ク ト や動 き を求 め る傾向が強い こ と が, 2 年間の実践 を通 し て強 く 感 じ ら れたが, プロ グラ ミ ン グにおい て必要な基本 を 身 につけ る こ と も , 興味 ・ 関心 を高める こ と と と も に,重要であ る. 以上のこ と から , 分岐, 反復, ネ ス ト 構造, 配列 ( デー タ 構造) を学習内容 と し , そ れら の学習 を段 階 的 に 進 め て い く こ と と し た . 学 習 内 容 に つ い て Table 2 に示す. Table 2 学習内容 学習内容 第1 回 Swi ftPaygroundsで変数(var,let), 分岐, 反復, 乱数 Xcodeの使い方 ・ 操作方法, 自己紹介 ア プ リ の設計 UILabel, UIButton, UIImageView, 画面遷移の基礎 第2 回 反復,分岐, 配列, 乱数, 実機転送 自己紹介 ア プ リ の発表, 12-9(偶数引 く 奇数)の設計 ・ 実装 第3回 ネ ス ト 構造,画面間の値の受け渡 し, 複雑な画面遷移 12-9(偶数引 く 奇数)の発表, セ ブ ンア ッ プの設計 第4回 アル ゴリ ズムの総復習, セ ブ ン ア ッ プ の実装 ・ 発表 ま と め ま た本稿 で は , iPhone プロ グ ラ ミ ン グ と 他の プ ロ グ ラ ミ ン グでの実装におけ る差異 を感 じ さ せ る活動 を行 う . 具体的には, iPhone に実装す る場合 (GUI, 1 つの画面 で最初から 最後 ま で ゲームを行 う と い う 実装や, 複数画 面 を 遷移 し なが ら プ レ イ を行 う な どの プロ グラ ム) と そ う で ない場合 (c u I, 画面遷移な どがな く , 反復や分岐 を用い て結果が出力 さ れる よ う な プロ グラ ム) で, 実装 す る数学的 ゲ ー ム ・ パズルは同 じ で あ っ て も , 実装す る 対象 に よ っ て どのよ う に実装が異 な る か と い う こ と を考 え さ せ , iPhone プ ロ グ ラ ミ ン グ と 他 の プ ロ グ ラ ミ ン グ と の比較 に よ っ て , ア ル ゴ リ ズ ムや全体の構成が どの よ う に異 な る かについ て考え さ せ る活動 を行 う . その際, 従来の反復 な どを用い た実装方法 と の差異 を意識 さ せ る こ と で , iPhone プロ グラ ミ ン グ を行 う 有用性が高ま る 可能性があ る. 以上の活動によ り , アル ゴリ ズ ムや プロ グラ ミ ン グの理解 を よ り 深 め る可能性があ る と 考え ら れ る . 2.4. 実践内容 以上の題材, 学習内容 を踏まえ て, アルゴリ ズムの学 習 と自身で画面設計, アルゴリ ズムの選択な どを行わせ, そ れ を発表 ・ 実装 さ せ る . そ の際, ワ ー ク シー ト を活用 す る . そ れと 並行 し て, 同 じ題材 を GUI と c UI で実装 す る場合の差異につい て考え さ せ, 複数の観点から同一 の数学的 ゲ ー ム ・ パズルに つい て考え さ せ る . そのよ う な実践 を展開す る こ と で, 全体 を俯瞰で き る よ う な力 を 育成す る こ と が期待 で き る. 2.5. 評価の手続き 本稿の第 1 日目, 各回の授業後に調査票 を用いたア ン ケ ー ト 調査 を実施 し た. 事前調査の項目 と し て, 将来 どのよ う に プロ グラ ミ ン グに関わり たい か を把握す る ために項目 A, プロ グラ ミ ン グに対 す る意識 を把握す る ための項目 B を準備 し た. 項目 A は択一式 で回答 を求め, 項日 B は 「 4 : と て も 3 : ま あま あ 2 : あま り 1 : ま っ た く 」 の 4 件法で回 答 を求めた. 項目 A 将来的 に , どのよ う な形 で プロ グラ ミ ン グに関わり た いですか ? 1 . プロ グラ マ と し て 2 . 趣味 と し て 3 . 特に開発は し ないが, よ リ ア プリ な どを活用す る ため 4 . 特にな し 項目 B 1 ) プロ グラ ミ ン グに対 す る イ メ ー ジは良い . 2 ) プロ グラ ミ ン グを学ぶこ と は自分の役に立つ と 思う . 3 ) プロ グラ ミ ン グを学 ぶ こ と は不安 に感 じ る . 4 ) プロ グラ ミ ン グの学 び方 を学 びたい と 思 う . 5 ) プロ グラ ミ ン グの文法 や手法 を身 に つけ ら れる自信 が あ る . 6 ) 本講座中の演習課題が自分 で で き る自信があ る . 7 ) プロ グラ ミ ン グの力 を生活の中 で活かす自信があ る . ま た, 各回の講義後に, 講義に対す る理解度や満足度 を把握す る項目 c を準備 し た. 項目 C 1 ) プロ グラ ミ ン グに興味 ・ 関心はあ り ま す か. 2 ) 今日 の講義はよ く わか っ た 3 ) 今日の講義は面白かっ た. 4 ) 今日の講義は興味深い内容だ っ た. 5 ) 今日の講義は役に立 っ た. 6 ) 今日の講義で自信 を持 て た. 7 ) 今日の講義は満足 だ. 8 ) 自分なり に工夫で き た. さ ら に, 森山 ら が作成 し た初学者の プロ グラ ミ ン グに おけ る思考過程の自覚程度 を把握す る23項目29) , 講義に 関す る感想な どを質問す る項目 (自由記述) を準備 し た. 初学 者の プロ グラ ミ ン グにおけ る思考過程 の自覚程度 を 把握す る項目は, 「問題理解過程因子」 「要素分解 ・ 統合 過程因子」 「局部的自己点検過程因子」 「大局的自己点検 過程因子」 か ら 構成 さ れてお り , その尺度 を用い て, プ ロ グラ ミ ン グを全体的に見渡す力 を把握す る こ と と し た.
3 . 研究方法
3.1. 対象 ・ 場所 : 関西圈にある私立 R 大学 ・ 人数 : 6 名 (全員男性) , 理系 4 名, 文系 2 名 ・ 実施時期およ び授業時間 : 1 日あたり90分 x 3 コ マ, それを2018年 5 月末から 4 日間 ・ 単位な どは出ない課外授業の形で受講生 を募集 し た. 受講生の所属, プロ グラ ミ ン グ経験につい て, Table 3 に示す. Table 3 受講生の所属 と プロ グラ ミ ン グ経験 理工 情報理工 情報理工 情報理工 経済 な し Pr ocess i ng(大学の授業) , Andr oi dア プ リ 開発入門 (ス ク ール) C言語 (大学の授業) C言語, Java(大学の授業) な し3.2. 実践内容
・ シス テ ム要件 : 0SX 10.12 (Sierra) も し く は10.13
(High Sierra) , Xcode 9.3以降, 言語は Swift4.x を利 用. ・ 前章 で述べた自己紹介 ・ 数学的 ゲーム ・ パズル を題材 と し た授業 を行う . ・ 第 1 回目の最初, お よ び各 回の授業後 に ア ンケ ー ト に よ る調査 を行 う .
4 . 結果と 考察
4.1. 事前調査の結果 事前調査の結果, a の 「 プロ グラ マ と し て」 が 5 名, b の 「 趣味 と し て」 が 1 名 で あ っ た . ま た, 項目 B はそ れぞれ, 1 ) 平均3.83 (S.D.0 37) , 2 ) 平均3.83 (S.D.0.37) , 3 ) 平均2.17 (S.D.0 69) , 4 ) 平均3.33 (S.D.
0.75) , 5 ) 平均3.17 (S.D.0 37) , 6 ) 平均2.83 (S.D.
0.37) , 7 ) 平均3.17 (S.D.0 37) であっ た. 以上のこ と から , 基本的に全 ての項日が高い平均値 を示 し た も のの, 4 ) 「 プロ グラ ミ ン グの学 び方 を 学 びたい と 思 う 」 の項 目 につい ては, 他の項目 よ り 相対的に平均値が低 く , s .D. も 高 か っ た こ と か ら , 受講生は将来的 に プロ グラ ミ ン グに関わり たい受講生が多 い なが ら も , プロ グラ ミ ン グに対 し ての学 び方 を学 びたい と い う 意識にはばら つ き があ る実態が把握 さ れた. 4.2. 第 1 日目 (基本的操作の習得およ び自己紹介 ア プ リ の設計 ・ 開発) 本講座 で 初め て本格的 に Mac を使 う 受 講生が 4 名い た た め, ま ず最初 に M ac の操作方法 に つい て簡単 に説 明 を行な っ た後, x code の基本的な操作方法 を指導 し た. M ac は ト ラ ツ ク パ ツ ド の使 い方 に特徴 が あ る が, そ れ を使い こ なせ る こ と で大幅に操作が便利 に な る こ と に, 受 講生は有用性 を強 く 感 じ て い た . そ し て , iPhone ア プリ 開発 を本格的 に開始す る前に, 基本的 な アル ゴリ ズ ム を学習 す る こ と と し た . そ の た めに Playground を用 い, 変数 (var, let) , 分岐, 反復 を最初に指導 し た. し か し , Playground がマ シ ンに よ っ ては コ ンパイ ルに時間 がかか る こ と も あ っ た た め, オ ン ラ イ ン コ ンパイ ラ サー ビスの paiza.io な どで も 実行 で き る こ と を指導 し た. そ の後 テ キ ス ト を 併 用 し な が ら 28, 29), x code の基本的な 使 い 方 と し て , UILabel と UIButton , UIImage , UIImageView に つい て指導 を行 な い , storyboard と の関 連付 け を行 う 方法 に つい て説明 を行 な っ た. Fig.1 のよ う に, 紐 をむすぶよ う に関連付けがで き る こ と に, 受講 生は皆大い に感動 し てい た . そ し て , UIButton に関 し ては , ボ タ ン を タ ッ プす る と ア ク シ ョ ンが生 じ る と い う イ ベ ン ト ド リ ブ ンに つい て説明 を行い , そ れが他の プロ グラ ミ ン グと どの よ う に異 な る かに つい て説明 を行 な っ た. 午後 か ら は, 自己紹介 ア プ リ を作成す る ために必要な 画面 遷移 (modal) につい て指導 し た . 画面遷移 を用い る こ と で, 一気に ア プリ ら し い挙動 と な っ た こ と に, 受 講生は喜 んでい た. その後, ワ ーク シー ト を配布 し , 画 面設計 を行 わせた. こ の時点では, 基本的な分岐や反復 し か学習 し てい な か っ たが, 自己紹介 ア プ リ の作成には そのよ う な知識がほ と ん どな く て も , 画面遷移 を用い る こ と で ア プリ を完成 さ せ る こ と がで き る. そ し て, 多 く の人が見 て ぱ っ と わか る よ う なユ ーザイ ン タ ー フ ェ イ ス (UI) と な るよ う に指導 し た. 授業後の自由記述では, 感想 と し て 「 1 人でやっ て た ら 解決で き ない こ と も 解決で き て よ か っ た」 「 IT 企業 に 就職が決ま っ てい る のです が, そ こ で使え る ス キルに な る よ う に頑張 り ます」 「普段学校 で や っ てい る プロ グラ ミ ン グよ り ず っ と わか り やす か っ た」 「 必 ず マ ス タ ー し て みせま す」 な ど と い っ た コ メ ン ト が得 ら れた . 4.3. 第 2 日目 ( 自己紹介 ア プ リ の発表およ びオブ ジ ェ ク ト 指向の基礎 , 数学的ゲ ーム ・ パズル実装に向 けた 導入) 午前中に, 前回の内容につい て簡単 な復習 を行 な っ た 後, 実機転送につい て指導 し た. 実機転送は, Apple ID があ れば転送で き る ア プ リ 数 に制限があ る も のの, 無料 で行 う こ と がで き る . 実機転送 を指導 し た後, iPhone を 所 持 し て い る受 講 生 に は転 送 を 行 わせ た . 全員 が iPhone ユ ーザで あ り , 自身 で作 成 し た ア プ リ が ス ムー ズに動 く 様子 に全員 が大 き な 歓声 を あげ てい た . ま た, 「 み んな に自慢 し ま す」 と 言 っ て い る受 講生 も い た . そ の後, 完成 さ せた自己紹介 ア プ リ につい て発表 さ せた. そ の様子 を Fig 3 に示す . 受 講生の プ レ ゼ ン テ ー シ ョ ン に対す る抵抗感は少 な く , 自身で考え て実装 し た自己紹 介 ア プリ を自信 を持 っ て紹介す る様子が伺え た. ま た, 受講生同士のやり と り も活発に行 われ, 和気語々と し た 雰囲気 を作 る こ と も で き た. Fig 3 受講生によ る自己紹介 ア プ リ の発表 次に, 画面間での値の受け渡 し , 任意の画面に遷移す る こ と , 反復や分岐のネ ス ト 構造につい て指導 し た. そ の後, 前回と 今回で作成 し た自己紹介 ア プリ を, 画面遷 移 な ど を用 いず, 他の言語では どのよ う に実装す る かに つい て説明 を行い, 今回実装 し た ア プリ と の差異 を考え さ せ た. その後, 数学的 ゲーム ・ パズルの 「12-9 (偶数引 く 奇 数)」 を紹介 し , そ れを どのよ う に実装す るかについ て, 最初に画面設計 を行 わせ, その内容 をワ ー ク シー ト に記
入 させた. こ こ で, 紹介 し た12-9 (偶数引 く 奇数) の内 容 を改良 し て も よ い と 伝え た. 画面設計が完了 し てから , 12-9 (偶数引 く 奇数) を GUI と CUI で どのよ う な差が生 じ る かの一例に つい て , ス ラ イ ド で 説明 を 行 な っ た . 実 際 に用 い た ス ラ イ ド を Fig 4に示す. こ こ では, 全体の流 れのみを示 し , 詳細 につい ては受講生に考え さ せた. こ の活動 を通 し て, 受 講生は iPhone プロ グラ ミ ン グ を行 う 際 には, 従来の プ ロ グラ ミ ン グと 違 っ た観点 が必要 と な る こ と や, 画面設 計の重要性 を感 じ てい る様子が伺え た. 授業後 の自由記述では, 感想 と し て 「自分の iPhone に転送で き る と こ ろが ア プリ 開発のいい と こ ろ です ね」 「就職先 で何の プロ グラ ミ ン グを や る かわか ら ないので , 今 い ろ い ろ 学べ る のは う れ し い」 「 プロ グラ ミ ン グと 一 言 に い っ て も た く さ んあ る こ と を知 れて よ か っ た」 「復 習 を き ち ん と し ない と いけ ない ・ ・ ・ 」 「 い ろ んな創造 性があ る と い う こ と がわか っ た」 な どの コ メ ン ト が得 ら れた. 4.3. 第 3 日目 (数学的ゲーム ・ パズルの実装 (1 ) ) 午前中に, 前回の内容につい て簡単 な復習 を行い, ア ル ゴリ ズ ムについ て重点的 に復習 を行 ない, 配列 につい て指導 を行 っ た. その後, 記入 さ せたワ ー ク シー ト を元 に, 数学的ゲーム ・ パズル 「12-9 (偶数引 く 奇数)」 を 実 装 さ せ る活動 を終日行 な っ た . ま た, 実 装や変形 ・ 改 良で自分 な り に工夫 し た点 につい て も 記入 さ せた. その 後, 受講生に完成 さ せた 「12-9 (偶数引 く 奇数)」 を発 表 さ せた. ま た, 作成後の発表時に, 他の受講生から 意 見 を述べ さ せ, そ れを自身の ア プ リ に どう 活かすかにつ い て述べ さ せ た上 で , さ ら に自身 の ア プ リ を どのよ う に 改良 し た ら よ いかについ て考え さ せ, そ れを追加 し て実 装 さ せた. その後 , 数学的 ゲ ー ム ・ パズルの 「 セ ブ ン ア ッ プ」 を 紹介 し, 12-9 (偶数引 く 奇数) のと き と同様に, どのよ う に実装す る かについ て, 最初に画面設計 を行 わせた. そ の後 , セ ブ ン ア ッ プ を GUI と c UI で どのよ う な差が 生 じ る かの一例に つい て, ス ラ イ ド で 説明 を行 な っ た. 実際に用い たス ラ イ ド を Fig 5 に示す. 授業後の自由記 述 では, 感想 と し て 「少 し ずつ プロ グラ ミ ン グについ て わか っ て き たよ う な気が し ま す」 「 他の人の作品が見 れ るのがいい し , そ れを参考に も っ と よ い作品 に し たい と 思え る . ア プ リ を作 る と き は, 他のい ろ んな ア プ リ を試 し た り す る こ と も 大事 だ と 思え た」 「 繰 り 返 し の と こ ろ が最初よ く わかり ませ んで し たが, 先生がまず最初に具 体的に書き出 し てみる と い う やり 方 をお っ し やっ てい て, そ れ で 理 解 で き ま し た . あ り が と う ご ざい ま す . 」 「 iPhone プロ グ ラ ミ ン グ講座 な の に , い ろ んな プロ グラ ミ ン グが学べ ていい と 思 う 」 な どと い っ た コ メ ン ト が得 ら れた. 4.4. 第 4 日目 (数学的ゲーム ・ パズルの実装 (2) ) 午前中に, 前回の内容につい て簡単 な復習 を行 な っ た 後 , 記入 さ せたワ ー ク シー ト を元 に, 数学的 ゲーム ・ パ ズル 「 セ ブ ン ア ッ プ」 を実 装 さ せ, 発表 さ せた . こ こ で も , 同 じ題材 を実装 し てい る に も 関わら ず, 全員違 う ア プリ と な っ てい る こ と で, 受講生は他の作品 を見 て 「自 分のア プリ に応用 し よ う 」 「 も っ と 画面 を減ら せ る ん じ や ないか」 な ど, 自身 で作成 し た ア プリ と 比較 し てい ろい ろ な こ と を考え てい た. ま た, 全員 の画面設計およ び構 成が違 っ てい たこ と か ら , 画面設計の重要性 を強 く 感 じ 取 っ てい る様子が見 ら れた. 最後に受講生同士 でお互い の ア プ リ につい て感想 や, 今後の抱負 な どについ て発表 さ せ た . iPhone ア プ リ 作 成 に あ た り , 基本的 な ア ル ゴ リ ズ ムの学習 も お ろ そかに し てはいけ ない こ と , 自身 の ア イ デ ィ ア を実現す る た めに ア プ リ 開発 や プロ グラ ミ ン グは強力 な ツ ールと な り 得 る こ と を伝 え , 講義 を終了 し た. 授業後の自由記述では, 感想 と し て 「他の参加者のア プリ を見 て刺激 を受け ま し た. も っ と いい作品 を作 れる よ う に な り たい です」 「 1 人で や っ てい た ら こ んな に ス ムーズに開発 で き な か っ た と 思 う . 参加 し て よ か っ たで す」 「 プロ グラ ミ ン グは一筋縄 ではいかない です ね」 「先 生がい ろ んな角度か ら プロ グラ ミ ン グの例 を出 し て く れ て少 し プロ グラ ミ ン グのイ メ ー ジが変 わり ま し た . も っ と 勉強 し ない と です ね (笑)」 「今後 と も い ろい ろ ご指導 下 さ い ! 」 「次は どこ かの コ ン テ ス ト で あえ る と う れ し い です ! 」 な どと い っ た コ メ ン ト が得 ら れた. 4.6. 実践の評価 事前事後 で プロ グラ ミ ン グに対 す る興味. 関心 を把握 Fig 4 実際に用いたスラ イ ド (12-9 (偶数引 く 奇数) )
セプンアツプの実装例(2)
議→
f
える 0 事→
i
●画面通移をする と きに, 次の画面に何のl・0 を演す必要があるか ? ● 先ほどのプロ グ ラ ミ ングlの例 と どこ が通 うか ? ・ l 2-9のと きとの相道点は何か ? す る項日 に つい て, そ し て各回の講義終了時 に項目 C お よ び初学者の プロ グ ラ ミ ン グに おけ る 思考過程 の自 覚 程度 を把握す る項目のそ れぞれについ て, 「 4 : と て も 3 : ま あま あ 2 : あま り 1 : ま っ た く 」 の 4 件法で回 答 を求めた . 集計結果 と 各個人 におけ る推移 を Table 4, 5, 6 に示す. こ れら の結果か ら , 「本講座中の演習課題が自分で で き る自信があ る」 が 5 %水準で有意傾向 を示 し た. 他の 項目につい ては有意差は見 ら れなか っ たが, 事前事後 を 比較す る と , いずれも事前よ り 事後の値が高ま っ ていた. し か し , 「 プロ グラ ミ ン グを学ぶこ と は不安 に感 じ る」 の値が上昇 し てい た. こ の理由 と し て, 受講生の 1 人が 「 プロ グラ ミ ン グは一筋縄 で はい か ない です ね」 と 言 っ てい た よ う に , こ れから プロ グラ ミ ン グを学ぶにあ た っ て, 復習 を し ていかなけ ればな ら ない と 強 く 意識 し た こ と や, こ れから よ り 複雑 な事柄が出て く る こ と に対 し て 取 り 組むこ と を想定す るこ と で, やや不安感が増 し たこ と が考え ら れる. 他の項日が下がっ たと い う こ と はな く , プロ グラ ミ ン グの意味がわから なかっ たと か, 自信 を失 っ た と い う こ と は なか っ た こ と か ら , 単 に プロ グラ ミ ン グ が理解で き ない ため不安 を感 じ た と は考え に く い. 前報 では不安感は減少 し てい た こ と か ら , c UI な どの他の例 を示 す こ と は, 単 に プロ グラ ミ ン グが楽 し い と 思わせ る こ と だけ では な く , こ れから プロ グラ ミ ン グに携わっ て い く に あ た っ ての態度 や姿勢 を あ る程度育成 で き た可能 性があ る と 考え ら れる . 受 講生の作成 し た作品の ス ク リ ー ン シ ヨ ツ ト お よ び設 計の様子 につい て示す (Fig,6, 7, 8) . なお, 以下の作 品は受講生本人に許可が取 れた も ののみを示 し てい る. 全体 と し て, 画面 レ イ アウ ト の作 り 込み度に差はあ っ たが, そ れぞれ自身の アイ デ ィ ア を盛 り 込 んで お り , 同 じ 数学的 ゲ ー ム ・ パズルで あ っ て も同 じ も のは一 つ と し て な か っ た . 全 ての ア プ リ は, 説明 がそ れほ ど な く と も 遊べ る作品 と な っ てお り , 値の受け渡 し も う ま く い っ て い る こ と か ら , プロ グラ ミ ン グ未経験者で あ っ て も , 学 んだ内容 を活か し て最後ま で完成 さ せ る こ と がで き てい た. 事後調査におい て, 自由記述欄に記載 さ れた内容 を以 下に示す. 因子 事前 事後 t 値 プロ グラ ミ ン グに対する 平均 3.83 3.83 ー、゛ 0・cO n・S イ メ シは良い. S.D. 0.37 0.37 プ ロ グラ ミ ン グを学ぶこ と は ・ 平均 8.88 3.83 , ,-
田 - 0-00 .n-S 自分の役に.、 つ と 心 つ S.D. 0.37 0.37 プロ グラ ミ ン グを学ぶこ と は 平均 2.17 2.50 不安に感 じ る s .D. 0.69 1.12 t oe as プ ロ グラ ミ ングの学び方 を 平均 8.33 3.83 , _ 、 田 1.46 n.s 子びたし と 心 つ S.D. 0.75 0.37 プロ グラ ミ ン グの文法や手法を 平均 3.17 3.33 身につけ られる自信がある s .D. 0.37 0.47 t oe as 本講座中の演習課題が自分で 平均 2.83 3.33 _ 、 2.24 † で き る自信力 あ る S.D. 0.37 0.75 プロ グラ ミ ン グの力 を生活の 平均 3.17 3.50 中で活かす自信がある S D 0 37 0 50 1 58 aS Table 5 項目 C の推移 (df=5 , n=6) Fig 5 実際に用 い た ス ラ イ ド ( セ ブ ン ア ッ プ) Table 4 項目 B の推移 プ ロ グラ ミ ン グに興味 ・ 平均 3.83 3.83 3.83 3.83 関心は あ り ます か S.D. 0.37 0.37 0.37 0.37 _ 、 _ 平均 3.83 4.00 3.83 3.67 , 日 の講義 は よ く わ力 つた S.D. 0.37 0.00 0.37 0.47 今日の講義は面白かっ た 均 3・83 4-00 4-00 3・67 .D. 0.37 0.00 0.00 0.47 今日の講義は興味深い内容 平均 3.83 4.00 4.00 3.83 だ っ た S.D. 0.37 0.00 0.00 0.37 , , _ _ 平均 4.00 4.00 3.83 4.00 , 日の講義は役に .っ た S.D. 0.00 0.00 0.37 0.00 _ ゛ _ _ _ 平均 3.50 3.67 3.67 3.67'
日の講義で 自信 を持 て た S D 0 76 0 47 0.47 0 47 . 、 _、 平均 3.67 3.83 3.83 3.83'
日の講義は満足だ S D. 0 47 0.37 0.37 0 37 . _ ゛ _ 平均 3.00 3.67 3.67 3.67 自分 り に 工夫で き た S D 1 15 0 47 0.47 0 47 (df=3,20, n =6) Table 6 思考過程の自覚程度 を把握する因子の推移 因子 1 2 3 4 F値 問題理解過程 均 D 平 s 3.00 3.14 3.14 3.39 0.32 n.s 0.69 0.73 0.64 0.46 要素分解 ・ 統合過程 均 D 平 s 2.76 2.88 3.19 3.31 0.96 n.s 0.56 0.67 0.56 0.54 局部的自己点検過程 均 D 平 s 2.72 2.97 3.08 3.25 0.64 n.s 0.76 0.63 0.64 0.41 大局的自己点検過程 均 D 平 s 2.88 3.00 3.13 3.38 0.56 n.s 0.85 0.66 0.49 0.47 ( df=3,20, n=6) 「 1 人だ と 解決で き ない こ と も 解決で き る よ う にな っ た . 受 講 し て よ か っ た .」 「 コ ンテス ト で実力 を発揮で き る よ う にな り たいので, 今後 も ご指導よ ろ し く お願い し ます. 」 「x code は と て も 使いやすかっ たが, 全部英語 (筆者 注 : x code のエ デ ィ タ が全 て英語表記 と い う こ と ) なの で, 慣れるのはも う 少 し時間がかかり そう です. 」 「 iPhone プロ グ ラ ミ ン グだけ で な く , い ろ んな ア ル ゴ リ ズ ムを学べ て よ か っ た です . 」 「他の プロ グラ ミ ン グ も や っ て みたい ので , ま た教え→
Ii
I
Fig 6 受講生 T 君の画面設計 (12-9) 一 一 一 -',
、',,
,, , 、◆
、 、 一 、・ ,◆
-''--=
g
一/ Fig 8 受講生 H 君によ る12-9 (偶数引 く 奇数) て欲 しいです. (最近, 人工知能で Python と か話題にな つ てますよね? ? )」 「今 ま で C 言語 し かや っ たこ と なか っ たが, Swift は 書 き方が少 し 違 っ て も結局 プロ グラ ムの基礎が大事 だ と 痛感 し た. も っ と 大学で プロ グラ ミ ン グを真面目にやり たい . 」 「今回の授業 では, 創造性がい ろい ろあ る と わか っ た こ と が, 一番 よ かっ た こ と です. 」 な どの コ メ ン ト が得 ら れた. 以上のこ と か ら , 全体 と し て, GUI と c UI の差 を感 じ さ せ る本稿 を 通 し て , プロ グ ミ ラ ン グに対 す る興味 ・ 関心 を高めるだけ に と どま ら ず, 有意差こ そ見 ら れなかっ たが, 全体と し て大半の項目の平均値 を維持す るこ と が で き た. そ し て, こ れから プロ グラ ミ ン グを学ぶにあた っ て, 復習 を し てい かなけ ればな ら ない と 強 く 意識 さ せ, よ り 前向 き に プロ グラ ミ ン グを や っ てい こ う と い う 態度 や, 解決 し てい こ う と す る姿勢 をあ る程度育成で き た と 考え ら れる. よ っ て, 本稿の一定の有用性が示唆 さ れた. 5 . ま と めと 今後の課題 本稿 では, 数学的 ゲーム ・ パズル数学的 ゲーム ・ パズ ル 「12-9 (偶数引 く 奇数)」 , 「 セ ブ ンア ッ プ」 を用い, GUI と CUI に おけ る 差 を感 じ さ せ る実践 を行 な っ た . そ の結果 , iPhone プロ グラ ミ ン グ未経験者の受 講生全 員が最後ま で実装す る こ と がで き , 主体的に プロ グラ ミ ン グに取 り 組ま せ る こ と がで き た. そ し て, こ れか ら プ ロ グラ ミ ン グに携 わ っ てい く に あ た っ て の態度 や姿勢 を あ る程度育成で き た可能性があ る こ と が示唆 さ れた. し か し , GUI と c UI の差 を感 じ さ せる授業が どこ ま で iPhone を開発す る実践に寄与 し たかについ ては不明 な点が多 く , 一般的に行われてい る実践 と の比較 ・ 対照 実験 を行 う な ど, よ り 詳細に検討す る必要があ る. ま た, 今回の実践では参加者が 6 人と 少 な く , 量的 な評価 を行 う には不十分 で あ っ た こ と は否定で き ない . 今後, さ ら な る実践の精緻化 を行 い , 単 に iPhone ア プ リ を開発す る だけ に と どま ら ない よ う な , アル ゴリ ズ ム的 な思考 を 育成す るよ う な実践 を展開す る必要があ ろ う .[文献]
1 ) レイ ・ カ ーツワイ ル : シ ンギ ユラ リ テ イは近い [エ ッ セ ンス版] 人類が生命 を超越す る と き , NHK 出版(2016)
2 ) 広口 正之 : シ ンギ ユラ リ テ イ と は~ 2045年問題, JNSA Press, 37, pp.1-5 (2014) http ://www jnsa.org/Jnsapress/vol37/2_kikou.pdf (2018 . 7.9 ア ク セ ス確認) 3 ) 厚生労働省 : 人口動態統計 (n.d ) http://www.mhlw.go jp/seisakunitsuite/bunya/hokabunya /shakaihoshou/d1/07.pdf (2018.7.9 アク セス確認) 4 ) 日本生産性本部 : 日本の労働生産性の動向2017年版 http://www.jpc-net jp/annua1_trend/annual_trend2017_ fu11.pdf (2018.7.9 アクセス確認) 5 ) 経済産業省 : IT 人材の最新動向 と 将来推計 に関す る 調査 (2016) http://www.meti.go.jp/press/2016/06/20160610002/20160610002.pdf (2018.7.9 アク セス確
認) 6 ) 文部科学省 : 小学校学習指導要領 (平成29年 3 月告示) (2017)
http://www.mext.go.jp/component/a_menu/education/micro detail/ icsFiles/afieldfile/2017/05/12/1384661 _4_2.pdf (2018.7.9アクセス確認)
7 ) 文部科学省 : 中学校学習指導要領 (平成29年 3 月告
示) (2017)
http://www.mext.go.jp/component/a_menu/education/
micro detail/ icsFiles/afieldfile/2017/05/12/1384661 _5_2.pdf (2018.7.9 アクセス確認) 8 ) 文部科学省 : 第 7 回 経済 ・ 財政一体改革推進委員 会 経済社会の活力 ワ ーキ ン グ ・ グルー プ (2017) http://www5.cao.go.jp/keizai-shimon/kaigi/specia1/reform/wg7/291114/shiryou1 .pdf (2018.7.9 アクセス確認)
9 ) 阿部 和広 : 子供の創造的活動 と プロ グラ ミ ン グ学
習, 情報処理, 57(4), pp 349-353 (2016)
10) 文部科学省 : 平成26年度文部科学省委託事業 情報 教育指導力向上支援事業 プロ グラ ミ ング教育実践ガイ ド (2015)
http://Jouhouka.mext.go.jp/school/pdf /programing_ guide.pdf (2018.7.9アク セス確認)11) M.Thomas: 10S app programming using an inverted classroom in a small department, J「
,
ourna1 of
Computing Sciences in Colleges, 29(5) , pp.179-185
(2014)
12) 飯尾 淳 : 初学者向け プロ グラ ミ ン グ教育に関す る 意識調査 一GUI と c UI の どち ら がよ い か?-
, 情 報処理学会 情報教育 シ ン ポ ジ ウ ム2015, pp.17-22(2015)
13) 平嶋 宗, 福井 昌則, 林 雄介 : 異種 リ ソ ースから 作 ら れた指示 の対 比 に よ る プロ グラ ミ ン グ的思考の 振返り , 第43回教育 システム情報学会全国大会講演論文集, pp.133-134 (2018)
14) 福井 昌則, 森山 潤 : 課題設定 ・ 解決力 を育成す る ス マ ー ト フ オ ン ア プ リ 開発 を用 い た プロ グラ ミ ン グ 導入教育の実践-
大学生を対象 と し た課外教育の 事例 一 , 兵庫教育大学学校教育学研究, 第30巻,pp.119-125, (2017)
15) 福井 昌則 : 情報活用能力 の育成 を目的 と し た初学 者対象 iPhone プロ グラ ミ ン グ教育の実践, 第 1 回 国際 ICT 利用研究学会全国大会講演論文集, A3-1 ,(2016)
16) 総務省 : プロ グラ ミ ン グ人材育成の在り 方に関す る 調 査 研 究 報 告 書 (2016) http://www.soumu.go jp/ main_content/000361430.pdf (2018.7.9 ア ク セス確認) 17) 弓 野意一 ( 編著) : 世界の創造性教育, ナ カ ニ シヤ出版 (2005)
18) JetBrains: AppCode Smart IDE for 10S/mace s devel-opment (n.d ) https://www jetbrains.com/objc/ (2018. 7.9 ア ク セ ス確認)
19) Unity Technologies: Unity (2018)
https://unity3d.com/jp (2018.7.9 ア ク セス確認)
20) M icrosoft: Xamarin.iOS (n.d )
https://docs.microsoft.com/j a-jp/xamarin/ios/ (2018.7.9
ア ク セ ス 確 認)
21) Adobe: PhoneGap Build (n.d ) https://build.
phonegap.com (2018.7.9 ア ク セス確認) 22) Apple: Playground (n.d ) https://www.apple.com/swift/playgrounds/ (2018.7.9 ア ク セ ス確認) 23) 山 上 道恵 : パズ ルの解法 を通 じ て学ぶ プロ グラ ミ ングの基礎, 日本情報科教育学会誌, 2(1) , pp 33-38