子供向けのプログラミング学習が凄い

子供向けのプログラミング学習が凄い

子供向けのプログラミング学習に関して、知り合いのかたから聞いたので少し調べてみたのだが・・・

すごいね、最近は。

と言う事で、少しだけ扱ってみる

スポンサーリンク



Scratch

scratch と言うビジュアルプログラミングに関しての情報が事の発端だったので、これを調べてみた。

「ビジュアルプログラミング」と言うのは、プログラムに置ける「命令」「処理」の部分をブロックのパーツのように用意して置いて、それを組み合わせる事で特定の動作をさせる物だ。

普通「プログラミング」と聞くと、英語でよくわからない呪文のような物を書いていく物を想像すると思うが、この「ビジュアルプログラミング」の場合はパーツ毎に特定の動作が決まっていて、そのパーツを組み合わせる事で「全体の動作」を作っていく事になる。

また「ブロック」と表現するように、凸凹が存在しているので無理な形にはハマらないので「不可能な動作」は出来ないようになっている。

これ・・・何がプログラミングの学習なのかと言えば、仕事としては元より、真面目にプログラムをやった事がある人なら「設計」の部分に該当してくる事に気がつくと思う。

要は「フローチャート」を作る作業と同じなのだ。

2017/7/9 追記・・・フローチャートに関して記事をあげたよ

遊びの中にある学習
遊びの中にある学習
前の記事で、フローチャートという用語を使ったところ・・・なにそれわからん!との話しがでた。 I...

子供向けだからとバカに出来ない

遊びの要素の大きい物なのだが、この「フローチャート」を理解して「設計」を出来るようになると言うのは、実を言えばプログラマー(PG)ではなく、システムエンジニア(SE)の領域で、これを更に「何がしたいのか?」と言う「要件定義」からスタートして「設計」し、SEやPGへ指示を出すと言う事が出来るようになると、プロジェクトのマネージャーなどの上級職になってくる。

「要件定義」とは「何をしたいのか?」という目的である事から、scratchの開発に置いて「自分はどんな動作をさせたいのか?」と言う、「自分の要望への要件定義」を行う事で実践していると言う事にもなる、恐ろしい事にこれを子供のうちに学習していく事で、あとは社会経験などの知識を身につける事で、普通に通用にする事になってくる。

ここで大事なのは「要件定義」と言うのは、何もプログラミングの世界だけの話しではないと言う点だ。

例えば「販売」の仕事をしたとして、来店した「お客様の求める物を引き出す」と言う「要件定義」が必要になってくる。

その上で、その「要件」を満たす商品を提案するのが「販売員」の仕事だ。

これは営業職も同様で「売りたいもの」を売り込む事は、つまり「何を提示する事で買ってもらえるか?」と言う「要件定義」が必要になってくる。

その上で、自社にとって利益になるように調整したりという「自社内への答申に必要な要件定義」をする事もあるだろう。

子供の遊びのように見えるが、その実、「考える力を鍛える」という意味では凄まじい物があるのだ。

また、もっと単純な話しとして、数学的なところや文章問題のような考える力を養う事になる。

プログラムと言うのは、最終的には数学的な所になってくる。

これは、例えば次のような例を考えてみてください。

X+Y=1

XとYを答えよ。

これ、プログラムにすると・・・

小学生にやらせるには、実は早い・・・何せ、方程式な訳で中学生の学習範囲だ。

しかし、プログラミングをする為には、これに近い事を出来ないとダメな訳で・・・

しかも、単に「方式」を学習するのではなく「なぜそうなるか」を理解していないとプログラミングは「新たに作る」のが難しくなってくる。

また、この「なぜそうなるか」を考えると言うのは、文章問題などを解く際などにも役にたつ。

プログラムをやっていると、だいたい、人の作ったプログラムに触れる機会を得る事になるのだが、この時に「プログラムした人の意図」を考えないと、そこから先に進めなくなってしまうのだ。

この「意図を考える」と言うのは、テストなどで「出題者の意図を考える」事に繋がり、結果としてひっかけ問題などで、出題者の意図を測れるようになる。

Swift Playgrounds

続いてこちらSwift Playgroundsだ。

Appleの開発環境のSwiftを子供向けのプログラミング学習環境として、iPad用に無償で公開している。

こちらは、先に紹介したscratchと比較して「プログラミング」の醍醐味とも言える「英語で何やら」と言う物になっている。

こんな画面だ(実際に使って見た画面です)

だが「子供向け学習」となっている以上は、そこはそれだけではなく、ビジュアル的にわかりやすくなっているのと「学習」に重点があり、レベルやパズルといった要素があり段階的にプログラミングを学習できる。

これの最大の特徴は、iPhoneやMac向けに公開されているアプリケーションと同じ「Xcode」と同じなので、プロの使う開発環境と作ったプログラムを相互にやりとり出来ると言う事。

つまり、これで学習した内容をきちんとアプリ化が出来るのだ。

とはいえ、Appleの場合、開発環境は無償で用意可能だが、アプリの公開には費用が発生したり審査があったりと容易ではないので、あくまでテストが可能と言うだけになるが・・・

もう一つの特徴が、Appleストアなどで購入出来るドローンやロボットのプログラムが出来る点だ。

他のもLEGOのロボットとへの命令なども作れる。

実際に使って見た画面の画像を見てもらうと分かるのだが、これ、画面に表示されているキャラクターに「プログラム」として動作の指示を出しているのだ。

ドローンなどは、広い場所で操作をしたいと思うだろうから、引きこもってしまう子供にも良いかもしれない。

「どんな動作をするのか」「どんな動作をさせたいか」と言うのは、子供には非常に楽しい経験だろう。

まだデータがありません。