2020年小学校のプログラミング教育は失敗する。

blog.edunote.jp

「プログラミングをする目的を理科の実験とすることで児童に明確な目的を与えた素晴らしい実践でした。大変に参考になる実践をご紹介いただき、さっそく明日からやってみたいと思います。研究発表ご苦労様でした。」情報教育部会・視聴覚教育部会であればめでたく発表が終わるだろう。プログラミング教育が目的だから。ところが2020年にはプログラミングの授業が始まる……のではない。既存の理科の単元の中にプログラミング学習が挿入されるのである。理科の単元の目的にプログラミング教育が挿入されるわけな。無理じゃね?授業時間が足らなくなる。児童の負担が増え、現場の教員の技量も対応できなくなるのではなかろうか。手段のためには目的を選ばず的なプログラミングをする授業は名人芸にしかならない。

現状でさえ、理科の実験というのは児童・教員の手に余る。単元の目的「○○を理解させる」があって、そのために「実験」をして結果を考察することで、「理解」を促す……はずなのだが。現状は「教科書に書いてある通りの作業をして、予定通りの結果を出す」これが全国津々浦々で繰り返されている。教員には「予定通りの結果を出すため」の準備が求められる。理科が専門ではない小学校教諭にはこれは難しい。Eテレの人はどうやってあんなきれいな結果を出せるのだ。作業員は子供だぞ。教科書通りの測定値がでないとモンスターが襲来する。
実験の結果をきれいに出すにはコンピュータを用いた計測は有効である。シミュレーターならばもっときれいだ。しかし、実験装置をプログラミングするとなると話が違う。ガラス細工をして実験装置を手作りするよりは簡単なんだろうが。プログラミング教育はきっぱり理科の単元からは切り離した方がよい。理科研究部会ならばそう評されるのではないか。コンピュータを計測・記録機器として用いるのはよい。児童は算数の内容を超える作表・グラフ化で七転八倒しているから、プログラムでこれを表示させるのはよいかもしれない。理科の単元の授業時数に「プログラムを設計し入力しデバッグしている余裕はない」

 

2020年小学校のプログラミング教育は失敗するであろう。

コンピュータプログラムを「ワークシート」のように使おう。
あるものは有効活用ということで。

それをプログラミング教育などとは口が裂けても言いたくないが。

 

学校を離れて、能力別に、個別の課題で、プログラミング教育ができたらいいな。

追記

Web USBの仕組みを使って転送させるのであれば、Chromeを入れる必要が出てきます。

これが大変なんだよね。

medium.com

自治体単位での利用規則があって、IE以外のブラウザを導入するのが禁止されてたりすることが多い。「無料のソフトのインストールは禁止」と大雑把にくくってあったり、導入時にインストールするソフトが選定されてたり。

追記 「ぼくのかんがえたさいきょうの○○」

dic.pixiv.net

www.weblio.jp

元ネタは少年ジャンプの読者投稿。「キン肉マン」に読者が考えた超人を登場させようという企画に応募してきた、設定が滅茶苦茶な小学生の投稿である。設定を考察するのも馬鹿らしいくらいにぶっ飛んでる。物理法則どこ行った。

本人が自嘲しているわけだが。 実現可能なので「さいきょう」を名乗るのはまだ早い。
「ぼくがかんがえたさいきょうのmicro:bit超AIが森羅万象を司り、学習者の脳に直接働きかけて学習を書き込む。そう、学習者の脳をプログラミングする教育だ。

 

 

 

 

 

デジタル教科書はなぜ2分の1制限の対象になるのか。

blog.edunote.jp

この文科省の告示は、デジタル教科書の使用を制限するものではないと考えられる。
「教科用図書」とは? 教科用図書 - Wikipedia

教科用図書とは、「検定された教科書」である。で、この制限な、「デジタル教科書の使用」を制限するものなのか?検定教科書以外の教材を用いた授業時間数の制限であって、教科書を使った授業の中で、教科書準拠のワークブック・ドリル・プリントを使うことの制限ではないだろう。副教材は教育委員会に届け出て使用しているし、教員がプリント印刷して使うのも制限はないはずだ。ノートを使う授業は1/2か。理科や社会科で資料集は1/2の時間数しか使えないのか。計算ドリルで補充の練習をするのは制限されるのか。教科書しか使ってはいけないという制限ではない。

学校教育法第三十四条

第三十四条 小学校においては、文部科学大臣の検定を経た教科用図書又は文部科学省が著作の名義を有する教科用図書を使用しなければならない。

② 前項の教科用図書以外の図書その他の教材で、有益適切なものは、これを使用することができる。

これが現行の法令。デジタル教科書を用いた授業を行うとしても、教科用図書に代わるものとして扱うのではない。検定を経た教科用図書に掲載されている教材を学習するために、従来より用いられている副教材の取り扱いとなんらかわらないはずだ。資料集・ワーク・ドリル・ノートの使用は制限されているだろうか。
教科書会社が検定済み教科書に準拠して制作する教科書の使用になにか問題があるのか 

デジタル教科書は、電子的な「資料集・ワークブック」である。なぜか、省令案ではやたら細かく規定してデジタル教材を排除しようとしているのだが。これ教科書の無償供与との絡みなんだろうなぁ。

文部科学省の本音はまったく別のところにあるのではないか。制限されるのは教員が自主選定した教材であろう。

 

 

ローマ字のこと

fukuno.jig.jp

小学校では3年生の国語で「ローマ字」の学習をします。これ昔からです。パソコン・マイコンが出てくるよりもず~っと前から。国語の教科書に載ってるのは「訓令式」です。文部省が学習指導要領などで通達してたのでしょう。ところが、建設省所管の交通機関の看板や外務省のパスボートのローマ字は訓令式じゃなかった。教科書ではヘボン式というのがありますよと紹介はしていた。

キーボードで日本語を入力するのに、ローマ字入力の他にかな入力というのがあります。親指シフトとかもありますけどね。かな入力しているというとなんか……ですが、ローマ字入力ができないわけじゃない。マイコンが世に出る以前に、タイプライターで覚えましたからね。QWERTY配列。ローマ字の知識がありますから、ローマ字入力なんて楽々です。でもJISかな配列を覚えました。もちろんタッチタイプです。マイコンにはカタカナがJIS配列で表示されてて、ローマ字入力なんてなかったから。

パソコンだってかな入力の方がプログラムは簡単なんですね。でもかなの配列は覚えられない。QWERTYの配列は覚えてる。ならばローマ字かな変換プログラムを作ればかな配列覚えなくていいじゃないか。これが史実ですよね。

小学校でもパソコンを教えることになりました。文字入力はどうしましょう。低学年は禁止です。ローマ字は3年生で習います。習っていないことをやってはいけないというのが学校ですからね。キーボードに「ひらがな」が書いてあるのですが、「かな入力」はダメです。スクリーンキーボードの五十音配列も使わせてはいけません。社会に出たらローマ字入力を「しなくてはいけません」英語も必要ですからねって……なにかちがわない?

パソコンのローマ字入力は、訓令式でもヘボン式でもありません。どっちらも使えて今日範囲がさらに広い。ん とか っゃゅょ ぁぃぅぇぉ なんて学校では習いません。長音は表記できる文字がない。促音はプログラマががんばりました。さあパソコンの勉強です。キーボードで文を書きましょう。ローマ字入力の表と首っ引きで100文字書くのに七転八倒タッチタイプは教えません。だって先生がツーフィンガーですからね。「かなキー」を押して楽をしてはいけませんよ。習ってないんですからね。

小学校の1年生で、あいうえおを習うんだから、かな入力をすればワンフィンガーで文字入力できるのにね。配列なんて覚えりゃいいのです。もともとあかさたなはまやらわの順・あいうえおの順に規則性はない。昔の人はいろは順を覚えたし。小学校1年生からかな入力教えればいいのに。

先生がかな配列を覚えられません。じゃあQWERTYタッチタイプができますかっていうと、これもできない。AIUEO KSTNHMYRWGZDBP 覚えるキーは英語より少ないぞ。(英語の入力に必要ってどこいった)かくしてローマ字入力キッズを量産。

もっとも最近はローマ字入力さえ難しいから、フリック入力だ。これ五十音配列だよねぇ。パソコンにもフリック入力キーボードか、タッチパネルでフリック入力か、スマホで文字入力してパソコンに送ればいいんじゃないかなぁ。といいつつスマホは手書き文字入力です。スマホQWERTYローマ字は難しい。フリックだと遅くてイライラ。練習するのに既存の技能がマイナスに働くのな。

 

 

 

プログラマブルシミュレーターを用いるってのがプログラミング教育には適するんじゃなかろうかというお話です。

blog.edunote.jp
写経はもちろん、プログラム言語でプログラムを製作して使うことも、小学校の「プログラミング教育」には適さない。

そもそも理科の単元の中に、無理矢理プログラミングを移植するというのがね。木に竹を接いだような指導案になる。移植手術しても拒否反応で患者が死にます。
「電気」の単元は、電気の知識理解・技能・思考判断を習得させるのが目的なわけで、そのために、現物の回路を教材として使う。電気回路はプログラムです。もしやるとしても「回路シミュレーター」のプログラムを与える。これならば実験の技能を補って確実に理論通りの動作をしてくれるから。しかし、回路シミュレーターのプログラムを児童が入力したり製作したりするのは違うのである。

理科の学習指導要領の内容からは逸脱するが、電気を効率的に利用するための「炊飯シミュレーター」で仮想炊飯器をプログラムするというのは考えられる。家庭科で例示されてるあれじゃない。加熱装置、米・水の計量・投入装置、温度・重量・水量のセンサー、これらを備えた炊飯器を制御して、自動炊飯するプログラムを作る。現実の炊飯器はマシン語マイコンが制御しているが、仮想炊飯器では高級言語を用意する。お前が作れとコメントされそうであるが、さすがに炊飯器は勘弁してほしい。
児童の身近でプログラミングが使われているのが学校のチャイム。昔はテンキーでパターンプログラムを入力した。テンキータッチタイプ職人w。今はパソコンで「1日のパターン」を組んで、月日・曜日でどのパターンを使うかをプログラミングしてる。

社会科になるが、3年か4年で「警察」の仕事を学ぶ。県警本部を見学すると、交通管制センターを見学するだろう。信号の制御やってるんだよね。信号機の側にボックスがあって、その中には制御してるコンピュータが入っている。青・黄・赤の時間制御は制御プログラム(マシン語)に動作プログラム(データ列)を与えて動作している。動作パターンを作るというのはプログラミング的思考の学習になるであろう。

kidspod.club

青・黄・赤、歩行者用の青・赤のLEDをOUT端子に接続して点灯・消灯。
バーコードの制御コマンドを並べてプログラミングする。
制御プログラムは「あってはならない」組み合わせでも動作する。歩行者用信号が青なのに、交差する信号を青にできる。プログラミング的思考大事。できないと一大事。

信号機を画面上に表示するならスクラッチでブロック定義すれば作れるな、これ。

 

追加しましま。

「基本プログラムを渡してしまい,そこからいろいろ改造するのがよい」というブクマがあるのだが、小学校でのプログラミング教育は、既存のプログラミング言語・プログラミングの知識理解・技能は扱わないのある。あくまでも「プログラミング的思考」を習得させることと、「プログラミングに関する関心意欲態度」の育成が目的なんだな。

 

 

プログラミング教育の手引きが改訂されました。

blog.edunote.jp

いまさら改訂について言及してみるテスト
これ、Facebook の プログラミング教育関連のグループでも話題になっていたやつ。
一般的な「プログラミング教育」と小学校で必須化されて、既存の教科・単元の中で行う「プログラミング教育」をきちんと分けて考えないといろいろとおかしなことになるんですよね。

第二版になって大きく変わった点、「プログラムを作成する活動」が公式にやってよいことになりました。第一版だとね、プログラミング言語の知識理解や実際の製作に必要な技能は「教えない」だから、プログラミング言語でプログラムのコードを書くことは「やってはいけない」 「プログラミング的思考」とかいうトンデモ概念が出てきて、それは「論理的な思考」とはなにが違うんだい?ということに。電子機器を購入できない、みんなビンボが悪いんや!的自治体に忖度して、アンプラグドな実践が花盛りでありましたとさ。

 

第二版で追加された事例というか、スクラッチで書かれたプログラム。プログラムを使って学習するから「プログラミング教育」ってわけじゃないんですねぇ。スクラッチのソースを見ると、見えにくいところに、定義されたブロックが隠れています。引数に応じて動作をするブロックで、これをつないでいくと、都道府県を絞り込む「プログラム」とか、炊飯器の動作をシミュレートした「プログラム」を作ることができる。スクラッチのプログラムではなく、スクラッチの上で専用プログラミング言語を作ってるわけ。ここんところ……たぶん学校の先生にも文部科学省のお役人にも理解できないと思う。

都道府県クイズは条件ブロック接続していくと表示される都道府県が絞り込まれていくということでなんとなくプログラミング?この絞り込み用ブロックのできが悪すぎて使いにくいったらありゃしない。絞り込みブロックの定義をしてブロック自体を作っていくんならプログラミング教育として成立するんだろうけど。スクラッチでコードを書くのは難しすぎなので、条件設定に特化したプログラミング言語をスクラッチで書くべき。
接続炊飯器シミュレーターは、米の重量を量るセンサー・自動給水洗米装置・タイマー・温度センサー・火力調整機能をコントロールする「プログラム」を書くシミュレーターにすりゃよかったのにねぇ。実物の炊飯器でプログラム書いてご飯炊くとバグったら食えないし最悪火災が発生しますからねぇ。
まぁ、こんなことを書くと「文句があるなら自分で作れ」とか言われちゃいますからねぇ。ここは悪いインターネッツですね(棒)

なんかそれっぽい、カードプログラミング言語作成プログラムをプログラミング言語(IchigoJamBASIC)で製作中であります。BASICはマシン語でプログラミングされているから、プログラミングのマトリョーシカや。

 追記

b.hatena.ne.jp

ブックマークに、「都道府県のクイズを作る」・「炊飯器のシーケンス制御」というコメントがあるのだが。
クイズを作るのは、スクラッチでブロックを定義することになる。学習用ドリルをプログラミングすることになるわけで、小学校のプログラミング教育の目的からはオーバースペックすぎ。
炊飯器シミュレーターはシーケンス制御のプログラミングはしてない。仮想炊飯器の制御プログラムをスクラッチで作りますとやると、これ「家庭科」じゃなくて中高の技術科か情報でやる内容になる。

実際に実践例があった。

https://www.tsukuba.ed.jp/~programming/?p=136

www.youtube.com

学習した内容を確かめるクイズをプログラミングする。スクラッチ言語に習熟してないとこれには手が出せない。

φ(..)メモメモ

必須化される「ブログラミング教育」って、
既存の教科の既存の単元の中で
プログラム作成を使った学習をやるんだよな。
コードを作成・入力・動作させるのは……やらない。
コンピュータでプログラムを動作させる……とは限らない。
文字入力は難しいからやらせない。
プログラミング言語の知識理解はやらない。
「ブログラミング的思考」とやらを習得させるのが目的です。
お金があればタブレットでスクラッチを使います。
なんかスクラッチ作った炊飯器シミュレーターをプログラミングします。
お金がなくてタブレット買えません。アンプラグドな実践が盛んです。
みんなビンボが悪いんや。

 

プログラミング教育での「主導権あらそい」とは?

 IchigoJam-FANで返信するのはちょっと長いんでここに記す。

小学校で必須化される「プログラミング教育」での「主導権あらそい」とは?

どんな機器を使うのかってことなわけだが。
IchigoJam・PC・MaciPad・Andoroid・RaspberryPi・MicroBitなどなど、emBot アーテックロボ レゴマインドストームとかの教材もある。レイヤーが違うよね。
Raspberry Pi(RasPi)は、ラズベリーパイ財団が英国で開発した、ARMプロセッサ搭載のシングルボードコンピュータ学校で基本的なコンピュータ科学の教育を促進することを意図しており、つまりPCの代替。OSはLinuxなど。
Micro:bitは、英国の11歳と12歳の小学生全員に配布される低消費電力、低コストのシングルボードコンピュータ。プログラミングはPC等で行いMicro:bitに転送して実行。

これに対してIchgoJamはというと。IchigoJam(イチゴジャム)は低消費電力、低コストのシングルボードコンピュータ・開発プラットフォーム。CPU - NXP LPC1114 ARM Cortex-M0搭載 32-bitマイコン 48MHz IchigoJam BASICが入っている。
性能も違うが、そもそも使用目的が異なる。
プログラミング教育に向けて販売されているロボット教材は、スクラッチのようなビジュアルでプログラムを作るものが多い。
何を教えるのか と 何で教えるのか の違いなわけだ。IchigoJam BASICは、RaspberryPiでも動いてる。

IchigoJamはCPUが非力。もともとは組み込み制御用のマイコンかな?BASICの性能というか、プログラムの容量が前世紀のパソコンよりも少ない。実用的なプログラムを組むには少なすぎる。プログラミングの方法を学習するには十分なわけだが。


文部科学省が出してるプログラミング教育に関する手引きには、プログラミング教育の目的は、プログラム言語の知識やプログラム作成の技能の習得ではなくて、プログラミング的思考の習得が目的というように書いてあるわけで。
IchigoJamは、いろいろ接続して制御するのは容易なのだが。プログラミングの容易さという点に置いて、RapberryPiやMicroBitには及ばない。キーボードからBASICのソースを入力するという「作業」がハードルになる。PCでプログラムを書いて、BASICあるいは他の言語でプログラミングして、変換してIchigoJamに転送するという方法はあるかもしれない。

IchigoJamの立ち位置は、文部科学省がやろうとしている小学校におけるプログラミング教育の教材ではないと思う。プログラムを作成するための基本的な知識と操作方法を学ぶにはよいのだが。IchigoJamBASICの仕様は昔のBASICよりもさらに低級言語・マシン語に近いんだよね。