はじめまして。Programming Club Network : PCNの原です。僕達は、「すべての子供達にプログラミングを学ぶ機会を」を目的として活動を行っている非営利団体です。2014年に福井県からスタートした活動は、全国・海外20以上の地域・海外へと広がっています。

IchigoJamは、子供の手のひらに載るほど小さなパソコンです

この連載では、僕達が子供向けワークショップでよく使っているIchigoJamというパソコンを使って、ロボットの「paprika」ちゃんをプログラムで動かしちゃおう!という内容を紹介したいと思います。

画面中央にある茶色の段ボール製ロボットが「paprika」ちゃん。IchigoJamでこの子を動かすのがこの連載のゴールです!

初めての子でも、体験してもらえれば笑顔になれる。そんな楽しさを届けられればと思います。

なぜ今?プログラミング

いま、ニュースなどでも頻繁にとりあげられている「プログラミング」。もう40年以上も前からある技術ですが、2015年頃から、その重要性が取り上げられることが増えました。それはなぜでしょうか?皆さんの身の回りを見渡してみると答えが出るかもしれません。

今、台所に立っているとして、周りにある家電・モノをあげてみてください。電子レンジや冷蔵庫、また今この記事を読んだり、献立を探したりできるスマートフォン等と、一昔前よりも賢く便利なモノが増えていませんか?

今や当たり前になった冷蔵庫やスマートフォン

実は、これらの中にはコンピューターが入っています。コンピューターというのは、いわゆるパソコンです。いつの間にか、コンピューターに取り囲まれる生活に変わっているのです。

これらのコンピューターに仕事をしてもらう為のベストな方法が、プログラミング(プログラム + ing)というわけです。プログラミングは、コンピューターへの仕事のお願い集であるプログラムを作ることを指します。

ということは、なぜ今、プログラミングが注目されているのかというと、「プログラミングで仕事がお願いできるコンピューターが、身の回りに溢れているから」と言えそうです。

これまでは学ぶ機会が少なかったプログラミングですが、今やコンピューターが身の回りに溢れているのだから、理解してうまく活用できるように学ぼう、というのが最近の動向です。

コンピューターって、何が得意?

では、なぜこんなにコンピューターが使われているのでしょうか?人よりも得意な何かがあるからでしょうね。

人間と会話をしてくれる冷蔵庫…はありませんから、会話は得意ではないようです。たまーに文字を表示してくれるパソコン…もないですから、あいまいな事は苦手なようです。友達の電話番号を忘れてしまうスマートフォン…も困りますし、そんな忘れっぽいスマホはありませんね。

答えは、コンピューターは計算と、繰り返し、そして情報管理が得意です。

コンピューターは、計算を繰り返すのが得意なんです

コンピューターは、計算がどのくらい得意なのでしょう?1秒でできる計算の数で競争してみましょう。制限時間は1秒で、次の問題をといてみてください。100+345, 5890-3299, 323 x 573 , 1200/60...。

せーの…、3個できた人はすごい!僕は1個できたかどうか怪しいぐらいです。かたや、コンピューター※1 は、この1秒の間に、同じような問題を5,000万個ぐらい計算できます。僕たちの5,000万倍!!もう、早すぎて想像がつきませんね。(※1 : IchigoJamのメイン部品 (LPC1114 / 約100円程度で販売)の場合)

次に、繰り返し。例えば電子レンジは60度と設定すれば、常に同じ温度に温めてくれます。これは、内部のコンピューターが温度センサーなどを使って、常にチェックしてくれているからです。人間が「コンロでスープを60度に温めて」と言われても、1回ならともかく、10回、20回繰り返すとなると、ちょっと手を抜きたくなっちゃいますよね。なるほど、コンピューターにはかないません。

最後に情報管理です。お持ちのスマートフォン。これは、かなり高性能ですよ。あなたの電話帳には何件の情報が登録されていますか?SNSでは何通のメッセージが保存されていますか?ぱっと数をいえる人は、ほぼいないと思います。人間が思い出せないぐらいの量の情報が保存されているのです。

また、覚えているだけではなく調べるのも早いです。「山田さんの電話番号は?」とお願いすれば、大量の情報の中から瞬時に検索して教えてくれます。これらはすべて、内部のコンピューターが情報管理をしてくれているので、実現できていることなのです。

ここまで書くとコンピューターはなんでもすごい!と思えてくるかもしれません。でも大事なポイントとして、紹介した3つ(計算、繰り返し、情報管理)の他は、コンピューターの苦手分野だったりします。コンピューターは、何でもできる万能選手ではないのですね。うまく得意な事を見つけてあげて、上手に仕事をお願いできる関係になることが大切です。

プログラミングを体験してみよう!

さて、こんなに計算が得意なコンピューター。仲良くなって、お仕事をお願いしない手はありません。

どうすると仲良くなれるでしょう?言葉を交わすのが一番ですので、ここで登場するのがプログラミング。コンピューターに仕事をお願いするためには、お願いの集まりであるプログラムをつくれば一番話が早い。日本語で話すよりも、簡潔に伝えられます。

さあ、書いてみましょう。…え、難しそう?そんなことはないですよ。引き算の答えを教えてほしい時には、これ一行だけ。

PRINT 5890-3299

そのあと「改行(Enter)キー」を押せば、すぐに答えとともにOKの返事をしてくれます。答えは 2591でした。4桁の計算でも、一瞬です!

PRINTを使った引き算プログラム

引き算の答え

「PRINT」 は 表示してね、という命令。「5890-3299」は、算数の引き算の式です。合わせて「引き算:5890-3299を計算して、答えを表示して」という短いプログラムになっています。簡単な英単語と算数の組み合わせですね。

一般的に、英語で日常会話をするには2000語ぐらいの単語が必要と言われますが、この連載であつかう IchigoJam のプログラムに使う命令は、全部で100語程度!とっても少ないです。でも組み合わせによって、テレビゲームも作れるし、この連載のゴールであるロボットのPaprikaも動かせちゃうのです。ゲームもロボットも、同じプログラミングで出来ちゃうのは面白いですよ。

挑戦してみよう

・家の中で、コンピューターが入っているものを5つ探してみよう

まとめ

・身の回りには、コンピューターがたくさん仕事をしている
・プログラミングを覚えると、コンピューターと友達になれる
・コンピューターの得意な事:計算、繰り返し、情報管理。万能選手じゃないので、得意な事を上手にお願いしよう