プログラミング教育探し -1

日本の学校教育では小中高校を通してプログラミングに触れる機会が設けられました。

学校種ごとに扱われ方は異なりますが,俗に言う「プログラミング教育」が実施されているということになります。本ブログでは「プログラミング体験・学習」と表記するようにしてきましたが,面倒を省くために当面はプログラミング教育と書くことにします。

小中高におけるプログラミング教育を考えるにあたって,最初に立ち上がってくる疑問は「なぜプログラミング教育なのか?」です。

まず,小学校のプログラミング教育に関して着目すれば,これは「情報活用能力」に含まれるものとして位置づけられています。

(プログラミング教育の位置付け)
 本手引はプログラミング教育を対象として解説していますが、プログラミング教育は、学習指導要領において「学習の基盤となる資質・能力」と位置付けられた「情報活用能力」の育成や情報手段(ICT)を「適切に活用した学習活動の充実」を進める中に適切に位置付けられる必要があります(後略)

文部科学省「小学校プログラミング教育の手引(第三版)」(令和2年2月)p2より

ちなみに,平成29年告示の学習指導要領から「情報活用能力」は「資質・能力」の一つとして本文に採用され,学習の基盤となる資質・能力の育成は教科横断的に育成することが目指されています。

というわけで,「なぜプログラミング教育なのか?」という問いの答えは「なぜ情報活用能力なのか?」という問いの答えに便乗する形になっています。

「なぜ情報活用能力なのか?」

この問いへの答えは30年も前から「高度に情報化された現代社会において適切な対応ができるために必要」という主張のもと,その骨格に時事の様々な言葉(高度情報化社会,知識基盤社会,第4次産業革命,Society5.0,AIスマート社会,等々)が付属する形で理由が示されてきました。

こうして,情報活用能力が必要ならば,その一部であるプログラミング教育もまた必要という理屈が成り立つことになります。

しかし,この理屈を安易に納得することはできません。

そもそも「情報活用能力の育成に,なぜプログラミング教育なのか?」という部分について疑問が残るからです。

この疑問にアプローチする道筋は2つ考えられます。

一つは,1) 小学校にプログラミング教育を導入するにあたって展開した議論を追いかけるアプローチ。

もう一つは、2) すでに先行導入している中学校と高等学校でプログラミング教育に関する現状や導入経緯を追いかけて,小学校段階がそれに足並みを揃えたのではないかを検討するアプローチです。

まずは1)のアプローチで関係資料を参照してみます。

小学校の学習指導要領は,1996(平成8)年の第15期中央教育審議会第一次答申「21世紀を展望した我が国の教育の在り方について」以来,「生きる力」の育成を基本的な観点として重視する方向に変わりました。

この「生きる力」は,基礎・基本の定着を踏まえつつも,子どもたちが自ら学び,自ら考える教育への転換を目指す考え方として導入され,ここから思考力の育成重視が始まったといえます。

もっとも2003(平成15)年には,学力低下論争の影響もあり,「生きる力」に対する「確かな学力」という考え方を打ち出すことでバランスをとることとなりましたが,令和の現在においても「生きる力」というキーワードが前面に押し出されていることを考えれば、考える力,つまり思考力の育成というお題目が日本の学校教育にとって最重要であることは今も変わりない方向性です。

しかし,「思考力育成」を日本の学校教育にどのように導入するかは,なかなか着地点を見出せない問題でした。

たとえば,「習得型の学習」と「探究型の学習」という議論は,知識技能の育成と考える力の育成とを取り組むためのもので,「活用型の学習」でこれらの関連付けを深めようとしたのが平成20年告示の学習指導要領でした。

また,思考力・判断力・表現力等も含めた汎用的な能力の育成を目指した「総合的な学習の時間」に関する様々な取り組みや,フローチャートやシンキングツールといった思考ツールを利用した「高次の思考力」育成を目指す研究も私たちの記憶に新しいところです。

そして,21世紀型スキルの国際的な議論の流れで,日本でも「21世紀型能力」として基礎力・思考力・実践力といった構造が示されて,「メタ認知」や「適応型学習力」の必要性が主張されているのはご承知の通りです。

よって,日本の学校教育はずっと「思考力育成」のネタ探しを続けている状態であったわけですが,そこに情報教育の側から新たな潮流が持ち込まれてきます。コンピュータサイエンスへの注目とプログラミング教育です。

2013年に諸外国の事例の紹介や日本の産業界でもIT人材育成のためプログラミング教育の必要性について声が上がり始めたことで,2014年には文部科学省が「プログラミング学習に関する調査研究」という調査部会を立ち上げて現状把握を開始します。

2016年には「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」を設置し,間近に迫っていた学習指導要領改訂にスピード導入することを達成しました。

その後,次世代の教育情報化推進事業などにおいてプログラミング実践を取り組んでいる実証校IE-Schoolなどの実証報告を揃えることで,情報活用能力の枠組みの中に「プログラミング的思考」なる言葉でプログラミングを取り込みました。

実にあっという間の出来事でした。

先の有識者会議の名称には,思考力育成という流れとプログラミング教育という流れを交差させる意図がわかりやすく表れていますが,もともとプログラミング教育はコンピュータサイエンスやIT人材育成の文脈で注目されていたものだったことを考えると,この両者は同床異夢の関係と言ってよいかも知れません。

情報教育の文脈からすれば,本来的にはコンピュータ活用やコンピュータ・リテラシーの育成を目指すことが本筋であったでしょうし,それまでの情報活用能力の議論はタイピング技能やデジタル読解力を中心に議論が展開してきたはずでした。

しかし,新たな学びを学習指導要領に組み入れることを考えた場合,そのための新たな時間を確保することは難しく,そのための環境も(GIGAスクール構想より以前には)無かったため,正攻法ではほぼ不可能だったろうと思われます。

そこで取られた策が,思考力育成を切り口とする情報教育の領域拡大策であり,プログラミングで用いられる見方・考え方を論理的思考と見立てた情報活用能力の育成を目標にするプログラミング教育の導入だったといえます。

結果としてこの策は学習指導要領への導入には功を奏しましたが,コンピュータリテラシーの一部分であるプログラミング教育を,論理的思考力に焦点化する都合上,単独で切り出す形となりました。そのうえ,小学校学習指導要領の場合,算数と理科の例示と総合的な学習の時間でのみ記述されたことから,プログラミングと教科の学習とのバランスの難しさが目立つ結果も見えます。

「コンピュテーショナル・シンキング」という国際的な議論とも通じ合わないままに,足がかりだけがつくられた状態,というのが現行学習指導要領のプログラミング教育の実状です。

この足がかりを有効活用して,次期学習指導要領ではコンピュータリテラシー等の能力育成を十全に可能とするカリキュラムの設計が期待されているというところです。

ここまで,小学校段階にプログラミング教育が導入されるまでの展開を眺めました。

その経緯をおおよそ踏まえて,もしも現行のプログラミング教育が十分な形を纏っていないのだとすれば,どのようなプログラミング教育が理想として考えられるのか。

そうした議論が考えられてしかるべきでしょう。

それについてはまた回をあらためて。また2)のアプローチで「なぜプログラミング教育なのか?」を考えることも回をあらためて考えてみたいと思います。

プログラミング的思考 -4

「プログラミング的思考」について情報収集をしています。連番[1][2][3

文部科学省における「プログラミング的思考」なる言葉の初出に関しては,

荒井陽貴,佐藤守,木下龍
「文部科学省におけるプログラミング的思考に関する議論の過程と内容的特質」(千葉大学教育学部研究紀要)
https://opac.ll.chiba-u.jp/da/curator/900120468/

が詳しくまとめています。その中で,第2回有識者会議での議論として『磯津政明委員によって,はじめて「プログラミング的思考」という表現が使われた。』と指摘されています。

その磯津氏によって上梓された本に当時の様子が記録されています。プログラミング的思考という表現がもたらされた背景を説明する部分なので,長くなりますが引用します。

 ちなみに、私は「プログラミング的思考」の提唱者です。現在NHKで放送されているEテレのプログラミング番組「テキシコー」のタイトルは、「プログラミング『的思考』から取られたものです。
 小学生のプログラミング教育に関する文科省の有識者会議に招かれたのが2016年初頭で、当時、先駆けた事例となっていたのは英国で2014年に導入されたプログラミング教育でした。週1回の授業で、プログラムやパソコンのしくみ、デジタルリテラシーについて学ぶ、というものです。
 しかし、当時は2020年時点で小学生が一人一台パソコンが使える見通しは立っておらず、さらに既存の授業が多すぎてプログラミングを新たな科目にはできないことが決まっていました。ということは、英国の授業をそのまま流用することは現実的ではありません。
 そこで私が目をつけたのがCT(Computational Thinking・計算論的思考)と呼ばれる、以前から存在していた問題解決手段です。「分解」「バターン認識」「抽象化」「アルゴリズム設計」の4要素を組み合わせて課題を解決するというものです。
 このCTをあらためて分析してみると、日本人が好むパズル的な算数問題に、CTの要素がうまくちりばめられていることに気づきました。仮に学校でコンピューターを直接操る教育ができないとしても,CTを学んでもらうことはできそうです。
 しかし,いかんせん教育研究の世界で使い古された言葉でしたし、日本語直訳の「計算論的思考」という言葉も広まっていました。日本向けにアレンジするのであれば、日本の小学生向けのプログラミング教育を象徴する別のキーワードの方が良さそうです。そこで社内で議論を重ね、有識者会議の数日前に思いついたのが「プログラミング的思考」でした。そのときにGoogle検索をしても一件もヒットしなかったので、会議の場で発表し、意見書として文科省にも提出しました。
 ちなみに、Google検索をしたとき、想定していた内容が検索ページ上位に表示され、見つけやすいことを「ググラビリティが高い」といいますが、「プログラミング的思考」はトップクラスのググラビリティだったことになります。
 あらためてプログラミング的思考を私なりに定義すると「物事のしくみを深く分析・理解し、具体と抽象を行き来しながら、新しい物事を創造的に生み出す思考方法」です。

磯津政明『2040 教育のミライ』(実務教育出版 2022)p246-248より
(太文字やかぎ括弧不足はママ)

上記の内容を整理すれば…

  1. プログラミング的思考はComputational Thinkingを由来としていたこと
  2. Computational Thinkingを「以前から存在していた問題解決手法」と認識していたこと
  3. Computational Thinkingは「教育研究の世界で使い古された言葉」と認識していたこと
  4. 「計算論的思考」という言葉も広がっていたと認識していたこと
  5. プログラミング的思考は「日本向けにアレンジ」する発想のもとで生まれたこと
  6. プログラミング的思考は「日本の小学生向けプログラミング教育を象徴するキーワード」として模索されたこと
  7. プログラミング的思考は一企業の中での議論を経て思いついたもの
  8. プログラミング的思考のググラビリティの高さを評価していること
  9. 有識者会議に対する意見書として文部科学省に提出したこと

以上の事柄を読み取ることができます。

1. は公開済みの有識者会議記録からも確認できます。また,2.も認識として問題はないと思われます。

3.は有識者会議が開かれていた2016年時点で,世界的な文脈であればComputational Thinkingに光を当てたWing論稿が2006年発表なので10年ほど議論された期間がありましたが,日本の文脈ではそもそも言葉自体知られていなかったといえます。4.の「計算論的思考」もWing論稿の日本語翻訳が公表されたのが2015年でしたから広まっていたというよりも広まり始めたぐらいだったと言えます。

つまり,3.と4.に関しては磯津氏の認識の勇み足。世界事情に通じている点は有識者会議に貢献していたことは事実ですが,日本の文脈についてはほぼ現実を見誤っていたと思われます。

そのうえ,5.のような「日本向けにアレンジ」するという発想を取る際には,アレンジの必要性や方向性を明確にすべきところですが,それが6.の「日本の小学生向けプログラミング教育を象徴する」という粒度では,批判検討するには粗すぎます。8.の「ググラビリティの高さ」が「象徴」に値する理由だったと解釈されても仕方ない説明です。

本来であれば,9.で提出されたような言葉は有識者会議や構成メンバーによって吟味されるべきところですが,有識者会議記録では,第3回における他の委員からの質問のやりとりだけで,その他の箇所で「プログラミング的思考」なる言葉の妥当性を検討した形跡はありません。7.にもとづけば,一企業の社内による議論を経て思いついた言葉が,国の政策用語に採用されたことになります。

プログラミング的思考は,結果的に国の政策用語となり,高いググラビリティを推されながらも,なぜか英語表記について考慮されることもなく,提唱者の著書からさえ引用部分以降の本文では注意深く排除されているのです。

次期学習指導要領の準備のための議論が始まろうとしている現在。解説にのみ記載されている「プログラミング的思考」を見直すことは必須になります。これを学習指導要領本体に採用すべきかどうか。あるいは解説からも排除し,コンピュテーショナルシンキングへの理解を深めたうえで適切な言葉を検討するか。真剣に考えなければならない課題です。

拡張Scratch3.0用クラウド連想配列

昨年度末からずっと開発案件に取り組んでいました。

拡張Scratch3.0用のナンバーバンク(NumberBank)と呼んでいる拡張機能の新バージョン開発です。

ネット上に配列(数値を記憶する変数の並び)を確保することができます。簡易なデータベースとして使えば,データ加工や交換をするScratchプロジェクトも作成可能です。

公式Scratch3.0にはクラウド変数という機能がありますが,ナンバーバンクは拡張Scratch3.0用にクラウド変数を提供しているともいえます。

複数端末間でのプロジェクト連携が可能なので,キャラクター(スプライト)を遠隔操作したり,接続したセンサーからのデータを送信したり,サーボモーターを遠隔制御することも,一斉に可能です。

拡張Scratch3.0サイトとして有名な「Stretch3」で利用できます。

また,拡張Scratch3.0サイトが構築可能な「Xcratch」に追加できるモジュールも公開しています。

今回のバージョンアップで,各自が自前で用意するクラウドサーバー(現時点ではGoogle FirebaseのFirestore)をナンバーバンクのデータ保存場所として利用できるようになりました。

各自が用意したクラウドサーバーのAPIキーを預ける場所として新規開発したのがマスターキーバンク(MasterkeyBank)という専用サイトです。

このサイトで,皆さんのAPIキーをお預かりし,ナンバーバンクのマスターキーセットでサーバー情報を適宜提供するという仕組みにしました。

今回のバージョンアップによってブロックの使い方が変わるわけではありませんが,強いて違いを書くなら,マスターキーによって裏側のデータ保存先が変わったり,遅延設定で動作にかかる時間に違いが出るなどがあります。

ご自身がFirebase向けのプログラミングをされるのであれば,他のWebサービスなどとの連係システムを独自に開発することもできます。

中学校では,技術・家庭科の技術分野で〔情報の技術〕を内容として扱うことになっており,その中に「ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」という学習事項があります。

この学習事項に関する実践事例が,いま急ピッチで蓄積されようとしています。

中学校技術・家庭科(技術分野)内容「D 情報の技術」研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_00617.html
オンライン講座「中学校技術・家庭科 D情報の技術 -授業実践の手引き-」
https://www.sainou.or.jp/senseimanabi/course/211221.html
2021年度 第5回オンライン授業に関するJMOOCワークショップ 「中学校技術・家庭科 D情報の技術におけるプログラミングの指導」
https://www.jmooc.jp/workshop20220322/
ねそプロ - ネットワークを利用した双方向性のあるコンテンツのプログラミング
http://iwate-manabi-net.sakura.ne.jp/nesopuro/
プログル技術
https://middle.proguru.jp/
中学校技術「利便性と安全性に配慮した双方向性のあるコンテンツ」 - TeReP(集まれ!プログラミング教材データベース)
https://terep.hiroshima-u.ac.jp/technology/298/
開隆堂「ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題解決」
https://www.kairyudo.co.jp/contents/02_chu/gijutsu/r3/r3gi-souhoukou.pdf
20181220「「ネットワーク」に「双方向」!? 倍増するプログラミングの学習内容に中学校の現場はどう対応するのか」(こどもとIT)
https://www.watch.impress.co.jp/kodomo_it/news/1159054.html

様々なアプローチが出てくることで,それぞれの学校の事情や実態に合わせて事例を参照することがしやすくなります。

ナンバーバンクもそのためのツールの一つになればよいなと思います。

ちなみに,Scratchから制御できる低価格な拡張ボード「AkaDako」でも活用事例の中でご利用いただいているので,いろんなフィジカルツールとの組合せも増えていくと楽しいなと思います。

構想はずいぶん前から描いていましたが,3月あたりから始めて,週末休みや連休はほぼ開発作業でした。おかげで何とか形にはなりました。いまは少し休憩。

次はもう一つの拡張機能であるパソリッチ(PaSoRich)もICカードリーダーの新型に対応する必要があるので,少しずつ作業を始めたいと考えています。

いろいろフィードバックいただけると嬉しいです。よろしくお願いします。

学習指導要領とプログラミング

小学校学習指導要領(2017年改訂)

(第1章 総則 第2の2)
    (1) 各学校においては,児童の発達の段階を考慮し,言語能力,情報活用能力(情報モラルを含む。),問題発見・解決能力等の学習の基盤となる資質・能力を育成していくことができるよう,各教科等の特質を生かし,教科等横断的な視点から教育課程の編成を図るものとする。
(第1章 総則 第3の1) 主体的・対話的で深い学びの実現に向けた授業改善 各教科等の指導に当たっては,次の事項に配慮するものとする。
    (1) 第1の3の(1)から(3)までに示すことが偏りなく実現されるよう,単元や題材など内容や時間のまとまりを見通しながら,児童の主体的・対話的で深い学びの実現に向けた授業改善を行うこと。 特に,各教科等において身に付けた知識及び技能を活用したり,思考力,判断力,表現力等や学びに向かう力,人間性等を発揮させたりして,学習の対象となる物事を捉え思考することにより,各教科等の特質に応じた物事を捉える視点や考え方(以下「見方・考え方」という。)が鍛えられていくことに留意し,児童が各教科等の特質に応じた見方・考え方を働かせながら,知識を相互に関連付けてより深く理解したり,情報を精査して考えを形成したり,問題を見いだして解決策を考えたり,思いや考えを基に創造したりすることに向かう過程を重視した学習の充実を図ること。
    (2) 第2の2の(1)に示す言語能力の育成を図るため,各学校において必要な言語環境を整えるとともに,国語科を要としつつ各教科等の特質に応じて,児童の言語活動を充実すること。あわせて,(7)に示すとおり読書活動を充実すること。
    (3) 第2の2の(1)に示す情報活用能力の育成を図るため,各学校において,コンピュータや情報通信ネットワークなどの情報手段を活用するために必要な環境を整え,これらを適切に活用した学習活動の充実を図ること。また,各種の統計資料や新聞,視聴覚教材や教育機器などの教材・教具の適切な活用を図ること。 あわせて,各教科等の特質に応じて,次の学習活動を計画的に実施すること。
     ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
     イ 児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動
    (4) 児童が学習の見通しを立てたり学習したことを振り返ったりする活動を,計画的に取り入れるように工夫すること。
    (5) 児童が生命の有限性や自然の大切さ,主体的に挑戦してみることや多様な他者と協働することの重要性などを実感しながら理解することができるよう,各教科等の特質に応じた体験活動を重視し,家庭や地域社会と連携しつつ体系的・継続的に実施できるよう工夫すること。
    (6) 児童が自ら学習課題や学習活動を選択する機会を設けるなど,児童の興味・関心を生かした自主的,自発的な学習が促されるよう工夫すること。
    (7) 学校図書館を計画的に利用しその機能の活用を図り,児童の主体的・対話的で深い学びの実現に向けた授業改善に生かすとともに,児童の自主的,自発的な学習活動や読書活動を充実すること。また,地域の図書館や博物館,美術館,劇場,音楽堂等の施設の活用を積極的に図り,資料を活用した情報の収集や鑑賞等の学習活動を充実すること。
(第2章 各教科 第3節 算数) (第3の2) 第2の内容の取扱いについては,次の事項に配慮するものとする。
    (1) 思考力,判断力,表現力等を育成するため,各学年の内容の指導に当たっては,具体物,図,言葉,数,式,表,グラフなどを用いて考えたり,説明したり,互いに自分の考えを表現し伝え合ったり,学び合ったり,高め合ったりするなどの学習活動を積極的に取り入れるようにすること。
    (2) 数量や図形についての感覚を豊かにしたり,表やグラフを用いて表現する力を高めたりするなどのため,必要な場面においてコンピュータなどを適切に活用すること。また, 第1章総則の第3の1の(3)のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には,児童の負担に配慮しつつ,例えば第2の各学年の内容の〔第5学年〕の「B図形」の(1)における正多角形の作図を行う学習に関連して,正確な繰り返し作業を行う必要があり,更に一部を変えることでいろいろな正多角形を同様に考えることができる場面などで取り扱うこと。
    (3) 各領域の指導に当たっては,具体物を操作したり,日常の事象を観察したり,児童にとって身近な算数の問題を解決したりするなどの具体的な体験を伴う学習を通して,数量や図形について実感を伴った理解をしたり,算数を学ぶ意義を実感したりする機会を設けること。
(略) (第2章 各教科 第4節 理科) (第3の2) 第2の内容の取扱いについては,次の事項に配慮するものとする。
    (1) 問題を見いだし,予想や仮説,観察,実験などの方法について考えたり説明したりする学習活動,観察,実験の結果を整理し考察する学習活動,科学的な言葉や概念を使用して考えたり説明したりする学習活動などを重視することによって,言語活動が充実するようにすること。
    (2) 観察,実験などの指導に当たっては,指導内容に応じてコンピュータや情報通信ネットワークなどを適切に活用できるようにすること。また,第1章総則の第3の1の(3)のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には,児童の負担に配慮しつつ,例えば第2の各学年の内容の〔第6学年〕の「A物質・エネルギー」の(4)における電気の性質や働きを利用した道具があることを捉える学習など,与えた条件に応じて動作していることを考察し,更に条件を変えることにより,動作が変化することについて考える場面で取り扱うものとする
(略) (第5章 総合的な学習の時間 第3 指導計画の作成と内容の取扱い) 2 第2の内容の取扱いについては,次の事項に配慮するものとする。
    (9) 情報に関する学習を行う際には,探究的な学習に取り組むことを通して,情報を収集・整理・発信したり,情報が日常生活や社会に与える影響を考えたりするなどの学習活動が行われるようにすること。第1章総則の第3の1の(3)のイに掲げるプログラミングを体験しながら論理的思考力を身に付けるための学習活動を行う場合には,プログラミングを体験することが,探究的な学習の過程に適切に位置付くようにすること。

中学校学習指導要領

第8節 技術・家庭
(第2〔技術分野〕の2) 内容
D 情報の技術
    (1) 生活や社会を支える情報の技術について調べる活動などを通して,次の事項を身に付けることができるよう指導する。
    ア 情報の表現,記録,計算,通信の特性等の原理・法則と,情報のデジタル化や処理の自動化,システム化,情報セキュリティ等に関わる基礎的な技術の仕組み及び情報モラルの必要性について理解すること。
    イ 技術に込められた問題解決の工夫について考えること。
    (2) 生活や社会における問題を,ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動を通して,次の事項を身に付けることができるよう指導する。
    ア 情報通信ネットワークの構成と,情報を利用するための基本的な仕組みを理解し,安全・適切なプログラムの制作,動作の確認及びデバッグ等ができること。
    イ 問題を見いだして課題を設定し,使用するメディアを複合する方法とその効果的な利用方法等を構想して情報処理の手順を具体化するとともに,制作の過程や結果の評価,改善及び修正について考えること。
    (3) 生活や社会における問題を,計測・制御のプログラミングによって解決する活動を通して,次の事項を身に付けることができるよう指導する。
    ア 計測・制御システムの仕組みを理解し,安全・適切なプログラムの制作,動作の確認及びデバッグ等ができること。
    イ 問題を見いだして課題を設定し,入出力されるデータの流れを元に計測・制御システムを構想して情報処理の手順を具体化するとともに,制作の過程や結果の評価,改善及び修正について考えること。
    (4) これからの社会の発展と情報の技術の在り方を考える活動などを通して,次の事項を身に付けることができるよう指導する。
    ア 生活や社会,環境との関わりを踏まえて,技術の概念を理解すること。
    イ 技術を評価し,適切な選択と管理・運用の在り方や,新たな発想に基づく改良と応用について考えること。
(第2の3) 内容の取り扱い
    (4) 内容の「D情報の技術」については,次のとおり取り扱うものとする。
    ア (1)については,情報のデジタル化の方法と情報の量,著作権を含めた知的財産権,発信した情報に対する責任,及び社会におけるサイバーセキュリティが重要であることについても扱うこと。
    イ (2)については,コンテンツに用いる各種メディアの基本的な特徴や,個人情報の保護の必要性についても扱うこと。
    (5) 各内容における(1)については,次のとおり取り扱うものとする。
    ア アで取り上げる原理や法則に関しては,関係する教科との連携を図ること。
    イ イでは,社会からの要求,安全性,環境負荷や経済性などに着目し,技術が最適化されてきたことに気付かせること。
    ウ 第1学年の最初に扱う内容では,3年間の技術分野の学習の見通しを立てさせるために,内容の「A材料と加工の技術」から「D情報の技術」までに示す技術について触れること。
    (6) 各内容における(2)及び内容の「D情報の技術」の(3)については,次のとおり取り扱うものとする。
    ア イでは,各内容の(1)のイで気付かせた見方・考え方により問題を見いだして課題を設定し,自分なりの解決策を構想させること。
    イ 知的財産を創造,保護及び活用しようとする態度,技術に関わる倫理観,並びに他者と協働して粘り強く物事を前に進める態度を養うことを目指すこと。
    ウ 第3学年で取り上げる内容では,これまでの学習を踏まえた統合的な問題について扱うこと。
    エ 製作・制作・育成場面で使用する工具・機器や材料等については,図画工作科等の学習経験を踏まえるとともに,安全や健康に十分に配慮して選択すること。
    (7) 内容の「A材料と加工の技術」,「B生物育成の技術」,「Cエネルギー変換の技術」の(3)及び内容の「D情報の技術」の(4)については,技術が生活の向上や産業の継承と発展,資源やエネルギーの有効利用,自然環境の保全等に貢献していることについても扱うものとする。

高等学校学習指導要領

第2章 各学科に共通する各教科
第10節 情報
第2款 各科目
第1 情報Ⅰ
(第1〔情報Ⅰ〕の2) 内容
    (3) コンピュータとプログラミング コンピュータで情報が処理される仕組みに着目し,プログラミングやシミュレーションによって問題を発見・解決する活動を通して,次の事項を身に付けることができるよう指導する。
    ア 次のような知識及び技能を身に付けること。
    (ア) コンピュータや外部装置の仕組みや特徴,コンピュータでの情報の内部表現と計算に関する限界について理解すること。
    (イ) アルゴリズムを表現する手段,プログラミングによってコンピュータや情報通信ネットワークを活用する方法について理解し技能を身に付けること。
    (ウ) 社会や自然などにおける事象をモデル化する方法,シミュレーションを通してモデルを評価し改善する方法について理解すること。
    イ 次のような思考力,判断力,表現力等を身に付けること。
    (ア) コンピュータで扱われる情報の特徴とコンピュータの能力との関係について考察すること。
    (イ) 目的に応じたアルゴリズムを考え適切な方法で表現し,プログラミングによりコンピュータや情報通信ネットワークを活用するとともに,その過程を評価し改善すること。
    (ウ) 目的に応じたモデル化やシミュレーションを適切に行うとともに,その結果を踏まえて問題の適切な解決方法を考えること
(第1〔情報Ⅰ〕の3) 内容の取扱い
    (4) 内容の(3)のアの(イ)及びイの(イ)については,関数の定義・使用によりプログラムの構造を整理するとともに,性能を改善する工夫の必要性についても触れるものとする。アの(ウ)及びイの(ウ)については,コンピュータを使う場合と使わない場合の双方を体験させるとともに,モデルの違いによって結果に違いが出ることについても触れるものとする。
第2 情報Ⅱ (第2〔情報Ⅱ〕の2) 内容
    (4) 情報システムとプログラミング  情報システムの在り方や社会生活に及ぼす影響,情報の流れや処理の仕組みに着目し,情報システムを協働して開発する活動を通して,次の事項を身に付けることができるよう指導する。
    ア 次のような知識及び技能を身に付けること。
    (ア) 情報システムにおける,情報の流れや処理の仕組み,情報セキュリティを確保する方法や技術について理解すること。
    (イ) 情報システムの設計を表記する方法,設計,実装,テスト,運用等のソフトウェア開発のプロセスとプロジェクト・マネジメントについて理解すること。
    (ウ) 情報システムを構成するプログラムを制作する方法について理解し技能を身に付けること。
    イ 次のような思考力,判断力,表現力等を身に付けること。
    (ア) 情報システム及びそれによって提供されるサービスについて,その在り方や社会に果たす役割と及ぼす影響について考察すること。
    (イ) 情報システムをいくつかの機能単位に分割して制作し統合するなど,開発の効率や運用の利便性などに配慮して設計すること。
    (ウ) 情報システムを構成するプログラムを制作し,その過程を評価し改善すること。
(第2〔情報Ⅱ〕の3) 内容の取扱い
    (4) 内容の(4)のアの(ア)及びイの(ア)については,社会の中で実際に稼働している情報システムを取り上げ,それらの仕組みと関連させながら扱うものとする。
第3款 各科目にわたる指導計画の作成と内容の取扱い 2 内容の取扱いに当たっては,次の事項に配慮するものとする。
    (1) 各科目の指導においては,情報の信頼性や信憑性を見極めたり確保したりする能力の育成を図るとともに,知的財産や個人情報の保護と活用をはじめ,科学的な理解に基づく情報モラルの育成を図ること。
    (2) 各科目の指導においては,思考力,判断力,表現力等を育成するため, 情報と情報技術を活用した問題の発見・解決を行う過程において,自らの考察や解釈,概念等を論理的に説明したり記述したりするなどの言語活動の充実を図ること。
    (3) 各科目の指導においては,問題を発見し,設計,制作,実行し,その過程を振り返って評価し改善するなどの一連の過程に取り組むことなどを通して,実践的な能力と態度の育成を図ること。
    (4) 各科目の目標及び内容等に即して,コンピュータや情報通信ネットワークなどを活用した実習を積極的に取り入れること。その際,必要な情報機器やネットワーク環境を整えるとともに,内容のまとまりや学習活動,学校や生徒の実態に応じて,適切なソフトウェア,開発環境,プログラミング言語,外部装置などを選択すること。
    (5) 情報機器を活用した学習を行うに当たっては,照明やコンピュータの使用時間などに留意するとともに,生徒が自らの健康に留意し望ましい習慣を身に付けることができるよう配慮すること。
    (6) 授業で扱う具体例,教材・教具などについては,情報技術の進展に対応して適宜見直しを図ること。

小学校家庭科[消費生活・環境]とプログラミング教育

(前段が長いので本題を先に…)

家庭科領域「消費生活・環境」が,コンピュータと深く結びついている。

この着想から得られる成果は,想像以上に多くあります。私たちの消費活動や生活環境をコンピュータが支えている場面は実に多種多様だからです。

どうも多くの研究者や関係者,文部科学省の教科調査官までもが,家電製品の中のコンピュータや料理・調理の段取りをプログラミングに見立てるという,衣食住領域の認識で止まっているようですが,むしろ私たちの消費生活・環境のほとんどが,コンピュータを基盤として展開していると言った方がより実際的です。

たとえば,私たちの銀行預金は,ほとんどオンラインで処理されています。店頭での買い物支払いのために現金を手にしている部分は,お金が動く全体の中のほんのわずかです。

その現金を下ろす際に私たちが使っているのはATMというコンピュータですし,身近な買い物先であるコンビニエンス・ストアの店長さんがにらめっこしているのは,POSシステムというコンピュータの画面です。

小売りの世界や,その後ろで展開する流通・物流の世界も,コンピュータの管理なしには今日の利便性を支えられなくなっています。それはビジネス活動全般においてもいえることでしょう。

私たちが物選びや買い方を理解するために使用するのは,インターネットであることがほとんどですし,その際に気にする割引やポイントなどを管理しているのもコンピュータです。

そして,徐々にではありますが,キャッシュレス決済が普及しています。

大きな都市であれば,交通機関で利用する支払いはかざすICカードとなっています。コンビニ等での支払いもおサイフケータイやQRコード決済が盛り上がりを見せつつあります。それらはすべてコンピュータが働いているからこそ為せる技です。

家庭科の「消費生活・環境」領域が対象とする世界が,これほどにコンピュータ基盤を前提としたものであるのに,今回の学習指導要領で,家庭科は身を潜めてしまったように思われます。

そこで「例示されてはいないが,学習指導要領に示される各教科等の内容を指導する中で実施する」分類として家庭科「消費生活・環境」の何か教材を考えてみようというわけです。

さきほど書いたように,キャッシュレス決済が身近になりつつあります。

ICカードやQRコードを利用して支払いを済ませてしまうものです。最近では,経済産業省と一般社団法人キャッシュレス推進協議会が「キャッシュレス・ウィーク」というキャンペーンをしていました。

2020年の東京オリンピックで来日する海外旅行者等も見据えて,キャッシュレス決済を全国的に早急に普及させていきたいと目論んでいるわけです。

そうでなくとも,交通系ICカードを利用している地域は,ほぼ生活必需品になっているだろうと思います。

このような「電子決済」の仕組みやそこでの消費者の役割について,学校の家庭科授業で「実践的・体験的な活動を通して」学習する教材は出来ないか。

「まさか学校の授業で電子マネーをピッとすることは出来ないし…」

いや,出来るようにしましょう。

というわけで,長い前置きとともにこれから目論もうとしているのは,非接触型ICカードを学校に持ち込んで,そのような技術を利用した教材を開発しようという試みです。

ビジュアル言語と分類されているScratchで非接触型ICカードリーダーであるSONYのRC-S380(商品名PaSoRi)を使えるようにしました。

広く利用されているICカードであれば,かざして識別番号を読み取ることが出来ます。
(電子音とともにネコちゃんに吹き出しが出ているのが,その番号です。)

これを使って,ICカードを組み合わせたプログラムを組むことが出来ます。たとえば,お買い物プログラムを組んでICカードの支払いを疑似体験できます。

そのとき,使いすぎや,お金が電子的に移動すること,割引やポイントがたまること,不正が発生する危険性さえ問いかけることが出来ます。

こうした学習をベースに,総合的な学習の時間と連携して,社会の中のICカードやアカウントの在り方を考える学習活動を計画することも出来ますし,学校生活の中にICカードを利用するという実利的な活動にも結びつけることが可能かも知れません。

ICカードやアカウントという概念がもたらす消費生活や環境との関係性を体系的に組み立てることによって,現実社会の中でのコンピュータやプログラム,そしてプログラミングについて理解を深められるのではないか。

この方が筋がいいのではないかと私自身は考えています。

というわけで,ICカードリーダーさえ用意できれば,簡単に試すことが出来ますので,まずは体験してみてください。あとはアイデアです。

ICカードリーダーが使えるScratch 3.0体験サイト
https://con3office.github.io/scratch-gui/
拡張機能「PaSoRich」について
https://con3office.github.io/pasorich/
PaSoRich デモプログラム for Scratch 3.0
https://github.com/con3office/pasorich/tree/master/demo-projects

==

(長かったので前段をここから…)

==

平成29年と平成30年に改訂された小中高の学習指導要領。

全体として大きな転換を盛り込んだ改訂となったわけですが,プログラミング教育に関していえば小中高を通して体験と学習が位置づけられた初めての改訂といえます。

小学校では既存の教科に埋め込まれる形で体験し,中学校では技術・家庭科の中の技術分野で課題解決手段として学習し,高等学校では必履修科目の共通教科「情報Ⅰ」でコンピュータの本質を理解するためプログラミングを学ぶといった形です。

しかし,これらは体系的に組まれたというよりは,それぞれの学校種で触れる機会が用意されたという段階に過ぎず,プログラミング教育というよりも情報活用能力の育成として,どうしていくかが重要視されています。

あらためてプログラミング教育を扱える枠について考えてみます。

「情報」という共通教科や専門教科の枠がある高等学校はさて置くとして,小学校と中学校はプログラミングを扱う枠が十分確保されているとは言えません。

小学校は,独立した教科枠は無く,既存教科の中で,その教科の「見方・考え方」を生かした形でプログラミングを取り入れられればというスタンスです。

中学校は,技術・家庭科という教科枠がありますが,その中の「技術分野」に対する扱いは決して望ましい形にありません。どちらかといえば時間枠的にも環境的にも苦しくなっているのが現実です。

学習指導要領の改訂検討の際,技術・家庭科を担当したのは教育課程部会「家庭、技術・家庭ワーキンググループ」でしたが,ここが「小中高を通じて」と言及するときの言い方は「小学校家庭科、中学校技術・ 家庭科家庭分野、高等学校家庭科を通じて」というのが基本となっています。

「技術分野」を無視しているわけではないとしても,形式上は,「家庭分野」は小中高を貫いた形をしているのに対して,「技術分野」は小中高を貫いた形とはなっておらず,中学だけの孤軍奮闘状態なのです。

つまり,プログラミング教育を受け止める土台がそもそも,覚束ないのです。

それでも,小学校の先生方は,例示された「算数」「理科」「総合的な学習」で,プログラミング体験を取り入れようと努力されています。

令和元年5月21日に公表された「小学校プログラミング教育に関する研修教材」は,映像教材も付いているので,そうしたリソースを参考にして,学校の既存教科の中で利用できそうな機会を発掘していくということになりそうです。

中学校の技術の先生方も,少ない時間ながら従来の「計測・制御」の内容をベースに充実を図りながら,ネットワークを利用した双方向性のあるコンテンツのプログラミングにも挑戦することになります。

決まってしまったことに従うのは必要としても,一方で,これ,筋が悪すぎやしないか。

そう問うことも同時並行しなければなりません。根本的な問題が何かという問いと,現実問題として取れる代替案は何かという問いなどです。

そもそもを言えば,日本における技術教育の体系化や新技術に対応するための充実化が,まったく為されてこなかった問題があります。それが新たな教育課題である「プログラミング教育」を受け止める際の土台の無さにつながっているのです。

つまり「家庭」分野は小中高の体系があるのに,「技術」分野は中のみで体系がない。

(※高校の専門教科には様々な教科がありますが,それらを小中に直結して置くのはなかなか難しい。)

学習指導要領が学校のカリキュラム・マネジメントによって大きく柔軟さを取り入れようとしている方向性の中で,体系を実現しなければならないという課題は,学校の体力勝負にゆだねられて難しさが高まるというジレンマにあります。とはいえもちろん,場合によっては大胆な解決にいたる可能性もあるとは思いますが。

根本的な問題の打開に至る前に,現実問題としてどんな代替案が考えられるのか。

少しでも筋がよさそうなものを見つけ出す必要があります。

そこで,技術分野に体系的な連なりがないならば,体系的な連なりを持つ家庭分野にその場所を確保するのはどうか。

「家庭分野もただでさえ現在の内容で手いっぱいなのだから,プログラミングを持ち込まれても困る」というのが率直な反応だろうと容易に想像できそうですが,検討する価値はあるアイデアだと考えます。

なぜなら「消費生活・環境」という家庭科領域が,コンピュータと深く結びつくからです。

小学校学習指導要領「家庭」

C 消費生活・環境
次の(1)及び(2)の項目について,課題をもって,持続可能な社会の構築に向けて身近な消費生活と環境を考え,工夫する活動を通して,次の事項を身に付けることができるよう指導する。
(1)物や金銭の使い方と買物
ア 次のような知識及び技能を身に付けること。
(ア)買物の仕組みや消費者の役割が分かり,物や金銭の大切さと計画的な使い方について理解すること。
(イ)身近な物の選び方,買い方を理解し,購入するために必要な情報の収集・整理が適切にできること。
イ 購入に必要な情報を活用し,身近な物の選び方,買い方を考え,工夫すること。
(2)環境に配慮した生活
ア 自分の生活と身近な環境との関わりや環境に配慮した物の使い方などについて理解すること。
イ 環境に配慮した生活について物の使い方などを考え,工夫すること。

中学校学習指導要領「技術・家庭科」家庭分野

C 消費生活・環境
次の(1)から(3)までの項目について,課題をもって,持続可能な社会の構築に向けて考え,工夫する活動を通して,次の事項を身に付けることができるよう指導する。
(1)金銭の管理と購入
ア 次のような知識及び技能を身に付けること。
(ア)購入方法や支払い方法の特徴が分かり,計画的な金銭管理の必要性について理解すること。
(イ)売買契約の仕組み,消費者被害の背景とその対応について理解し,物資・サービスの選択に必要な情報の収集・整理が適切にできること。
イ 物資・サービスの選択に必要な情報を活用して購入について考え,工夫すること。
(2)消費者の権利と責任
ア 消費者の基本的な権利と責任,自分や家族の消費生活が環境や社会に及ぼす影響について理解すること。
イ 身近な消費生活について,自立した消費者としての責任ある消費行動を考え,工夫すること。
(3)消費生活・環境についての課題と実践
ア 自分や家族の消費生活の中から問題を見いだして課題を設定し,その解決に向けて環境に配慮した消費生活を考え,計画を立てて実践できること。

高等学校学習指導要領「家庭」家庭基礎

C 持続可能な消費生活・環境
次の(1)から(3)までの項目について,持続可能な社会を構築するために実践的・体験的な学習活動を通して,次の事項を身に付けることができるよう指導する。
(1)生活における経済の計画
ア 家計の構造や生活における経済と社会との関わり,家計管理について理解すること。
イ 生涯を見通した生活における経済の管理や計画の重要性について,ライフステージや社会保障制度などと関連付けて考察すること。
(2)消費行動と意思決定
ア 消費者の権利と責任を自覚して行動できるよう消費生活の現状と課題,消費行動における意思決定や契約の重要性,消費者保護の仕組みについて理解するとともに,生活情報を適切に収集・整理できること。
イ 自立した消費者として,生活情報を活用し,適切な意思決定に基づいて行動することや責任ある消費について考察し,工夫すること。
(3)持続可能なライフスタイルと環境
ア 生活と環境との関わりや持続可能な消費について理解するとともに,持続可能な社会へ参画することの意義について理解すること。
イ 持続可能な社会を目指して主体的に行動できるよう,安全で安心な生活と消費について考察し,ライフスタイルを工夫すること。