小中学生向けSwift Playgrounds教材の開発

 中学生向けSwift Playgrounds教材「プログラミングの基礎・基本」(ベータ版)が完成したので、小学生向けの教材開発に着手しました。小学生向けの教材は、ロボットを動かす教材が多く、何となく論理的思考力よりもロボットの動きの方が重要な印象。
 そこで、パズル形式のプログラミング教材を作ってみることにしました。作ってみるとこれがなかなか面白くなりました。問題を考えるのが結構難しく、大人でも面白いかもしれません。実際に小学生〜中学生に使ってもらったところ、とても熱心に取り組める教材として仕上がっています。
 iEdTechブランド「教育のためのプログラミング」サイトにて、評価版のダウンロード、学校ライセンスをご購入いただけるようになりました。

 教材は新しく立ち上げ予定のブランド「PforE : Programming for Education」のセミナーにて、無償配布予定です。是非ご覧ください。iEdTech開発教材は、以下の様なラインナップになりました。

Swift Playgrounds用のベーシックな教材を開発中

プログラミング教育用教材として基礎・基本をしっかり教えて頂くための教材を開発中です。

Swift Playground Book

 それにしても、SwiftPlaygroundsの柔軟な仕組みは素晴らしいの一言です。学校の先生方も是非これを使ってオリジナル教材を開発してみてください。作った教材で実践し、さらに改良を続ける事でプログラミング教育は進化します。
 この教材は、先生方向けの研修会にて配布予定です。また、Swift Playgrounds用の教材の作り方を知りたい、学びたいと思っている先生は、お問い合わせフォームからお気軽にご連絡ください。ある程度の人数が集まる様でしたら、ワークショップを準備します。


-広告表示-

オーダーメイド旅行

アンプラグドコンピューティングはプログラミング教育ではない。

 数年前の話です。ほんのわずかな時間でしたが、先生方とICT教育についてディスカッションする機会がありました。公立の中学校の先生から「パソコンやタブレットが自分の学校に導入されていないが、プログラミング教育をどのように進めれば良いのか?」という質問に、何人かの先生からは、「アンプラグドでやってみては?」という提案がありました。パネリストだった私は、「かなり以前から地方交付税措置されているのだから、無いなら買えば良い」というお答えをして、とても会場が和んだ覚えがあります。
 さて、GIGAスクール構想で十分な数のコンピュータを買い揃える事ができた多くの小中高において、プログラミング教育は進んでいるのでしょうか?
 あの時、「学校に入っていないからどの様に進めれば良いのか?」と質問した先生は実践しているだろうと思いますが、読んでいるみなさんはどう思いますか?

 ここで登場した「アンプラグド」と言うキーワードですが、これはプログラミング教育とは別物と捉えなければなりません。「アンプラグドコンピューティング」はコンピュータの構造的な理解をわかりやすくする為に考えられた教育手法なのですが、プログラミング教育が目指すものはコンピュータの構造理解ではないし、学習過程が決定的に異なっているからです。(だって、人間がコンピュータの真似なんてできるわけがない)
 ご承知の様に、アンプラグドコンピューティングは、「コンピュータごっこ」というお遊戯です。残念なほど時間を使って論理的思考力もあまり育ちません。
 既にコンピュータが導入済の学校は、プログラミング教育に邁進すべきであり、そのための教材開発に時間を費やすべきだと考えます。

 あの時の不毛な議論は、今や「どうすればプログラミング能力(論理的思考力や判断力、分析的に問題解決できる力)をより効果的・効率的に高められるのか」というテーマに置き換わっています。先生方の準備は万全でしょうか?

【重要】プログラミング教育は必履修になりました。→日本においては高校を卒業するまでのカリキュラムで全ての児童・生徒がプログラミングを経験する事が義務化されたと解釈できます。つまり今後の日本にあっては、プログラミング能力は全国民の常識的スキルになっていくと言う事です。

 学校でできるプログラミング教育について、実社会はそれほど高度な事を求めているわけではありません。それよりも基礎・基本をしっかりと身につけてほしいと願っています。「プログラミング能力の基礎・基本とは何か」を先生方が追求して教育実践に生かしていく事こそが今求められていると思います。

プログラミング教育は「コードプログラミング」にしてください。

 プログラミング教育の必修化+GIGAスクール構想の進展に伴い、いよいよ全ての学校においてプログラミング教育が展開されつつあります。そこで悩ましいのが、プログラミング言語の選択問題です。学校がどの言語を採択するのかは昔から悩ましい課題です。
 現在、多くの学校ではプログラミング教育の為だけに学習指導の時間が確保できない事から、プログラミング言語の文法を学習するよりも、簡単なブロックの組み合わせで論理的思考力を養う方法としてビジュアル言語(象形文字の事かな?)を採用しています。ビジュアル言語にすれば、プログラミング言語の文法的な理解のハードルが低くなり、プログラムを作る行為が遊び感覚になると思います。さて、プログラミング教育必修化の背景として、Society5.0の到来などという意味不明な定義を内閣府がしている様ですが、ブロックを組み立てるゲームが本当に論理的思考力や創造的な問題解決能力を養う事に繋がるのでしょうか?

 この事について、はっきり警鐘を鳴らさざるを得ないと私は考えます。ビジュアル言語の採択は「誰基準ですか?」という事です。もしかして「教えやすいから」とか、「理解できない子が多くなりそうだから」という理由で大人がビジュアル言語に逃げているのではないですか?
 私の結論は、小・中・高全ての学習段階でプログラミング教育を実施するのであれば、「コードを書くプログラミングをすれば良い。」という事です。というのも、私は子供たちにとってコードを書くプログラミングはそれほど高いハードルではないし、理解できずに苦手意識をもつ子が居れば、それはその子の個性として認めてあげる必要があると思うからです。

 具体的に例を挙げてみます。ビジュアル言語で10回繰り返せと言うブロックの中に処理を書くとします。繰り返し用ブロックを配置して、繰り返し回数10をそのブロックのテキストエリアに入力すればOKです。これをSwiftで記述しようとすると、

for i in 0 … 9 {
  //処理
}

の様な書き方になります。この記述は、

for i in 0 ..< 10 {
  //処理
}

と書くこともできます。他にもかけますが、この2例の答えを知った人とブロックに10回と入力するだけで良かった人と、どちらが論理的思考力が高まるのでしょうか?

 この様に同じ処理に記述の違いが発生するのは全てのプログラミング言語に言える事ですが、例示したfor構文だけに着目して2つの良し悪しを説明する事はできませんし、whileやrepeat-whileを含めるとコンピュータ言語には実に様々な記述方法があります。
 このような記述違いの発生をプログラミング言語が仕様として許容しているのは何故でしょうか?それは処理対象になるデータの定義方法やコード全体の記述ポリシーを許容する事、時には開発者の哲学や、権利問題、プログラマーの好みに合わせる事など様々な側面で議論されて決められているからです。そして、多様な記述方法を許容すればエレガントで計算効率の良いプログラムコードの誕生も可能にしてくれます。
 この様な言語仕様の多彩さが学校でコードプログラミングを教える事ができない原因の一つです。また記述ミスによるエラーも発生し易く、その解決に時間がかかる部分も障壁になってしまうのだと思います。さらに、日本語の場合には見えにくい全角文字との区別といった特殊な事情もあります。しかし、これらは先生方が経験を積みさえすれば解決できます。

 つまり、ビジュアル言語で教えている理由は、子供たちにとってプログラミング言語が難しいと言うよりは多様性に富んでいる物事を学校の限られた時間内で教えられる先生が居ないので、より簡単で単純な方法でしか実施できないというのが私の見立てです。

 あれれ、多様性の無い分かり易い事をわざわざ授業で時間を割く必要があるのでしょうか?それは、オーブンレンジの使い方を一生懸命時間をかけて学校で教えるのと同じ様な意味しかないのでは・・・・ビジュアル言語と称されるブロックの組み合わせでアプリ開発していたり、製品組み込みをしている例を私は知りません。Society5.0に対応すべく未来を切り開こうとする教育の姿とはとても言い難い。本来は、多様性に富んでいる問題を論理的に解決できたり、さまざまな表現手段を使って想像力を養っていく教育の変革が求められているのではないでしょうか。

 「ビジュアル言語でも、プログラミングに興味をもった子が一人でも多くなる事には大いに意味がある」と言うご意見もあるかと思いますが、年齢の低いうちに難しさを知らないまま成長して理解したつもりでいる人がコードプログラミングの障壁に当たってしまったらどうなってしまうのでしょうか?その子にとっても周りにとってもより大きなロスにしかなりません。それならば最初からプログラミングは私苦手だなと理解してもらった方がずっと良いのでは?その逆に幼少の頃からコードを書くプログラミングが得意な子がもし育ってくれたらどれだけ素晴らしく、価値がある事だと思いませんか?

 冒頭記述した悩ましい言語の選定について、経験を踏まえた意見を述べさせていただければ、コードの多様性を理解して応用力を持った人を育てる事ができれば、どんなプログラム言語でもOKです。プログラミングと言う作業は職業能力としての側面を強く持っていて、市場原理で成長、進化、衰退するのが当たり前の存在ですから、今学習した内容がそのまま将来に生かせられるかどうかなんて誰にもわかりません。

 そして、教えやすい、理解し易いからビジュアル言語と言う教材選定の評価尺度を捨てていただき、教える事は難しいが、多様性があって奥深いコードプログラミングを早い段階で実施する事こそ学校で貴重な時間をとって教える意味があるという理解をしていただきたいと思います。授業時間効率の事を言えば、バッテリーが長持ちし、プログラミング作業を素早く開始でき、すぐに停止したり壊れたりしないデバイスを選定する事が最重要です。また、先生や友達のプログラムコードを共有できたり、その先で学んだコードを使って実際のアプリ開発などに繋げられる様なパースペクティブでカリキュラムに取り入れていただけると、プログラミング教育の状況が一変して未来に向けて大きく開かれていく事になると考えます。

222nm紫外線照射装置が新型コロナウイルスを退治する。

 幾つかの報道番組や、SNSで広がっている222nm(ナノメートル)紫外線照射器が脚光を浴び始めている。人体に有害にならず、コロナウイルスの除菌ができる丁度いい波長の紫外線である。この222nm紫外線の照射時間や照射範囲、照射強度をしっかり調整した装置がウシオ電機株式会社とTOSHIBA等から発売されている。

 紫外線が直接当たる範囲(表面除菌)にしか有効でないのかと思いきや、なるほど、エアロゾルへの対策「空間除菌」が可能であるから、巷に溢れている効果が不確かな空間除菌剤よりその効果は絶大と判断できる。装置の設置費用や、ランプ寿命に伴う交換用ランニングコストは必要になるが、新型コロナ感染症リスクが1%でも低減できるのであれば、医療機関、介護施設、イベント会場、学校等、全ての公共的施設にはもはや必須と言って良いのではないかと思う。

 国及び自治体は、1日でも早くこのような設置機器の補助金を用意するか、いっそ大量に調達して全ての施設に国事業で設置する方がスマートだと感じる。

 ワクチン接種が一通り済んだとしても、感染への不安は完全には拭い去れない。そんなニューノーマルが待ち受けている。新型コロナとの戦いに勝利し、是非ほんの1年前の幸福時間を取り戻したい。そのためには身体に入ってきた新型コロナウイルスへの耐性強化という受け身の対策と並行して、外界にある新型コロナウイルスを減らして撃退するという攻めの対策も大変重要だと思う。