さらなる高(たか)みへ
「プログラミングやってみよう」いかがでしたか。小学1年生から6年生で行われるプログラミングの授業を想定しながら6回にわたって実際にプログラミングを学んでみました。流れをざっと追っただけなので物足りないかもしれませんね。
小学校の授業ではもっとたくさんの試みが全国でなされています。国語、英語、社会、音楽、図工、体育などでも活用が可能かもしれません。
プログラミングの勉強は言われた通りにやってみるというより、「何を作ってみたいか」を自分で見つけて、それを実現するためにいろいろ工夫することが大切です。
Viscuitは高度なプログラミング言語
Viscuitは園児でも使えるプログラミング言語ですが、実は言葉に頼らない高度なプログラミング言語と言えます。実際に社会で使われているものはブロック形のプログラミング言語をテキストに表したようなものが主流です。
MakeCode で選べる言語
MakeCodeでは「ブロック」を使いましたが、JavaScript や Pythonといった実用的なプログラミング言語も選ぶことができます。
Pythonは大学などでもよく使われており数値計算用のライブラリなども整っていることから人工知能のプログラムなどにも使われます。
JavaScript はブラウザ上で実行されるプログラムによく使われており、Scratch もブラウザの右ボタンで「ページのソースを表示」を表示すると JavaScriptが使われているのが分かります。
コンピューターとは
micro:bit を実際にさわってみた方は、さらにモーターやセンサーなどをつないでみたくなったかもしれませんし、面白いブロックを発見して使ってみたくなったかもしれません(micro:bit には磁気センサーや振動センサーなども付いています)。
今やいろいろなところで使われているコンピューターですが、プログラミング教育で学ぼうとしているプログラミング的思考のもともとの考え方では、人間もコンピューター(計算するもの)として捉えています。
コンピューターについて学ぶことは人間自身について学ぶことにもつながります。
プログラミングで社会に貢献
囲碁の AI が人間の棋力を超えたという出来事がありました。今、囲碁 AI は AI先生と呼ばれるほどになりました。コンピューターは繰り返し計算する能力はものすごく高いので自身との対局を数限りなく行って強くなることができました。しかし、どうして強いのか説明することはできません。説明可能な AI の研究も進められているところですが、まだ画期的な結果にはたどり着いていません。
囲碁界では人間の棋士が AI から学んで人間の棋力も高くなりつつあります。これからの社会はコンピューターとうまく付き合ってより豊かになっていくのではないでしょうか。コンピューターが得意なことはコンピューターに任せ、人間はより人間らしい分野を伸ばしていけるのではないかと思います。
日本ではソフトウェア産業が海外に比べて弱いところがあったと思います。しかしもうそれは過去のこと。小学校からプログラミングを学び始めた日本もすらすらとプログラムを書ける時代がやってきたと言えます。
社会でもデジタルトランスフォーメーション(DX)の取り組みが進み始めました。デジタル(コンピューター)の力を新しい働き方にどんどん活用しようと企業でもさまざまな取り組みが始まっています。DX の本質は新しい働き方の創造にあります。なのでデジタルでなくても構わないのです。人間もコンピューターなのですから。考え方が重要です。プログラミング教育はそういった考え方を学ぶことを目指しています。
プログラマーと話が通じる
小学校の生徒が先生のためにプログラムを書いたという話も聞きます。プログラミングが得意な人はこれからどんどん増えていくでしょう。その人と対等に話ができるようにするのもプログラミング教育の目的でしょう。「ライブラリ」って何?という話をプログラミング経験のない人に説明するのはちょっと大変です。見たことがないですから。でもScratchを知っているひとなら「ブロックがたくさん用意されているでしょ。それがライブラリ。」という説明が可能になります。
今多くの職場ではパソコンやタブレットなどが使われています。今までは人間がパソコンやタブレットに合わせていたところも少なくありません。これからはパソコンやタブレットを人間に合わせる時代だと思います。今まで手入力で行っていた作業を自動化したり、入力されたデータの集計作業を自動化したり、自動化のための環境も整備されつつあります。
工場ではかなり昔から自動化が進んで今ではロボットが大活躍している工場も珍しくありません。オフィスにもこのような流れが起きつつあります。パソコンの中にロボットと呼ばれるプログラムを作ってオフィスの作業を自動化するということが行われ始めています。ロボットの作成は Scratch のプログラミングと似たブロックをつなげる方式が取られることが多いです。
これは職場で作業に当たっている人自身が自動化に取り組めるようにするためです。たとえ自分自身でロボットが作れなかったとしても、作れる人にこんなロボットを作ってほしいと頼めれば、仕事が効率よく進められるかもしれませんね。
全体のまとめ
プログラミング言語としては以下の3つについて学びました。
Viscuit
Scratch
MakeCode for micro:bit
ハードウェアはパソコンまたはタブレットを想定し、micro:bit というボードコンピューターにも触れました。
それぞれについて、触りの部分しかお伝えしていません。自習教材であるチュートリアルや他の人の作ったプログラムなどを見ながら、いろいろ試していただけるとよいと思います。
最後までお付き合いいただき、ありがとうございました。
参考文献
文部科学省『小学校を中心としたプログラミング教育ポータル』
https://miraino-manabi.mext.go.jp/シーモア・パパート著『マインドストーム―子供、コンピューター、そして強力なアイデア』未来社、1982
http://www.miraisha.co.jp/np/isbn/9784624400439
この記事が気に入ったらサポートをしてみませんか?