プログラミング教育? 前提からの理解

林向達「プログラミング教育? 前提からの理解」(20190404)

同じ学園に属する小学校に校内研修の講師として呼ばれました。

プログラミング教育について話して欲しいというご依頼でしたので,手際よくご紹介するためのスライドを作りました。文部科学省が進めている方向性を前向きに解釈しつつ,論理的思考に関しては「演繹」「帰納」「仮説形成」の3つで考える提案を盛り込んだものとなりました。

作成者である私の基本スタンスは,プログラミングよりもコンピューティング(コンピュータ技術が関わる領域)を学ぶ方向に発展することです。

そのため,このスライドで,プログラミング教育なら万事OKであると伝えたいわけではありません。それは「プログラミング的思考」なる言葉を参考資料内の引用部分以外使っていないことでも表しているつもりです。

それでも,実際の小学校の先生たちのシチュエーションに寄り添えば,学習指導要領やその周辺がプログラミング教育として推進しようとしている動きを無視して何かを語っても,現場の取り組みを後ろ立ててくれるものにならないと感じるだけです。

今回のスライドが「プログラミング教育」をフォーカスしているのは,想定している聴衆がそうした文脈を入り口にいま起こっていることを学ぼうとしているからにすぎません。

その上で,「プログラミング的思考」という言葉を殺しながら,この文脈で目指したい論理的思考を踏み台にして,「コンピューティング」という捉え方へとつなげていく「プログラミング」活動を模索するというのが私が選択している道筋です。

このスライドが,頭でっかちに受け取られてしまうのも,その辺の面倒くさい気の回し方が鼻についてしまうからかも知れません。

このスライドを再利用されることについて,特に制限はありません。学習や研修,研究において役立てていただけるのであれば,ご自由にシェアしてください。

平場で,いろんな議論が起こることを望んでいます。

研究発表「アブダクション習得としてのプログラミング教育の検討」

日本教育工学会 研究会発表 20190309

林向達(2019) アブダクション習得としてのプログラミング教育の検討.
日本教育工学会研究報告集, 19(1): 651-658.

報告集原稿
https://drive.google.com/file/d/1aAtpf6Aed5BGgni9yWbAtDyZZgM74x0a/view

発表スライド

アブダクション習得としてのプログラミング教育の検討 @Google Slides


20181124_日本教育メディア学会

日本教育メディア学会年次大会初日。

鹿児島大学附属小学校での公開授業から始まった。4年生の総合的な学習の時間で「附属小学校の伝統を伝えよう」という単元。附小クイズを作成して,クイズに解答してもらう活動を通して学校の伝統を知ってもらうことを目指していた。

その際,選択クイズを出題するツールとしてScratchを利用し,そのプログラムの流れを考えるのが今回の授業であった。

選択問題のScratchプロジェクトを作成する際,回答に応じた処理が必要となり,「分岐」という考え方と「もし」ブロックの利用へとつなげていく。授業案で想定されていたのは,そのような展開である。

子どもたちは,前時よりペアになってクイズのプロジェクトを進めており,問題と回答に応じて表示する画面などはすでに作業が終わっているものの,回答に応じて表示するための処理は分かる子達以外は組み込めていないという状況だった。

伝統を低学年に伝えるためのクイズ作成という軸はぶらさずに,選択クイズをプログラミングしていくわけだが,ペアごとにブロックの組み立て方がバラバラなので,たとえばキー入力待ちの処理のしかたも,「ずっと」ブロックを使うペアあり,「○秒待つ」ブロック後に「もし」ブロックでキー判定するペアあり,そのまま「もし」ブロックを使っているペアあり…と動くものもあれば動かないものもあったりする。

今回の授業では,回答によって結果が変わることの必要性と「もし」ブロックの存在を知ることがひとつの目標だったが,限られた時間でプログラミング活動をする難しさみたいなものをあらためて感じた授業だった。

その後は一般発表と鼎談企画へ。

一般発表では「プログラミング」関連を聞いていたが,やはりまだまだ模索段階にあるなぁと感じた。その模索を否定したいわけではないのだけれど,ある程度厳しい問いに晒しながら進めないと,ごっちゃに受け止められてしまう懸念もある。

鼎談企画は「教育メディアのこれまでと展望」と題して,日本教育メディア学会と学会紀要の論文の歴史を振り返りながら語るもの。

教育と情報の歴史研究に携わっている私としては,興味津々のテーマと内容であった。携わっているといっても私自身は教育とコンピュータの領域から取りかかっているため,視聴覚教育の領域に関しては学ぶことばかりである。

学会前身の「視聴覚教育研究協議会」の第1回が1954年に行なわれた際,「わが国における視聴覚教育の現状」として「放送教育」「映画教育」「幻燈教育」「紙芝居教育」「視聴覚教育資料」「視聴覚教育の諸問題」「The Use of Audio-Visual Materials in the USA」といった立場からの発表があったという。こうしたキーワードから過去について,また今後の展望についていろいろな語りが出ていた。

その中ではかつての「西本・山下論争」を振り返って,昨今では「論争」があまりないこと,学会でもっと論争すべきといったご意見もあった。

ただ,論争がないというのは,多くの人々が注目をする論争のための場がないだけで,細々としたところでは異論を唱え合っているという事態は進行している。学会という場が論争の場になるためには,そうした言論空間の時代変化に対応していく必要があるだろう。

今回は学会史の序盤だけで終わった感じである。

そして,来年の年次大会で続編を企画しようかという話も出た。教育と情報の歴史研究会も再始動させて,徳島でも歴史を振り返る機会を持てるようにしたい。

プログラミング的思考と論理的思考

2018年11月6日に「小学校プログラミング教育の手引(第二版)」が公開されました。

学生向けの教員採用試験対策講座の担当が回ってきたこともあり,せっかくの機会なので小学校学習指導要領に記載されたプログラミング体験に関して,最新の「手引」を解説するかたちで知ってもらうことにしました。

小学校におけるプログラミング教育のねらい

①「プログラミング的思考」を育むこと
②プログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって支えられていることなどに気付くことができるようにするとともに、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むこと
③各教科等の内容を指導する中で実施する場合には、各教科等での学びをより確実なものとすること

これら「手引」に書かれたことをベースに,資質・能力の三つの柱について触れたり,「小学校段階のプログラミングに関する学習活動の分類」など,採用試験でも出てきそうな部分を概説しました。

学生たちには情報処理の時間でScratchに触れてもらったこともあったので,久し振りにScratchの画面を見せて,正三角形を描くプログラムを即興で組んで見せ,私の身体アクションも交えてグラフィカルな環境によるブロックプログラミングを思い出してもらったりもしました。

また,当ブログでは,いつもなら『「プログラミング的思考」なるもの』と距離を置いて批判的に扱っている「プログラミング的思考」という言葉も,さすがに採用試験対策の文脈では批判的に扱い過ぎても何らメリットがないので,程よい距離感で紹介しました。

さて,「プログラミング的思考」とは何か。

「学習指導要領」を初めてみる人には不思議に思えるかも知れませんが,「プログラミング的思考」という言葉は小学校学習指導要領そのものには記載されていません。

代わりに,「学習指導要領 解説」(総則編)の50-51頁(印刷版)にある情報活用能力の解説箇所で「プログラミング的思考」が初登場します。

それを解説する文章は85頁まで進むと出てきます。長いですが丸ごと引いてみます。

また,子供たちが将来どのような職業に就くとしても時代を越えて普遍的に求められる「プログラミング的思考」(自分が意図する一連の活動を実現するために,どのような動きの組合せが必要であり,一つ一つの動きに対応した記号を,どのように組み合わせたらいいのか,記号の組合せをどのように改善していけば,より意図した活動に近づくのか,といったことを論理的に考えていく力)を育むため,小学校においては,児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動を計画的に実施することとしている。その際,小学校段階において学習活動としてプログラミングに取り組むねらいは,プログラミング言語を覚えたり,プログラミングの技能を習得したりといったことではなく,論理的思考力を育むとともに,プログラムの働きやよさ,情報社会がコンピュータをはじめとする情報技術によって支えられていることなどに気付き,身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育むこと,さらに,教科等で学ぶ知識及び技能等をより確実に身に付けさせることにある。したがって,教科等における学習上の必要性や学習内容と関連付けながら計画的かつ無理なく確実に実施されるものであることに留意する必要があることを踏まえ,小学校においては,教育課程全体を見渡し,プログラミングを実施する単元を位置付けていく学年や教科等を決定する必要がある。なお,小学校学習指導要領では,算数科,理科,総合的な学習の時間において,児童がプログラミングを体験しながら,論理的思考力を身に付けるための学習活動を取り上げる内容やその取扱いについて例示しているが(第2章第3節算数 第3の2(2)及び同第4節理科 第3の2(2),第5章総合的な学習の時間 第3の2(2)),例示以外の内容や教科等においても,プログラミングを学習活動として実施することが可能であり,プログラミングに取り組むねらいを踏まえつつ,学校の教育目標や児童の実情等に応じて工夫して取り入れていくことが求められる。
また,こうした学習活動を実施するに当たっては,地域や民間等と連携し,それらの教育資源を効果的に活用していくことも重要である。

めまいがしそうな文章ですが,この解説文を解説するのが「小学校プログラミング教育の手引」ということになります。

その手引によれば「プログラミング的思考」とは,コンピュータに意図した処理を行なわせるために必要な「論理的思考力」と概説され,学習の基盤となる資質・能力のひとつ「情報活用能力」に含まれるものだとも書かれています。

プログラミング的思考とは,情報活用能力に含まれるプログラミングに関わる論理的思考力である。

これが圧縮した定義となりそうです。

面接試験時に「プログラミング的思考が論理的思考力であるなら,ただの論理的思考と何が違うのでしょうか?」と問われたら,なんと答えればよいでしょう?

第一の相違点は,論理的思考が対象を限定していないとすれば,プログラミング的思考はコンピュータに関わる領域に対象を限定している点です。

ただし,この指摘に賛同しない立場もあります。プログラミング的思考は汎用性のある思考法であると主張する人もいます。ちなみにComputational ThinkingについてWing氏の論稿で「すべての人にとっての基本的な技能」と紹介しているので,これをプログラミング的思考と混同しようとする流れもあるようです。

第二の相違点は,「思考過程」と「結論/結果」(意図する一連の活動)の位置付けです。

論理的思考が根拠等の要素の関係を注意深く結びつけることによって結論を導き出すもの(思考過程が静的で結論が動的)であるのに対し,プログラミング的思考は精緻に設定された結果を達成するために必要な要素を選択して結びつけるもの(思考過程が動的で結果が静的)と位置づけることが出来ます。

ただし,論理的思考は,意図した結論に適合する思考過程を生成することも包含し得ます。一方,プログラミング的思考は,意図した結果の方を変える場面もあり得ますが,今回の「解説」や「手引」の範囲では意図の変更までは想定していないようです。

ここでは以上の2点をプログラミング的思考と論理的思考の違いとして述べるに留めたいと思います。

ただ,プログラミング的思考が「意図した一連の活動」そのものを考え直す契機を含んだものとして語られていないというのは,非常に興味深い論点になると思います。

そもそも「論理的思考」に関して,学習指導要領上で「算数,数学科」の数量的思考の中で触れられてきた流れや,「国語科」での論理的思考力を養う話題・教材の選定や論理的理解に配慮した表現力,論理的な見方・考え方をする態度育成という記載の流転を鑑みても,それが何なのかをはっきり明示できているとはいえません。

おそらく戦後の学習指導要領の大テーマである「問題解決学習」と併せて考えなければならないのだろうとは思います。

問題解決に際して,帰納的思考を展開するのか,演繹的思考を展開するのか。そういう観点からプログラミング的思考と論理的思考を位置づけて論じることも出来るかも知れません。

またプログラミング的思考を,Computational Thinking(コンピュテーショナル思考)との違いで考えてみたり,クリティカル思考やシステム思考,デザイン思考といったものと比較検討することも面白いかも知れません。

これから教員採用試験を受験しようとする皆さんは,正解を追い求めるだけでなく,こうした曖昧とした用語同士の関係性を自分なりに描いてみる訓練も大事になると思います。

英語教育と似たような途をゆくか

「プログラミング教育」のゆく途を小学校英語から見通そうとするやり方があります。学習指導要領の平成29年改訂において小学校では「外国語」が教科化されました。

外国語とされていますが,学習指導要領は各言語を「英語」と「その他の外国語」と大別した構成で記述したことから,特別な理由がない限りは英語を中心として取り組まれることになります。

あらためて,英語教育からプログラミング教育(あるいは将来的にコンピューティング教育…となりますかどうか)を考えてみるのも面白いでしょう。

このブログでもご紹介した日本教育工学会のプログラミング教育に関するシンポジウムの場で,東京学芸大学の高橋先生は,プログラミング教育の行く末を考えるには英語教育の辿ってきたステップを参考にするとよいと述べていました。

この指摘はそのシンポジウムが初出というわけではなく,高橋先生自体は何年も前から機会ある毎に述べられていましたし,教科化のステップを考える際には他でもよく言及されることです。

つまり,まず「先進的な取り組み」があって,それが徐々に認知され「課程外の取り組みとして波及」し,「学術分野での研究」とともに「研究開発校の研究課題」として採用されて,「課程内での活動時間」が確保されたのちに,ようやく「教科化」へと至る。おおよそこれが教科化への道のりです。

小学校外国語は,中学校・高校の英語科という長い歴史を持つ接続先があるというアドバンテージがありましたが,研究開発校での取り組みや「外国語活動」のステップを踏みつつ,晴れて「外国語」として教科化が相成ったわけです。

しかし,この小学校英語が「課程内」に取り入れられる(必修化)に際して,その是否について激しい議論が展開されたことをご記憶の方もいらっしゃると思います。

当時の議論における文献として有名なのは大津由紀雄氏が編著した『小学校での英語教育は必要か』『小学校での英語教育は必要ない!』『日本の英語教育に必要なこと』(いずれも慶應義塾大学出版会)です。書名は否定的な文言ですが,内容はシンポジウムの記録であり,様々な立場の論者による議論になっています。

これをプログラミング教育の文脈に置き換えれば,タイミングとしては今(2018年)頃にシンポジウムが行なわれて,賛否の議論を闘わせ,それを書籍として世に問うたということになります。

しかし,英語教育の世界で起こっていた賛否の議論のようなものが,プログラミング教育の世界で巻き起こっているか…と問われると,書籍化できるほどのボリュームでは行なわれていないというのが正直な感触です。

プログラミング教育における賛否の議論が希薄なこと。

これには考えられる理由があります。

長い歴史を持つ英語教育と比して,プログラミング教育にはそもそも,議論できるほどの歴史も蓄積もないというのが一つの理由。

「英語の必要性は分かるけど,プログラミングの必要性か分からない」と言われるのも,歴史と蓄積の違いが原因と言ってよいかも知れません。

伊村元道『日本の英語教育200年』(大修館書店)という書名の文献があるくらいです。日本人と英語教育の付き合いは長い。そこまで長い歴史に目をやらずとも,私たち自身が「受験英語」と付き合った人生経験を思い返せば,腐れ縁とでもいえそうな関係を持っていることが分かります。

翻って,プログラミングと私たちの関係はどうでしょうか。

あらためて,多くの電子機器や電化製品等が私たちの日常生活を支えてくれていることを考えると,付き合いは十分です。プログラミング教育の手引にも「コンピュータは人々の生活の様々な場面で活用されています」と書かれていますから,むしろ英語より関わりは深いかも知れません。

しかし,もう私たちは薄々わかっています。付き合いがあるのは電子機器や電化製品などであって,プログラミングではないこと。生活の様々な場面で活用されているのもコンピュータであって,プログラミングではないこと。仮に五十歩ほど譲っても,私たちとの関わりがあるのは「プログラム」や「ソフトウェア」であって「プログラミング」ではないのです。

英語教育は既得ポジションがあったがゆえに歴史と蓄積を持ち,そうでないプログラミング教育はそもそも議論のしようがないのです。

問題は,議論が起こせもしない状態にある教育が,学校教育の取り込まれていく動きをどう考えるかです。

寺沢拓敬『「なんで英語やるの?」の戦後史』(研究社)などからも分かるように,英語教育だって自明だったわけではありません。なのに既得ポジションが与えられ,長い歴史が積みあがった。であればプログラミング教育だって,まずはスルッと始めてしまって長い歴史をかけて修正すればよいだけのことじゃないか。そういう参考の仕方もあり得るとは思います。

とはいえ,それは「プログラミング教育」という形であるべきだったか。そのような入口とならざるを得ない事情があったとしても,それを一方で批判的に理解するためのくさびを打っておくことも必要ではないか。

学校現場を支える側では,おそらく前者に近いスタンスをとるのが現実的でしょう。最初から完璧は望めないのですから。一方で,学術的な側面からは後者のスタンスをとる問いが投げかけられなければならないと思います。この文章を書いている私は後者の位置に立っているといえます。

ところで,振り返ると英語学習ブームと呼べるものがいくつかありました。

今でこそ当たり前となっている英会話塾も,それ自体が英会話ブームの産物でした。「駅前留学」というCMフレーズをご記憶の方も多いと思います。

他にも思い付くままに挙げると,ラジオやテレビの「英語講座」(語学講座),英単語暗記術,CD付き英語参考書,英文小説読書,子ども英語会話塾,インターナショナルスクール,短期留学,などなど。

英語関連書籍もいろいろで,『日本人の英語』や『伊藤の英文解釈』,『豆単』『キクタン』『英語耳』『速読英単語』,『ビッグ・ファット・キャット』とか,『英語で日記を書いてみる』とか,『ドラゴン・イングリッシュ』とか,『チャート』『Forest』『ポレポレ』などなど。

またかつて別冊宝島というムックには,『道具としての英語』という人気シリーズがあり,学校英語や受験英語とはまた違った雰囲気で英語の学習を誘っていました。同じく別冊宝島の『欠陥英和辞典の研究』というムックが発端となった英語辞書論争は,当時のマスコミにも取り上げられて注目を集めたりもしました。

そうした様々な通過地点を経て,今日の英語教育があるといえばそうなのですが,そんな英語教育がよりよき道のりを歩んできたといえるのかは,正直なところわかりません。

プログラミングやコンピューティングの教育が,これからどんな道のりを辿るのか。願わくは,よりよき選択ができるよう進みたいものです。