よむよむシリーズ第うん段。
若年層に対するプログラミング教育の普及推進に向けた調査研究報告書
平成29年7月 株式会社 電通 総務省 情報流通行政局 情報流通振興課情報活用支援室
http://www.soumu.go.jp/main_sosiki/joho_tsusin/kyouiku_joho-ka/jakunensou.html
調査報告書とあるけれども、実施後のアンケートを纏めたものなので、この手の資料をさらにエッセンスにするのはしんどいね。調査報告書というよりは、助成金絡みの実証実験の実施報告書。
元ネタは全国11ブロック11団体により行われた、クラウド利用型プログラミング教育実施モデル実証。 調査研究報告書の中ではこれの実施期間が書かれてないのだけれども、「平成28年度第2次補正予算 公開講座の日程」資料を見る限り、平成29年(2017年)の7~11月頃に開催されたものについてのの模様。
図表 2-1 プログラミング講座の流れと本書参考箇所
少し冗長な報告書だったので、項目の順序等は入れ替えたりなんだりした。
実施モデルの検討
実施モデル検討におけるポイント
地域や教育委員会・学校との連携 地域性(地域の特産や伝統)を考慮したテーマ、カリキュラムに
各授業がどのように開催されたのかがここではなく、詳細は読み取れなかった。ポイントであげられている項目をみると教える側の都合であり、これ教育のモデルじゃないよね。
メンター育成
・プログラミングスキル以上に子供との接し方やファシリテーションスキルを重視した
・地域に根ざした指導者(メンター)を育成し、教育ノウハウを伝える ・基礎的なプログラミングスキルと子供への接し方に関する知識が必要最低限のスキル
プログラミングスキルなしでも、子供への接し方に慣れている人が優先されたようだ。
必要最低限という言葉に現されているように、できる子は放置しがちな日本の教育姿勢が伺える。 だが、プログラミングとか論理思考に適正がある人というのは出現割合がすくないので、十把一絡げの教育とは一緒にしないほうがいいように思う。これではとんがった才能を持つ子が潰されてしまう。
トップノッチを育てるなら初期メンターにもせめてもマジシャン級ぐらいにはアクセスできるパスは儲けておくべきだ。
実施環境の準備
学校のPCはソフトウェアの追加インストールが困難な場合が多い。
実行環境をインストールしたPCを別途持ち込んだケース/…/端末の調達・持ち込みには大きなコストが発生するため、ScratchやHour of Code等のブラウザベースで動作する教材の利用や、実証環境をインストールしたUSBスティックタイプPCを持ち込む
プログラミングに熟達した人でも実行環境を整えるまではしんどかったりする。だからDockerとか、最近だとKubernetesがはやったりするのだろうけども、公教育だといろんなリソースの問題で難しいかもしれない。
ここでも全員がハイスペックのマシンである必要はなくて、低スペックでもいいんだけれども、芽が出つつある子を足並み揃えるためにロースペックに縛るような真似はしてほしくない。BYOD(Bring your own device )がんばってほしいですね。
メンターの確保
モチベーションの向上方法としては、メンター同士の横連携の促進や、活動へのインセンティブとして最低限の報酬の支払い、大学単位の認定、インターン制度の活用、公的機関によるメンターの認定制度等が考えられる
これって労働の衛生環境であって、内発的なモチベーションに関わる部分じゃないよね・・・。 まあ役務労働に近いから甘い言葉で誘って徴用するなら、労働環境も整える必要があるとは思う。 つか、「最低限の報酬」とあるけれども、なんで最低限なの? なんでも機運の情勢でやりがい搾取、安く済まそうとする風潮よくないよね。 効果効用を明確にして、つけるところには予算確保して継続的なしくみにしないと。
地域でプログラミング教育を継続する際に必要とされる機能・人材
継続的に地域のプログラミング教育をサポートする人材・団体 地域の小中学校の授業をサポートする人材 地域で発展的なプログラミングを学習できる場を提供する人材・団体
これ今までの白書でも書かれてたけれども、これ「不足する人材」だ。 いないもんそんな人。ないものねだり。 いてもこんな状況で手なんてあげようものなら使い潰されるだけだから隠れるよね。
メンターに必要とされるスキル・ノウハウ
図表 3-2 メンターに求められるスキルのイメージ
ふふ。「不足する人材」だね。スーパーマン信仰かな。ひとりに全部をもとめるのはやめよう。
メンター研修
本実証で育成されたメンターのうち、プログラマーやプログラミング経験者は1/3程度であり、半数近くはプログラミング未経験者であった。
図表 3-6 研修受講前のメンターのプログラミングスキル
図表 3-7 研修受講前のメンターの教育経験
教育関係者が優先された図。ここ難しいよね。
各実証地域におけるプログラミング教育講座の概要
教材
Scratch(スクラッチ) レゴWeDo 2.0 National Instruments「LabVIEW」(ビジュアル言語) python(テキスト言語) 教育版レゴ マインドストームEV3(ロボット) Ozobot(ロボット) OzoBlockly(ビジュアル言語) ScratchX(ビジュアル言語) AruduinoX(サーボモーター) Audiuno(テキスト言語) アーテックロボ(ロボット) GLICODE(お菓子を用いるプログラミング体験ツール) Hour of Code(ビジュアル言語) ルビィのぼうけん(アンプラグド) Swift、Xcode(iphoneアプリ開発) Gamesalad(テキスト言語) HTML/CSS、Brackets・Mozer(テキスト言語)
・・・。テキスト言語ってなんだろう・・・・?? すごいな「テキスト言語」とかでググると教育界隈がいくつもでてくる。 はっ!もしかしてスクリプト言語のことか!!?
スクラッチはスクラッチなんだな。ブロック言語とかじゃないのか。 アンプラグドってなんじゃらほい?エリック・クラプトンか?プラグインじゃなくて仮想環境で動くなにかかな?あれ、ルビィのぼうけんって、北欧の女の人が作ったやつじゃなかったっけ? Swiftとかはiphoneアプリ開発になっちゃうのな。 不思議分類。実施者の自己申告かな?なんだろうこれ。
小学生ならScratch一択かな。
お金のある家庭で小学校高学年から中学生なら教育版レゴ マインドストーム。 レゴはすでに国際的な教育プログラムを確立しているので、STEMとかチームビルド、プレゼンテーションまで学べるので超英才教育向けにいいと思う。何回か国際優勝したチームの某監督にだいぶ吹き込まれてるので、中立的な見方ができてないかもしれないけれど。 それより上で興味があれば、AIとかにまでタッチしうるpythonとかその他の「テキスト言語」でいいんじゃねぇのと。
unityとかを採用したところはないんだな?なんでだろう。今の中高生とかならunityスタートのほうがいいと思うのだが。
スペック重すぎ問題かな?サンプルコンパイルしただけで実行ファイルG単位だもんな。
自分だったらhtml5あたりで、UserMediaつかってカメラとか音声弄らせるかな。ブラウザ動くぐらいの実行環境でいいし、使うのもJavascript+html/cssぐらいだし。 ま、ブラウザの仕様変更ですぐ動かなくなるけれども。 まあ、そういうしちめんどくさい環境の部分は内包しておいてくれるのがScratchだからやっぱScratchでいいんじゃないの。
教育理念
物事を創りだす楽しさ 「ものづくり」に対する興味の増進を促す 「ものづくり」を通じて自分の特性を知り、自分の能力を伸ばす
気になったのはこれ。 ものづくりとかがあって、なんか「うげぇ」とおもった。高度成長期の亡霊だ。 「ものづくり」と「プログラミング教育」は混同すべきではない。ものづくりの評価尺度ではプログラミングを評価できないからだ。 ものづくりを絡めてしまうと「アルゴリズム」などの不定形、アウトプットが目に見えないものないものが評価できない。
信越 (スタープログラミング) プログラミング教育を手段として、子供たちの学び合いをベースに、以下の5つの資質・能力を身についけることを目標とした。
-創造力・イノベーション -論理的思考力 -問題解決力 -自己肯定感 -プレゼンテーション能力
目標は理念じゃねぇとかいろいろあるかもしれないけれども、教育理念(教育目標)としてはこれが妥当なのではないか。 プログラミングはものづくりじゃなくて、仕組みづくりだからね。思考力や解決力をアウトプットされた製品(ガワ)でみるべきではないよね。
プログラミング教育講座に関するアンケート結果ピックアップ
図表 4-4 受講者の講座満足度
【受講者】Q2.1 プログラミングは楽しかったですか?
やたらに高い満足度が92%もある。
今後、プログラミングを続けたいですか?の問いには「今後もプログラミングを続けたい。」が7割もいた。
図表 4-6 保護者が希望するプログラミング講座の形式
【保護者】Q3.2 引き続きプログラミングを学ばせるとしたらどのような形式が良いと思いますか?
学校の授業として実施して欲しい。:放課後教室やクラブ活動として実施して欲しい。
6:4と割れている。なんとなく察せられるが興味深い。
子供の変化
(1) 21世紀型能力について
プログラミング教育には、21世紀型能力の向上に寄与すると期待されている。
・・・21世紀型能力? 唐突にでてくる21世紀型能力。21世紀型能力の説明はない。一般常識なのかな?
図表 4-10 プログラムを修正する際の動き
こんなん大人でも何をどういう風に修正するかで対応が違うので、これを見てもなにも言えないなと思った。 周りの人に聞いてばかりでは伸びないなとも思うけれども、手持ちの情報では解決できないのにまったく聞いてこないとただ無駄な時間を過ごすだけなになるので、聞かないといけないこともある。 パラメーター系の言語なら、細かく修正したほうがいいし、ブロック型なら命令の組み合わせを変えることで解決できることもあろう。設計が未熟ならフルスクラッチで作り直すのも有効。
図表 4-13 ロボット教材利用の有無別、受講者の継続希望割合
いやぁ、ロボット押しだなぁ。 ものを売りつけたいっていう商魂が透けて見える。 そりゃフィジカルコンピューティングのほうが子供は楽しいけどね。こういうのも、全員一律な環境にする必要はないよね。 教える側の都合で、学ぶ対象を制限するのはよくない。参加者のアンケート回答による定性的な評価ばかり。これでは教える側が経験が積めない。
プログラミング教育に関する支援体制等の調査
本調査におけるプログラミング教育とは、「子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むこと」
個人的な考えだけれども、子供のうちはコンピューターを使う必要すらないように思う。
2人ペアになって電話越しとかに相手に指示を伝えて動いてもらうというような指示命令および状態報告だけで、たぶん詰まるだろうし、楽しいんじゃないかな。 おもうように動かない相手のみが持つ不完全情報を制御しながら、目的を達するって多分大人でもなかなかできないよね。確かNASAの宇宙飛行士訓練で、片方が地図を持ってみたいなペア研修あるよね。
図表 10-2 プログラミング教育に携わるプレイヤー
この図だと国からの普及促進ってあるけれども、学びたいという子供からの欲求をみたしてあげる環境を整える側面も無視していいものではないよね。 プログラミングとかは教授の関係ではなく、flipped learning(反転学習)とかactive learning(能動学習)の要素が強いので、能動的に学びたい欲求を持つ子を放置しない仕組みを強化したほうがいいように思うな。
図 1-15 メンターの職業(N=73)
ほとんど学生。教授に引っ張られたのかな?
図 1-16 プログラミングスキル(N=94)
高度なスキルを持つひとが16%もいるならいいとおもう。
エンジニア志望で職についてても高度なスキルを持つ人そんな割合でいないと思うし。
おまけ、感想
エビデンスベースドラーニング
別件、しつっこくエビデンスベースドラーニングについて引用しておく。
教員は担当教科に関する知識はあるが,教授スキルは経験から獲得する。
EBEは,教育・訓練への教育予算の裏づけ(インプット指標),そして,費用対効果の視点からの政策評価(アウトプット指標)の2つの面で政策プロセスの文脈にかかわるようになる。
https://www.jstage.jst.go.jp/article/johokanri/60/1/60_20/_html/-char/ja
教授スキルを経験からじゃなく定量的に分析できるといいよね。教科書とか教師に依存するのよくない。 今回の若年層プログラミング教育についても、明らかにメンター、教師側の能力に大きく影響をうけるのだけれども、メンター側にプログラミングの経験がないのが恐ろしくてしょうがない。 そのうえ、インプット指標とアウトプット指標をもたないままなんとなく現場におっつけてしまうのはよくないよね。
教育者のキー・コンピテンシーが、横に展開されないままなのはよくない。
コンピテンシー(英: competency)とは、企業などで人材の活用に用いられる手法で、高業績者の行動特性などと訳されている。
特にプログラミングについては動画を使った教材、Mooc的な教材が重要になることだと思う。オープン教育リソース が日本でも充実してくるといいですね。
Scratchで楽しく学ぶ アート&サイエンス
スクラッチスクラッチ言ってたら紹介してという声がきこえた気がした