1 はじめに
本記事は、プログラミングを用いたものづくりの研究やワークショップ活動をされている森秀樹さんへのインタビューを記事化したものです。
実際のワークショップの活動内容、この活動の目的、プログラミング教育の歩みについて伺いました。また、プログラミングの授業をサポートする方々へのアドバイスもいただきました。
(2020年12月17日取材)
プログラミングとは
プログラミングという言葉を聞くと、コンピューターに文字や数字を打つことを想像しがちです。しかし実際はコンピューターに関係しないプログラムと呼ばれるものがたくさんあります。運動会のプログラム、テレビ番組がその例として挙げられます。つまり、プログラミングとは手順を正確に記した文章によって、自分以外のものを思い通りに動かす方法のことなのです。
参考文献:『教養としてのプログラミング講座』 清水亮
2 デジタルものづくりの目的
デジタルものづくりには色々な意味があると思うのですが、私自身はデジタルのテクノロジーを使って行うものづくり、という定義でこの言葉を使っています。だからコンピューターを使って作るようなものづくりもそう思いますし、他にも3Dプリンター、あるいはレーザーカッターを用いるものもそうです。そういうものも広い意味ではデジタルものづくりだと思います。私自身がワークショップの提供を通じてやりたいことはものづくりです。小さい頃やっていたような、廃材や空き箱やブロック、色々なものを用いたものづくりをやってほしいです。どれもコンピューターを使うことで、非常に面白いものができます。また自分で手を動かしてものをつくっていくこと自体が楽しくなっていくのではないかというのが1番の思いです。私はこの思いから活動をしています。
この活動はどちらかというと工作に近いと思います。いわゆるプログラミング教育はプログラミング的思考、あるいはプログラミングをすることのスキルがやはり重要になると思います。一方で、ものを作るという活動の中に試行錯誤がたくさんあるわけです。ワークショップでも最初から上手くはいかなくて、子どもたちも色々なことをやっていました。例えばモーターを2つ入れる場合、モーターの2つを別々に動かしてみたらどうか、どこの位置に入れてみたら良いかなど色々試します。そういうものづくりの試行錯誤の中で、気付いたり、発見をしたりするような学びを小さい頃は多分していたと思いますし、もっとやってほしいと思っています。
この思いは私だけのものではありません。プログラムを子どもたちの学習に使用する試みは1960年代の終わりぐらいから、プログラミング教育向けのツールであるScratch等を開発したアメリカのマサチューセッツ工科大学(MIT)でずっと研究されてきています。その頃は今のようにコンピューターがあって将来働くスキルのために、コンピューターを使うスキル、プログラミングのスキルを獲得しようという時代ではありませんでした。そのためプログラミングは純粋に試行錯誤を目的としたツールとして使用されていました。
3 プログラミングの中にある試行錯誤
プログラミングがうまくいかなかった時にデバッグという、1つずつ直していく作業をします。これによってうまくいかなかったところをうまくいくように修正していきます。この過程の中にうまくいくために必要な発見があり、これが学びにつながっていきます。この活動は全てコンピューターの中だけで起こるので、プログラミングは試行錯誤しやすいものづくりの1つの手段と考えられています。
試行錯誤は難しいですが、自分の興味で試行錯誤ができるという醍醐味もあります。だからプログラミング教育の1つの可能性は、プログラミング的思考とプログラミングスキルを獲得するだけではなくて、自分で作りながら試行錯誤していくのに適したツール・機会として役立つところにあります。
4 プログラミング教育の歩み
プログラミング教育は元々1980年代、90年代のはじめにMITの研究者たちによって開発されたLogoやBasicというツールを使って、比較的多くの地域で実施されました。しかし、それが長く続かなかったのは以下のような反省点があるからです。
1つは、今のツールと違って、テキストを打ちながらプログラミングをしていく形態だったためどうしても文法や、間違えないようにコマンドを打つこと、スペルの間違いをしないようにしていくことばかり子どもたちが気を取られてしまい、プログラミングで何かを表現したり、作ってみたりするところまでたどり着くのが難しかったということです。
もう1つは、当時のLogoを使った教育実践は図形をプログラムで書くだけで終わってしまうことが多く、ツールを生かしきれなかったことです。本来はもっといろいろなものが作れるはずなのにと研究者たちは感じることもあり、反省の段階になって多様なものが作れるようにする必要があると気づきました。
そして、もう1つ挙げていたのが、適切なタイミングで適切な助言が大抵できないことです。一旦プログラミングすることに詰まってしまった子どもは、そこで終わってしまうことも多いです。逆に上手くいっているけれど、そこで終わってしまうこともあります。もう一声アドバイスができたら、もう少し発展できるはずなのにと思います。そういう適切なタイミングでの適切な助言ができなかったということを反省にあげていました。そういう意味で、ツールは新しくなってプログラミングはしやすくなり、様々なものが作れるようになりましたが、授業やワークショップの運営のところにかかってくる部分もあると思います。しかしまだ解決されてないところです。
5 ワークショップの紹介
小学校にて行われたワークショップ
神奈川県のボランティアで行ってきたワークショップを紹介します。小学校6年生の授業で、コンピューターとプログラムで動くおもちゃを作るという内容を2時間やらせてもらいました。2人1組で取り組み、この時は小さいコンピューターでCricketというアメリカのMITで作った電池で動くコンピューターと、モーターやセンサーを組み合わせて自分なりのおもちゃを作ってみようというワークショップをしました。皆レゴや身の回りにあるような材料、工作材料を使って自分たちで好きに組み合わせていました。何ができるかな? というようなことを模索しながら、風車を作る人もいました。メロディを作って音が鳴るおもちゃを作っている子もいました。
今小学校のプログラミング教育でScratchというツールがよく使われています。それを作ったMITのチームが、Scratchを作る前に作ったものがCricketというツールで、プログラミングのインターフェースは非常に良くできています。プログラムはブロックを組み立てるように操作することができます。みんな最初はプログラミングをしてどんなものができるだろうかと試したりするのですが、時間が経つとだんだん動きが大きくなってきて、みんな立ち歩いて作っていました。車を作る子もいました。
このような活動を小学校や科学館などいろいろな場所でやっています。2000年代に活動を始めた頃は、子どもたちがCricketやScratchなどのツールをどこまで使えるかということもあまり明らかになっていませんでした。私がプログラミング教育の授業を研究していた頃は例えば4年生だったらこんなことができるかと考えたり、そういうことを実践してみて明らかにしたりということをやってきました。ワークショップでは他のツールを用いた場合も大体似たようなことをやっています。
6 実践からの反省点
適切なタイミングで適切な助言を行うのは案外難しいです。大体普段は学校に行くときも機材の関係上、2人1組でやってもらうことが多いのですが、そうすると多くて20組くらいになります。担任の先生と私で大体運営はできています。反省で挙げたことは適切なタイミングで何を助言するかにもよると思います。初めて使う子どもたちが、使い方が分からない時、プログラミングだったらプログラムして動かすまでのやり方が分からない時には、2人、場合によると3人ぐらいいれば充分だと思います。
ただ、ここでいう適切なタイミングというのが、何かものを作っていた時に多々直面する、ここちょっと上手くいかないという場面なのかどうかは迷います。それがあるのが1番良いことで、試行錯誤の種だからです。その時にそのまま答えを教えるのではなく、何か気づきがあるようなヒントを与えたりしたいと思っています。それを考えると、1対1でべったりくっついていてもいけないような気もします。だから理想的には聞いてくる子どもたちに対して、適切なアドバイスをする。ある子には多分適切にもう答えを言った方が良いかもしれないし、ある子にはもうちょっとヒントになる、考えるためのヒントになるようなものを与えた方が良いかもしれないです。あるいは聞いてこないで自分でずっと考えている子もいるので、そういう子には何か少しヒントを与えたりするといいかもしれません。
そういう意味で、本当にそれが何人だったらできるのかというのはまだ模索中です。ファシリテーターは教室を巡回したり、ずっと後ろで見ていたりもします。最初にツールを使い始める時は、使い方が分からなくて「先生、先生」と子どもたちが集まってしまう時はよくあります。最初、私たちサポーターはずっと色々なところを行ったり来たりしながら「ここ、こうやってみて」といったことをやっていることが多いです。でも上手く子どもたち同士で教えてくれるようになると、隣同士で学んでもらったりします。
7 プログラミング授業のファシリテーターの役割
大体学校にワークショップで行かせていただくと、大抵そこの担任の先生と私、2人で運営します。役割分担については、たいてい私がゲストティーチャーとしてツールの使い方等を紹介して、担任の先生には授業の進行等をやっていただきます。新しく複雑なツールがたくさん出てくる中、先生方が教材研究をし、使い方を覚えるのは難しいと思います。そのため、新しいツールの使い方、テクニカルサポートのような役割をさせてもらうことが多いです。
授業後に先生方から言ってもらって嬉しかったのは、子どもたちが「あっ、この子プログラミングでもそうなんだ」とか、逆に「いつも勉強は苦手だけど、ものづくりになるとこうやって頑張るんだ」といった発見があったということです。教科の学習では見られないような姿、あるいは同じ姿かもしれないけれど、意外な一面が見える時があるという風におっしゃってくださる先生がいます。先生方はやはり普段からずっとその子たちを教えているので、普段の子どもたちを教えている延長というか文脈の中で指導されていくことに何か意義があるのかなと思っています。私の方はテクニカルのサポートをすることで、先生が何か新しいツールを使う時に心配なく使えるように支援したいと思っています。
8 サポーターや担任の先生の知識・技能について
今は技術的なサポートやツールの使い方などは私の方で出前授業をする時は紹介させてもらっているので、先生は授業の進行をしてもらって、逆に子どもたちと一緒に使い方を学んでもらえればいいかなと思っています。先生が学んでいる姿を生徒に見てもらえるとも感じています。特に何かこれはやらなければいけないというのはありません。
通年の授業の場合も、特に何かプログラミングの知識・技能が必要というよりはむしろ活動時間が長くなってくるので、この活動をどう続けていくか、カリキュラムをデザインしていくかが大事になってくると思います。だから先生もそういう視点で継続的にやっていく活動を、どう子どもたちの学習の中に取り入れていくかが大事な気がします。
9 おすすめのツール
今も色々なところで使われていますが、Scratchは良くできているツールだと思います。現在はScratchと同じく、ブロックを組み立てるようにしてプログラムするようなインターフェースから発想を得てたくさんのツールが出てきているので、やはりScratchはよく考えて作られているツールだなと思います。これはプログラムしやすく、子どもがどんどん自分で触っていじくりながら、どんどん試行錯誤したくなるように作られています。逆にそれが、決められた時間の中で活動しようとすると大変な時もあります。特に学校の授業では、決められた時間内で子どもたちに活動するために先生のお話を聞いてほしい時もあります。一方でパソコンのScratchは触ってくれと言っているわけです。子どもたちも耐えなければならず、それが非常に大変だなと思います。先生も授業運営されている時に、大変になると思います。子どもが悪い訳では決してなくて、触ってほしいように作られているので、子どもたちはどうしても触りたくなってしまいます。そこが少し大変だなという気はしますが、元々そうやって子どもが自分でやりながら、試しながら使い方を覚えていくようにできているので、仕方がないところかなというような気もします。
10 PB(プログラマブルバッテリー)とは
こういったパソコンを使う活動はパソコンの操作のスキルが必要になります。例えば学校で行う場合、学校のパソコンにプログラミング用のソフトをインストールしたりするのはやはり難しいので、自分でパソコンを持って行きます。しかし、そうすると荷物も多くなってしまうのでもっと簡単にデジタルものづくりができないかなと思い、作ったのがPB(プログラマブルバッテリー)です。
発想としては、乾電池をプログラムすることで自動的に動いたり止まったりするものを作れたら良いなというのが元になっています。電池本体でプログラムができてしまえば、パソコンの操作を覚えることをなしにして、純粋にものづくりを楽しめるというのがPBのコンセプトです。PBの実物には10個ボタンがついています。モーターを繋げると、ボタンが光った時に電池がオンの状態になるのでモーターが動きます。順番に再生していくようになっていて、電気がついているところに来ると動く。自分でどこを動かすか、10個のセグメントの中でどこをオンにしてオフにするのかというのを自分で選んで動かすようなツールです。だから単純に電池が入る、切れるというのを10個の1番から10番までをオンにして、オフにしてというようにその順番を決めていくだけです。モーターと繋いであげると色々な作品ができます。
例えば楽器を作る子もいますし、もう少しモーターの動く先の方で工夫してあげれば色々なものができます。コンピューターの使い方が分からなくてもできるので、どちらかというと低年齢のお子さんたち、小学校の1年生や2年生、あるいは未就学児向けです。そのあたりの年齢層を狙って作っています。
本当にシンプルで、モーターを動かして・止めてという動きだけなので車など色々なものができます。大人なら大人なりの使い方ができます。これを大学生がやってくれたこともあります。止まったり動いたりしているだけなのですが、プログラムを変えてあげれば色々なものができます。他にも、PBを2つ繋いで自動で動く車を作っていた子もいました。パソコンを使わずスイッチの簡単なオンオフだけで、プログラムでモーターを制御することができるので、それを使って色々なものづくりを楽しんでほしいという想いが込められたツールです。Scratch、Cricket、micro:bit、その他様々なツールも、使い方を覚えるということをまず初めにしなければならない。すると、自分でこんなものを作りたいと思った時にものづくりをすることがなかなかできない。そういう意味では、最初のハードルを低くしてあげるということがこのツールの目的です。
11 教科書や説明書
教科書や説明書を準備するかどうかも授業する時に考えるべきところです。「はいどうぞ」と言われても、「えっ?」と思う人もいます。「何やったら良いの?」よくそういう風に聞かれる時もあります。Scratchでは作品のイメージと一緒に、簡単なプログラムの作り方をカードにして提供しています。それは非常に良いやり方かなと思います。だから、自分の中で作りたいものを見つけて、そのためにはこういう風にプログラミングしたら良いとわかっていくような学び方もできたりします。何をして良いのかが分からないという気持ちにならないように、こんなものができますとサンプルを見せたり、あるいは時間に余裕がある時は、プログラミングの練習問題をやってもらったりする時もあります。
例えばScratchであれば、猫が動いて止まって、何秒したら回ってというように文字で書いてみて、そういう動きをするようなプログラムを作ってみるという課題をやってもらう時があります。ちょっと練習問題をやってみる形式も上手くいく時はあります。一方小学生であれば「何やって良いの?」というよりは、どんどん先に進んでしまって「待って待って」となる方が多いと思います。
12 プログラミングを用いて作れる作品
以前のワークショップでは、自分でおもちゃを作ってみようという、非常に緩やかなテーマで取り組みました。そのため、用意する材料によって作品は変わってきました。あとは見せるサンプルにも影響されます。何種類か見せるのですが、そのサンプルの力は強いなと感じました。自分で作りたいものを決めて作ってもらうということが1番大事かなと思っているので、ものを作る中でも試行錯誤を通じた学びをしてほしいです。ものづくりだけではなくて普段でもそうだと思うのですが、合っているか合っていないかではなく、間違っていても良いから間違ったものをどう自分で直していくかを体験してほしいなという思いがあります。なんでもものを作れば良いやというものでもなくて、これもMITの研究者の人たちが言っているのですが、個人にとって意味のあるものを作ることがやはり大事です。何でも与えられて、じゃあこれ通りにやってみようということではなくて、自分がこれを作ってみたいなと思って取り組んでほしいです。作る難しさはまた別にして、自分にとって意味を持てるようなものを作っていくことが大事かなと思っています。なので緩やかなテーマにして、なるべく色々な子が興味を持ってこんなの作ってみたいな、と思ってもらえるように、材料を色々用意してワークショップをやっています。だからワークショップが変わっても、ツールが変わっても、同じようなことを教えたりします。そこがやはり1番大事にしているところです。自分にとって意味があるものを作る。今まで子どもたちが作ってきたものの中にも結構面白いものがあります。私としては色々な作品を自分で作って「できた!」と言っている子どもたちを見ているのが面白いと感じます。
13 プログラミングをものづくり以外に応用
奈良女子大附属小に定期的に通わせてもらい、Scratchを使って授業実践をしていた時に、Scratchを理科の学習でも使えるのではと、先生と子どもたちの方から言ってもらいました。理科の熱の伝わり方、ものの温まり方という小学校4年生の単元で学習している時に、色々みんなサーモテープやロウを立てて、銅の板を温めて、どう熱が広がっていくかを観察する実験の道具を作りました。その時にこのScratchと、センサーのボードなどを使い、温度が変わると抵抗の大きさが変わるセンサーをつなぎ、抵抗値をこのScratchで読んで、それにしたがって色を変えてあげる仕組みを作りました。
本当は、ツールとして使い方を覚えてもらって、理科に限らず普段の学習でも、ツールを利用して発表することもできると思います。プログラミングの授業でScratchなどの使い方を覚えて、自分で自分の発表のためにこれを使ってみる。そうするともうちょっとパワーポイントともまた違った表現の仕方ができると思うので、そんな風にもなってもらいたいなと思います。ただ、教科の中で学んでほしいということと、このツールでできることと、さらには子どもがScratchを使って自分で表現できることの、バランスをとるのが非常に難しいなと思っています。結果的にはこんなプログラムを使ったらこんなことができますよという紹介をしたんですけども、割と紹介したものに近いかたちでまとまることが多かったなというのは、この時の実践では反省に挙げています。
14 学年に応じた活動内容の違い
プログラミングは、順番に実行していく、それを繰り返す、ある条件が来たら分けるという、大きく分けると3つの要素だと思います。どうしても低学年のお子さんで難しいのは条件で分けるという要素だと思います。その点は個人によっても差もあると思いますが、中学年以上に適していると思います。あるいは、今Scratchなどのツールが良くできているので、割と簡単にプログラムが作れます。それでカバーされているのもあるかもしれないです。ただ、低学年のお子さんだとやはり難しいことも多いです。1年生だと難しくて、中学年から5,6年生になるとすぐできる、というイメージです。3年生の子どもがプログラミングをするときと5,6年生の子どもがするときで、使用するツールでの差はつけたりもします。あとはものを作っていくこと自体は学年問わず、その子が持っている知識やスキルによって、1年生なら1年生なりのものができますし、6年生なら6年生なりのものができるので、そこはあまり区別していないというのが現状です。
学年に応じたツールの使い分け
ScratchやCricketは、パソコンの操作が必要になってくるのでどちらかというと高学年向けです。マウスドラッグやクリックも使います。1年生でももちろんできますが、操作の方に慣れるのに時間がかかってしまうことが多いです。そのため、1年生や2年生がプログラミングの授業を受ける時は、先ほど紹介したプログラマブルバッテリーというツールを使って、ものづくりをしてもらうことが多いです。でももう少しツールの種類が今はあるので、この学年だったらこういうのができそうということも、これから考えていきたいと思います。
15 小学校の頃のプログラミングの経験が及ぼす影響
ものづくりの活動を1度やってみて、これ私、僕にとって楽しいな、合ってるな、という子がどんどんプログラミングを学ぶきっかけになれば良いなとは思います。だから全員が全員これを学んだからプログラミングのスキルや、プログラミング的思考が育っていくというものではなくて、それが合う子が、「これ合うな」と思ったら伸びていったら良いなと個人的には思います。ただそれが、どこまで伸びたかといったことは確かに全然データもないし、長いスパンで追っていくべき話なのかもしれないです。
16 最後に現場の先生と実際に小学校で働く先生方に一言
新しいことに挑戦するとなると、先生方も忙しいですし、色々なことに気を遣って普段の授業されたり準備をされたりすると思いますし、非常に大変だと思います。このプログラミングもそうですし、これからGIGAスクールで1人1台の端末を持って子どもたちが学習していくということになると新たな試みがさらに増えていきます。私自身は新しいことに取り組んでいくこと、先生の挑戦をお手伝いしたいなと思ってこの活動をしています。新しいことに取り組むのは大変なのですが、是非挑戦していただきたいなと思います。やはり教育にとって良いものを、同じものをずっと続けていくことももちろん大事だと思うのですが、新しいものを取り入れていくということも、同じくらい大事なのかなと思っています。
現在は新型コロナの話もありますし、ただでさえ大変な中で新しいことに挑戦するのはハードルが高いと思います。しかし私自身は先生方が新しいことをするお手伝いをしながら、どんどん新しいことにチャレンジしていく先生方が増えていくことを願っています。
17 森秀樹さんのプロフィール
慶應義塾大学環境情報学部卒業後,株式会社セガで教育ソフトウェアの企画開発,米国マサチューセッツ工科大学メディアラボ客員研究員,株式会社CSKにて子ども向けワークショッププロジェクト「CAMP」の立ち上げと運営。社会人大学院生として大阪大学大学院人間科学研究科で教育工学を学ぶ。大阪大学大学院人間科学研究科助教,東京大学大学院情報学環特任助教,大阪大学教育学習支援センター特任講師, 東京工業大学教育革新センター准教授などを歴任。専門はデジタルものづくり教育,小学校プログラミング教育,ワークショップデザイン,教育工学。テクノロジ・ものづくり・学びをテーマに小学校やミュージアムをフィールドに授業やワークショップ実践を2001年から続けている。日本教育工学会SIG委員(小学校プログラミング教育)。博士(人間科学)。東京工業大学科学技術創成研究院研究員,放課後児童支援員,愛媛県デジタルコーディネータ(教育のデジタル化),三重県教育コンテンツアドバイザー,浜松市教育の情報化推進アドバイザー。
株式会社まなびとものづくりのホームページはこちらからアクセスいただけます。
https://www.manabito.co.jp
18 編集後記
今回は教育改革の一環として取り入れられつつあるプログラミング教育の実践的な内容についてご紹介しました。プログラミングという新たなものづくりのツールに興味がある方、またプログラミング教育に漠然としたイメージをもたれている方にとって参考になれば幸いです。
(編集:EDUPEDIA編集部 吉田)
プログラミング関係の関連記事はこちらからお読みいただけます。
https://edupedia.jp/article/5fd0d3ab07df700000ec208f
コメント