2017.04.11

【今年度の研究計画】プログラミング学習におけるTinkeringの支援(M2 原田)

みなさん,こんにちは
M2の原田 悠我です.

桜が綺麗ですね.
先週末は本郷キャンパス近くの上野公園にも花見をしている人が多くいて,
新年度が始まった実感と同時に焦りが湧いてきています.
(ちなみに,曇りの日に桜を綺麗に撮るにはどうしたらいいのでしょうか.せっかくならば曇りを活かした写真を撮ってみたいとも思うのですが......)

今回から始まる新しいブログのテーマは「今年度の研究計画」です.新しく山内研究室に入ったメンバーも含めて,今年度の研究計画をご紹介したいと思います.山内研究室のメンバーが今どのようなことを考えているのか,読者の皆様と共有できればと思います.

さっそくですが,私の研究テーマは「プログラミング学習」です.もう少し詳しく言うと,「どのような支援があれば初学者が上手くTinkeringしながらプログラミングを学べるようになるか?」で,もう少し広く言うと「どのような支援があれば初学者は素朴なモノづくりから,知性を活用したモノづくりへと変化するか?」になります.

【背景】
本研究で注目しているTinkering(ティンカリング,いじくりまわす)というワードは,日本語でもちらほら見かけるようになりました.しかし詳しく見てみると,その定義は研究によって幅広く様々です.例えば,試行錯誤や実験を重視する開発プロセスと紹介されたり,明確な計画を立ててから開発するプロセスと対比的に紹介されたりします(Berland el at. 2013).

本研究では様々な論文で言われていることを検討し,「明確な計画を元にプログラミングをするのではなく,素材や自分の書いたプログラムのフィードバックを利用しながら作り上げていくプロセス」と操作的に定義した上で研究を進めています.

このようなTinkeringですが,初学者がプログラミングを学ぶという観点からその重要性が指摘されています(Hancock 2003).というのも,(1) まだ知識が十分でない初学者でもとりあえず動くものを形にできる (2) より複雑な学習をすすめる上で重要になる知識や経験を得ることが出来る,からです.そのため,Tinkeringによる開発を目指した開発環境が多く開発されてきました(例: Scratch, Alice).

【問題】
しかし,残念ながら学習者任せにTinkeringさせても上手く学べていない可能性が存在します.例えばTrial and Errorを繰り返すのみで,たとえ動くものを作れてもその仕組みや原理を理解していない学習者が存在することが報告されています(Perkins et al. 1986).つまり,よりよい学習を促すためには,学習者が自由にTinkeringしながら開発することを重視する一方で,どのような支援があれば学習者の深い理解を構築することができるかについて検討していく必要があると考えました.

【解決方策】
そこで,私は自己説明理論を基盤としたシステムを開発しています.自己説明とは自分自身に向かって学習内容や自身の考えを説明する学習活動です(Chi 2000).上手く問題解決が出来る人は自己説明を行っていたという研究から来ています.また介入によって(ある意味強引に)自己説明を促すことで,学習効果が高まったという報告もあります.そこで,「Tinkeringによる開発場面において,Trial and Errorの結果を元に自己説明を促すことで仕組みの理解が促進される」という仮説を設定しました.

【課題】
現在は主に実践フィールドおよび評価方法について検討している段階です.どの年代に・どれぐらいの時間をかけ・どのような評価方法であれば,学習者の学びを上手く捉えることができるのか,システムを改良つつ,研究のロジックと予備実験のデータを行ったり来たりしながら検討しています.
「こういう実践フィールドあるよ」「こういう評価方法がよいのでは」
などコメントありましたら,ぜひメールください!!

本年度もよろしくお願いします.

※ 研究計画の詳しい内容は,報告集に記載されています.
『プログラミング学習におけるTinkeringの支援
-自己説明を通じた仕組みの理解を促すシステムの試作-
The Support of Tinkering in Learning Programming
Prototyping a System: Facilitating Learner Understanding of Code through Self-Explanatory Activity.日本教育工学会研究会報告集, pp.325-332, 2017年3月.』

原田 悠我

PAGE TOP