プログラミング的思考モデル

用語説明
- Process 手順の意味.プログラミング的思考のような学習者の考えを示す.
- Target 目標の意味.その課題やシステムを通じて何をしたいのか.
- Program プログラム.コード.ビジュアル言語も含む.
例)「ロボットを操作する.」「グラフを描画する.」etc.
一般的なプログラミング教育
一般的なプログラミング教育では『Program』を用いて『Target』にアプローチすることで問題の解決を目指します. 『Process』はその活動の中で身に付けていくものとされてきました. しかしこの方法では問題を解決することに意識が集中してしまい、 本来意識するべきはずの『Process』を意識することなく『Program』を書くことができてしまいます. また、『Process』を外化していないため、指導者は学習者が『Process』を意識しているのかどうかを確認することもできません. すると授業で使用している教材を使いこなせるようになったとしても、プログラミング的思考を身に付けることはできません. これを解決するために学習指導要領等を基に考えたのがプログラミング的思考モデルです.
プログラミング的思考モデル
プログラミング的思考モデルは頭の中で考えた『Process』を直接外化し、 その『Process』を用いて『Target』にアプローチすることで問題の解決を目指します. アプローチの方法はデジタルかアナログかは問いません. また『Program』の学習は学習者の理解度や学習内容などを考慮し、必要が生まれた際に発展的に学んでいくものとしました. そのため図でも『Program』の矢印は点線で表現しています. この方法を用いれば、プログラムに関する専門的な知識を有していなくても『Target』にアプローチすることができ、 『Process』を直接外化しているため、指導者も学習者がどのように考えているのか確認することができます. そして、正しく『Process』を思考できるようになれば発展的なプログラミング言語を用いた学習であってもある程度スムーズに切り替えられると考えました.
類義語との関係性
プログラミングを学ぶ中でよく耳にする言葉の中には意味の似ているモノのある. 本研究では下記のように定義してシステムを構築している.
- Programming Thinking(プログラミング的思考) 正しい結果を得るためにどのような手順で物事に取り組めばよいのか考える. 結果も途中経過も両方が重要.
- Logical Thinking(論理的思考) 思考の過程を重視.結果の正誤はあまり意識されない.
- Trial & Error(試行錯誤) 正しい結果が得られるまで繰り返し挑戦.正しい結果が得られることが重要であり途中の過程はあまり意識されない.