|  コラムNo2 |

たくさん試してみよう

コンピュータには、触れられるものと触れられないものがあります。ディスプレイやマウス、キーボードといった触れられるものをハードウェアと呼び、コンピュータの中で働いている触れられないものをソフトウェアと呼びます。ソフトウェアにはいくつか種類がありますが、特に、ある目的を実現するために作られたソフトウェアをアプリケーションソフトウェアと呼んでいます。今は、「アプリ」と略されて呼ぶことのほうが多いですね。

アプリを作るために必要なのがプログラムです。プログラムは、コンピュータにやってほしいことをまとめて書いたもので、それを作ることをプログラミングといいます。「クリックでつくる絵画」はもう体験されたでしょうか?アルファベットと数字を使ってプログラムを書いたら、それが動く絵になって現れてくるのは、なんだか不思議な魔法のようですよね。

Adobe Photoshopのような、画像を扱うことができるアプリを持っている人は、それを使って絵を描いてみたことがあると思います。そのようなアプリの場合、絵を描くときに使いそうな多くの機能が用意されていて、画用紙やキャンバスに向かうのと似たような感じで操作できるようになっています。例えば、色を選ぶことひとつをとっても、何百万という色の中から選んだり、濃さや薄さ、明るさなどをコントロールできたりと、絵の具などの画材でやろうと思ったらとても大変なことも、いとも簡単にできてしまいます。

このようなアプリを使うと、私たちは、紙やキャンバスに描くときと似たような感じで作品を制作できるのに対し、プログラミングで描く「クリックでつくる絵画」は、色や形をつくるために、コンピュータがわかるように、数字やアルファベットを入力し、実行して確かめながら作品を制作します。この、コンピュータがわかるように、がポイントです。
「クリックでつくる絵画」で使う、コンピュータが理解できる言葉「プログラミング言語」は、数字と記号、アルファベットで書かれています。(もちろん、英語以外のものや、絵のものもあったりします)

もし、一面真っ黒に塗った絵を描くとしたら、どのようなやり方があるでしょうか。紙や布に描くのだったら、筆や手で絵の具を塗ったり、バケツに入れた絵の具をざばっとかけてしまう、といったやり方が考えられます。コンピュータの場合は、画材や描き方をプログラムする必要があります。例えば、プログラミングで画面全体を黒く塗る方法として、画面の左上から右に向かって点をどんどん打っていき、一列終わったら下に移動して繰り返す、縦か横に線を引くことを繰り返したり、画面のどこかにランダムに点を打つことにして、それをずっと繰り返すと、いつかは画面全体が真っ黒になる、というやり方が考えられます。

この時、私たちは、プログラミングをすることで、「対象をどのようにとらえなおすか」ということを考え、「その考えを実現するための道具」を作り出しています。紙やキャンバスに絵を描くとき、対象を見て、どのように現そうか考え、道具を選び、手を動かして描くという一連の流れを、コンピュータがわかるように翻訳してみると、これまで考えたことのなかった方法があることに気づきます。

コンピュータは、計算が得意で、プログラムが動いている間はいつまでも動作を繰り返すことができます。そのため、紙の上に小さな点を打ち続けたり、重たいバケツで絵の具をかけ続けたりするような、人間だったら、間違えたり、疲れたり、飽きてしまったりするようなことも、素早くそしてずっと続けることができます。人間だったらやらないようなこともへいちゃらなんですね。

プログラミングの書き方を見ると、計算式や英語が並んでいて、難しそうだなと腰が引けてしまうかもしれませんが、子どもたちと一緒に、まずは数字を変えたり、計算式の一部を変えてみたりして、表現がどのように変わるかをたくさん試してみてください。
そして、慣れてきたら、自分のまわりをよく観察して、自分が見えているものや感じていることを、コンピュータに伝えてみましょう。例えば、ボールを投げると、ゆっくりカーブを描きながら落ちてきます。水は透明なのに、湖などは天候や時間によって色がさまざまに変化して見えます。ものや風景だけでなく、なんでも、おもしろいな、と思ったら、それはなぜそのように感じるのかを考えて、調べて、コンピュータのために翻訳してみましょう。

「クリックでつくる絵画」では、海の波を表現するために三角関数を使いました。数学や物理で習った知識は、コンピュータのための翻訳のヒントになります。
観察して、考えて、試してみる。これを何度も繰り返すことで、自分だけの表現の道具をたくさん作ってみてください。

小林桂子(日本工業大学 先進工学部情報メディア工学科 准教授)

比較的新しい芸術表現であるメディアアートを通じ、技術と社会との関係について研究している。展覧会の企画制作や、メディアテクノロジーを理解し体験できるワークショップを、展示や教育、医療の現場等で実施してきた。NPO法人理事、文化庁芸研究補佐員、日本芸術文化振興会基金部プログラムオフィサーを経て、2020年度より日本工業大学先進工学部情報メディア工学科准教授。

教育現場や保護者の皆様へ

昨今、教育現場においてプログラミング的思考を学ぶ授業が推奨されています※1。そこで、今回はコンピュータを使った新たな表現とその楽しみ方や身につけ方について、本事業のアドバイザーである日本工業大学准教授の小林桂子さんに3回にわたるコラムを執筆していただきました。ぜひ、あわせてご覧ください。

※1 プログラミング教育に関連する資料(文部科学省ホームページより)
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1375607.htm