論理的思考を身につける方法としてのプログラミング教育
――『コンピューターを使わない小学校プログラミング教育 “ルビィのぼうけん"で育む論理的思考』は、茨城大学教育学部 准教授である小林祐紀さんと、大阪電気通信大学工学部 教授である兼宗進さんが手がけられました。最初にお二人の経歴を教えてください。
兼宗:私は企業で15年間ソフトウェア開発に携わったあと、大学で15年近くJavaやCなどのプログラミングを教えてきました。初めて学ぶ人にプログラミングの楽しさを伝えるために、電気通信大学の久野靖先生とドリトルという教育用のプログラミング言語を設計して公開しています。また、初心者がどのようにプログラミングを学んでいくのかに興味があり研究を続けています。
小林:私は2015年3月まで公立小学校の教員を勤める中で、学校現場の多忙感を肌身で実感してきました。次々と入ってくる新しい教育の理念には賛同しながらも、みずから授業を考え、創っていくといった教師本来の創造的な仕事をしたくてもできない教師の姿をたくさん見てきました。
今は茨城大学教育学部に籍を置き、現場の教師と実践研究しながら、教育実践の価値や理論の実践への適合、実践から理論の生成などに取り組んでいます。小学校プログラミング教育は今後どうあるべきなのか、これから現場の教師たちと多くの議論をしていきたいと考えています。
――小学校からプログラミング教育が必修化することについてはどうお考えでしょうか。
兼宗:小学校では、興味の対象や将来の職業について、広く体験したり、その世界に触れてみたりすることが大切です。生活の身の回りの製品やサービスの多くがコンピューターで動いている時代に、そのことを理解し将来の進路や職業の選択肢として見せてあげることは貴重な経験になります。その一つがプログラミングの体験です。
コンピューターの特徴を知るためには、人に合わせて作られたアプリケーションソフトを使うだけでなく、自分でプログラムを書いてみることが早道です。その意味で、「体験」することが大切と考えています。
小林:変化が激しく予測できない未来において、子どもたちが自己実現を果たし、自己の利益だけではなく共同体の存続のために深く関わっていくためには「考える力」が必要です。その中でも、困難な問題を解決するためには論理的に物事を考えることが重要になってくるのは自明です。だからこそ、小学生の頃から論理的思考を身につけやすいプログラミング教育に取り組むことになったのだ、と私は考えています。
もう一つは、これだけ世の中にコンピューターがあふれているのにもかかわらず、その仕組みついて私たちが知らなさすぎるということです。将来どのような職業に就くとしても、コンピューターとの関わりがない職業はほとんど存在しないはずです。だからこそ、コンピューターの使われ方や仕組みについてもう少し知っておくことはけっして悪いことではないでしょう。もしかすると、遠い背景にはAIが台頭する中での危機感があるのかもしれません。
プログラミング教育の目的はプログラマーの育成や輩出ではない
――小学校でのプログラミング教育、その目的とはどういうものなのでしょうか。
小林:文科省はプログラミング的思考を養うことが目的だとしています。それは以下のような定義です。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
文部科学省2016「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」より
私はこれを「子どもたちにプログラミングの考え方にもとづいた論理的思考を育むこと」と捉え直して各所で伝えています。
ただし、プログラミング教育は社会状況の変化にともなうもの、あるいは社会の要請といってもよいかもしれません。ただ、間違ってはいけないことは、プログラミング教育の目的はプログラマーの育成や輩出ではないということです。
そのことは、議論の取りまとめ(文科省2016)の中で「コーディング(プログラミング言語を用いた記述方法)を覚えること」が目的ではないと示されています。プログラミング教育とは、一言でいえば、子どもたちに論理的思考(logical thinking)の力を育むことが目的です。
兼宗:私としては大きな目的として、コンピューターがどんなものかを知り、自分でプログラムを作る楽しさに触れ、コンピューターという機械に言語を通して指示を伝える。このような体験を通して、ものごとを整理して考える経験を体験することだと捉えています。
小林:こうしたプログラミングの考え方に基づいた論理的思考を育むことの理念や社会的な背景には賛同できますが、具体的な学習場面や方法はいまだ示されていません。
「先生たちが各学校の状況・子どもたちの様子を鑑みて考えてほしい」という文科省の気持ちも分かりますが、前述したような現状なのが事実です。既に現場を支える先生たちから「プログラミング教育って一体何を教えればいいの?」「教科の中で実施するって聞いたけどどうやって?」などといった素直な疑問が聞こえてきています。
当然、プログラミング教育は必要なことだと思います。しかし、必要だということと、実際にできるのかという議論は別です。現場の先生たちにとっては、プログラミング教育の目的に賛同できるだけに苦しいと思います。
見通せない社会をブレイクスルーするための力
――プログラミング教育は子どもたちの能力にどういった影響を与えると考えていますか?
兼宗:端的には、物事を整理して分解し、相手に伝わりやすいように組み立てる能力が身につくと思います。抽象化や論理的思考は年齢的に簡単でないかもしれませんが、小学生の間にそのような考え方を体験することは貴重な体験になるはずです。
小林:これは難しい質問ですが、核心を突く質問でもあります。というのは、プログラミング教育で育もうとする論理的思考を測るための明確な「ものさし」(尺度)がないからです。単元ごとに行われているテストでも測ることはできないでしょう。それはつまり、教える先生にとっても評価ができないという問題をはらみます。
プログラミング教育で育まれる能力はすぐに何かができるようになる能力、テストで明確に測ることのできる能力ではありません。しかし、いつかどこかで必ず出会う、問題解決の場面で役立つ能力だと思っています。
これまではあまり刺激されなかった頭の部分に刺激を与えるような感じでしょうか。それは明らかに「勉強ができること」とは異なった能力ではないかと思っています。そして、このような能力が見通せない社会をブレイクスルーするために役立つような気がしています。
また一方で、コンピューターが使われている身の回りの製品や、プログラムの不具合によって起きた事故・新しい技術などに子どもたちの関心が広がっていくのではないかとも期待しています。事例研究ですが、そうした関心が広がっていくことを示す研究知見も得ています。
コンピューターを使わないから既存の枠組みで取り組める
――では、本書の狙いについて教えてください。
小林:先ほどお話ししたように、プログラミング教育は現場の教師にとって大きなプレッシャーとなっています。教師は今、とても切実な問題に面しています。そんな方々の疑問の声に少しでも応えたいという願いから、本書は企画されました。
言い換えるならば、プログラミング教育の道標になりたいとわたしたちは願っています。だからこそ、どのような授業が考えられるのか、どのように授業を行えば良いのかが分かるように、本書では具体的な事例を中心に執筆しています。
年間を通してどのような教科内容を指導するべきかを示した「教育課程」には、既にプログラミングの考え方に基づいた論理的思考を育むことのできる学習場面が存在します。だからこそ、その部分を見つけ出して上手に焦点化し、改めてどのように授業をデザインできるのかを、私自身も一緒に考えていきたいですね。学習指導要領に書かれているということは必修なのですから、無視できるものではありません。
――「コンピューターを使わない」ことはプログラミング教育と相反するイメージがありますが、そのメリットは何でしょうか。
小林:プログラミング教育を指導する際の留意点について、文科省は次のように書いています。
いずれの教科等においても、プログラミング教育が各教科等における学習上の必要性に支えられながら無理なく確実に実施され、子供たちに必要な資質・能力が育成されるようにしていくことが求められる。
文部科学省2016「幼稚園、小学校、中学校、高等学校及び特別支援学校の学習指導要領等の改善及び必要な方策等について(答申)」91頁より
つまり、教科学習における必然性を大事にしながら、論理的思考を育むプログラミング教育を実施していかなければならないのです。だとすれば、小学校の教師にとってはこれまでの実践の知を活かしやすい方法、「コンピューターを使わない=アンプラグド」なプログラミング教育が取り組みやすいといえるでしょう。
論理的思考は一度の授業や体験では身につきません。何度も手を替え品を替え、様々な教科学習の場面、総合的な学習の場面などで繰り返すことが重要です。このことを本書では「種まきをする」と呼んでいます。
兼宗:アンプラグドの考え方を1990年代に紹介した「コンピュータサイエンスアンプラグド」のTim Bell博士は、コンピューターの操作に夢中になるよりは、一度コンピューターを離れてアルゴリズムなどを考える体験を提唱しています。プログラミングについても、コードを記述する作業と同時にアルゴリズムなどを考える時間が大切になります。
小林:ただし、アンプラグドプログラミング教育だけでプログラミング教育が完結することはありません。コンピューターやタブレット端末を使ったプログラミング教育も行う必要があります。その際には、本書でも示してありますが「種まきのトライアングルを意識する」ことが重要です。
アンプラグドプログラミング教育とScratchなどを活用した一般的なプログラミング教育をどのようにつなげていくのか。この点については、実践を通じて考えていかなければなりません。だからこそ私たちも、より多くの実践を通じて、架橋の仕方を研究しようと考えています。
これまで地道に小学校でプログラミング教育を実践されてきた先生にも一読してほしいと思っています。本書でも触れていますが、私たちはアンプラグドプログラミング教育が小学校プログラミング教育の唯一の解とは考えていません。あくまでもOne of Themです。
子どもの知的好奇心を高めることができれば最高
――本書に興味がある方に向けて、メッセージをいただけますか?
小林:本書は小学校の教師に向けたものです。どのような授業が考えられるのか、どのように授業を行えばいいのかが分かるように、具体的な事例を中心に紹介しています。ですので、まずは実践してみてください。
すべての学年・教科を網羅しているわけではありませんので、ご自身の担当する学年・得意な教科ならこんなふうにできるなどのアレンジももちろん可能です。しかし、最初はできる限り忠実にまねることが肝要です。アレンジはその次からでも十分間に合います。「まねる」ということは、新しいことを学ぶ際に必須です。ぜひ、思いきりまねてください!
これまで地道に小学校でプログラミング教育を実践されてきた先生には、Scratchなどを活用したプログラミングとどのようにアンプラグドプログラミング教育はつながれるのか、相乗効果を期待するにはどうすればよいのかなどを考えてみてほしいと思います。
兼宗:コンピューターは機械であり、人間と似ている部分もあります。ですが、考え方や性質が違う部分もあります。そのことを、子どもたちにプログラミングを通した体験で気づかせてあげるとよいと思います。楽しさに気づけば、子どもは一人でもチャレンジしながら進めていきます。
プログラミングに触れる機会を作り、見守ってあげて、たまに会話の中で本書の解説に書いたプログラミングの特徴について確認してあげると、子どもたちにとってよい学習の機会になるのではないでしょうか。
小林:よく言われることかもしれませんが、家庭でなら親子で一緒にやってみるのが一番だと思います。たとえば、算数の筆算の手順を紙に一つずつ書き出してみて、一度ぐちゃぐちゃにしてみる。それを子どもと一緒に並びかえて、そのとおり筆算の問題を解いてみる。他にも本書でも紹介されている「Go straight」「Turn left(right)」を使った英語の実践をまねて、道案内を体験してみるなどです。
家庭においては特に、楽しくやって、子どもの知的好奇心を高めることができれば最高ですね。