こんにちは。プログラミング クラブ ネットワーク : PCN の 原です。
この原稿を書いてる2018年1月、僕たちPCNが主催しているPCNこどもプログラミングコンテストに、全国から多くのプログラミング作品が届いたところです。IchigoJam、ScratchからJavaScript、Python、Ruby on Railsまで、大変多彩な言語で作られた作品が並んでおり、どんな動きをするのだろうとワクワクしながら審査の準備をしています。最終審査会は、2月25日(日)に、国立科学博物館(東京都 JR上野駅近く)で開催します。1月下旬には詳細を公式ページにアップしますので、ぜひ、作品を見たり、ワークショップへ参加しに、遊びにきてください。
さて、これまで約一年にわたり、子供パソコン「IchigoJam」とロボット「paprika」を紹介してきた本連載も、今回が最終回となります。最終回では、普段プログラミングを使って仕事をしつつ、全国の子供たちにプログラミングを学ぶ機会を提供している立場から、個人的に考えていることを、お伝えしたいと思います。
プログラミングって?
今回まで楽しく遊んだプログラミング。ゲームが動くプログラムも作ったし、paprikaを動かすプログラムも作りました。さて、ここで改めて「プログラミング」って何でしょうか?
さまざまな表現があると思いますが、僕なりの言い方だと「コンピューターに仕事をしてもらうために、プログラムを書くこと」 です。プログラムはコードという呼び方もされます。なので、プログラミングのことをコーディングとも言ったりしますが、どちらも同じ意味と思って大丈夫です。
この連載で書いたプログラムは、IchigoJam BASICという言語で書きました。他にもScratchやviscuitという言語から、プロのプログラマーも使うアセンブラ、C言語、Python、 Ruby、Swift…と、何十種類もの言語があります。英語や中国語のように書き方はどれも違いますが、すべてに共通しているのは「コンピューターに、やってもらいたいこと書く」ことです。
IchigoJam と paprika でなんでもできる?
IchigoJamはプログラムが出来て、それで動かせるロボット「paprika」もあって。この2つがあれば、どんなことでもコンピューターにお願いできるでしょうか? 実は、そうではないのです。たとえば、スマートフォンで動くゲームを作ることはできなかったり、タブレットで書いた絵を動かすのには使えなかったり。なぜでしょうか?
これは、どんなプログラミング言語でも同じですが、適材適所となる使い方があるからです。
IchigoJamはプログラミングを初めてやる子供や大人に、今世の中にあるロボットなどのトレンドとともに楽しく簡単に学べるようにと開発されたパソコンです。ですので、入門的なことやシンプルな動作をさせることに大変向いています。
スマートフォンで動くゲームを作る場合には、SwiftやJavaのようなプログラミング言語を使い、タブレットで書いた絵を動かす場合にはScratchやviscuitを使う…みたいに、それぞれ目的にあったものを使うと簡単に楽しめるのです。
IchigoJam の良いところ
この連載で取り上げたIchigoJam。世の中WindowsやMac、RaspberryPiなど多くのパソコンがある中で選んだ理由は、「子供が自分自身のMyコンピューターとして買える価格である」&「コンピューターの要素が生のまま見て触れる」ことです。
僕は小学生5年生ぐらいのころ、MSXというパソコンを親に買ってもらいました。兄弟がいた中、僕だけがつかう専用のMyコンピューターだったので、愛着をもって使っていた事を覚えています。5000円もするゲームカセットは自分で買えないけど、書籍になったゲームを打ち込んで遊ぶことはできるからと、必死に指一本で格闘したのも良い思い出です。父親とシェアしているパソコンでは、こうは行かなかったと思うのです。
また2番めの要素も大切です。スマートフォンのように高度にパッケージされた電子機器を渡されて、中でコンピューターが動いているんだよと言われても、初めてでは実感できません。でもよく似たものを見たこと、もしくは体験したことがあれば、それとの比較が可能です。このタブレット、IchigoJamの1万倍早いコンピューター入ってるよ、とかね。
プログラミングは、誰もが必要?
第1回目に家の中のコンピューターを探してみましたが、今、プログラミングが使われている(=コンピューターが使われている)物・場所というのは、世の中に非常に多くあります。ゲームを作るためのプログラミングテクニックは、すべての人に必要であるとは、僕は思いません。でも、お米を作る仕事でも田んぼの水位を観測するプログラミングが活用できますし、雨が降ったら自動で窓をしめてくれるロボットだって、プログラミングで動かすことができます。また、楽器は演奏できなくても、プログラミングでなら作曲できちゃう人だっています。
そう、プログラミングって閉じた世界ではなくて、自分が必要なものを創造できるツールで、自分のやりたいことを表現できるツールなのです。
先ほど、「すべての人に必要ではない」とは言いましたが、自分がやりたいことにプログラミングを活用できることが、一番良い形だと僕は思っています。なので、子どものころに、すべての人に体験・経験しておいて欲しいとも思っています。そうしたら、ある日、やりたいことに使えるって気付ける確率もグッとあがりますしね。こんな事を考えて、僕はPCNの活動を通して、子供たちや大人に伝えています。
この先IchigoJamを学ぶには?
ある人曰く、「なにごとも最強なのは自分で学べるようになること」。学校にいる間は、学んだら良いことが教科書で用意されているけれども、卒業と同時に必要なことは自分で学ばないといけなくなりますから、今のうちに学び方を身につけちゃえばOKです。
僕が子供の時は、毎月販売されていたBASICマガジン、MSX-FANというプログラミング雑誌を片手に学んでいました。現在だと、電子工作マガジンという季刊誌にIchigoJamの特集がありますし、各種書籍も出ています。
また、家や学校でインターネットが使えるなら、ホームページやYouTubeが良いですね。このあたりで、新しいゲームや電子工作の知識を学んでみるといいと思います。
・上田市マルチメディア情報センター 十勇士パソコンクラブのテキスト
・PCN金沢
プログラミングと電子工作の教材が公開されています
IchigoJamのことで、1人でやってて、どーしてもわからないことがあれば、Facebookという大人が使うSNSに、IchigoJamに詳しい人が沢山いるので、お父さん・お母さん・学校の先生などに代わりに聞いてもらうといいです。
IchigoJam開発者の福野泰介さん曰く、「はやくIchigoJamを卒業して、次のステップに行ってもらいたいなー」だとか。大事なポイントは、自分が楽しいと思うことをやっていくこと。IchigoJamでプログラミングと少し友達になれて、もっと作りたいものにマッチした言語やコンピューターやロボットがあれば、ぜひそちらにも一歩足を踏み出してみてください。次に学ぶプログラミング言語のオススメは、皆が偶然出会ったもの・お友達が使ってるものが良いと思います。出会えたってことは、それが必然なんじゃないかぁと、僕は考えているので。
挑戦してみよう
PCNが開催しているプログラミング体験イベントや、地元の科学館・他の団体が開催している体験イベントに参加してみよう。きっと、多くのヒントがもらえるよ。全国のPCNへは、こちらから。
そして、これまでの記事や紹介した本・サイトを活用して、自分オリジナルのプログラムを作ってみよう。最初は、人の真似から始めてOK。その中で、改造したいポイントを自分なりに変えていくことで、オリジナルが作れるようになりますよ。
そして自信作ができたら、PCNこどもプログラミングコンテストに応募してみよう! コンテストは、ひとつの発表の場。作品を出すこと、他の応募者と交流があったり、審査員の大人の人とつながったりと新しい世界が広がります。皆からの応募に出会えることを、ワクワクしながら待っています!