2019年11月17日日曜日

2019年度 第10回ワークショップ開催

2019年度 第10回「プログラミングの基本を学ぶワークショップ」が、はこだてみらい館のシアターで開催されました。(2019/11/17)
今回もファシリテーターは、初回体験コースをはらでぃ(原田先生)、表現コースをちゃーりー(飯塚くん)、デバイス体験ラボをじんさん(菅原さん)です。

◎表現コース
◯テーマの説明・サンプル紹介
今回のテーマは「つながる」です。
「つながる」には、モノとモノが結ばれる以外にも、「SNSでヒトとヒトがつながる」といったような使い方もありますね。今回ちゃーりーは張り切って4つの「つながる」をテーマにしたサンプルを作ってきました。
サンプル1:点つなぎ
画面上に表示された点をマウスクリックで結んで図形を描いていきます。点と点を直線で結べるようにペンツールの使い方を工夫しています。少し複雑なプログラムになっていますが、興味を持ったらチャレンジしてみてください。
サンプル2:体をつないでいくスネーク・ゲーム
蛇のようなキャラクターが、丸い物体を食べると体の一部になって、どんどん体が繋がっていくゲームです。別々のスプライトを連動して動かすことで、1つの生き物のように表現しています。自分の体を食べてしまうとゲームオーバーで、体をどれだけ長く繋げられるかを競う単純なゲームですが、結構難しいので是非やってみてください。
サンプル3:リズムゲームでコンボをつなぐ
右から次々と丸い物体が動いてきて、左側の円に重なったタイミングでキーボードを押します。連続でタイミングよく押せた回数(コンボ)をつなげて、高得点を目指すリズムゲームです。
サンプル4:Scratchでプログラミングするプログラム
Scratchを使って、自分でスクラッチのようなブロックを作り、線でつなげることでプログラミングします。Scratchは、このようなプログラミングするためのプログラムをすることもできます。

○自由制作
サンプルを見てもらった後はすぐに自由制作タイムに移ります。わからないことや困ったことがあったら、大学生のサポートスタッフが駆けつけ、一緒に解決策を考えます。今回の参加者の作品の一部を紹介しましょう。
この作品は、全ての点をつなぐと電球が点灯して、画面が明るくなるプログラムです。ちゃーりーのサンプルを再現しているうちに、この作品を思いつきました。この作品を作ってくれた参加者は、全ての点がつながれないと電球が光らないようにするために、変数を扱う表現に初めて挑戦してくれました。
この作品は、右上の鐘を鳴らすシミュレーションです。下の電池を+極/-極を正しく接続すると右上の鐘が動いて鐘の音がなります。学校の理科の授業で習った知識を活かし、電池を1つ繋いだ時に比べて、電池を2つ直列に繋いだ時の方が大きな音が流れるようにしました。

◎デバイス体験ラボ
今回は、デバイス体験ラボの参加者のなかにScratchの経験も薄いという子もいたので、スタッフと一緒にScratchとmicro:bitの基礎から丁寧に進めました。
昨日に引き続き、明るさセンサ、磁気センサ、コンパス、超音波センサが使える環境を用意しました。何度かデバイス体験ラボに参加している参加者は、明るさセンサや磁気センサの扱い方にも慣れてきて、スムーズにプログラムできるようになってきたようです。
この作品は、micro:bitの磁気センサに磁石を近づけると、画面上の磁石もくっつく、インタラクティブなアニメーションになっています。実世界で起こったことを、micro:bitのセンサを使うことでコンピュータに伝えることができました。

◎初回体験コース
毎回Scratchの基本操作を知り練習する場を提供している「初回体験コース」ですが、実は参加人数や学年の違いなどに合わせて、その日その日で進むペースが違います。今回は小学3年生と中学2年生が同席するという、なかなか難しい回でした。どうしても小3に合わせて進めることになるので、中学生にはマッタリしすぎたかもしれません。でも、彼の画面を時々のぞいてみると、自分なりに解釈して色々試しているのがわかりました。この初回体験コースの目的は、Scratchを使ってみたい、と言う気持ちにさせることでもあるので、その目的は達せられたと感じました。

◎成果発表会
ワークショップの終盤には皆さんが作ってくれた作品の発表会をしました。ちゃーりーの点つなぎのサンプルをアレンジした作品や、ロボットの体が繋がって巨大化するアニメーションなど、今回もたくさんの素敵な作品が生まれました。「つながる」というテーマから、電気や磁石をつなぐシミュレーション作品もたくさん生まれました。

◎振り返り
発表会が終わったら、振り返りシートを記入して、ワークショップは終了です。
今回で通常バージョンの「プログラミングの基本を学ぶワークショップ」は最終回です。残りの2回は、スペシャルゲストをお迎えする特別バージョンのワークショップです。お楽しみに!

【ちゃーりーからのコメント】
今回のテーマは「つながる」でした。回路が繋がるというような物理的な特性から、プログラム同士がメッセージを送信しあって繋がる、ネットワークを通じて他のコンピュータと繋がる、などコンピュータの特性に沿ったテーマになっています。

サンプルの一つである「Node Sound」はプログラムにおける処理のまとまり=関数を一つのノード(点のこと。サンプルのプログラムではブロックのような見た目で表現している)としてあらわし、Scratchの実行画面上でその実行順や組み合わせを編集できるプログラムとなっています。つまり、Scratch上でScratchのようなプログラミング言語のベースを作り上げることに挑戦したサンプルです。このサンプルではノード同士を線で繋ぐことで命令が伝わっていくようになっています。「星つなぎ」は基本に立ち返るような点と点を線でつなぐプログラムですが、綺麗な直線が引けるよう毎回線を再描画する工夫をしています。「Snake Game」はその名の通り、よくある基本的なスネークゲームです。餌を取るとそれが蛇の体に繋がり体が伸びます。「コンボ!」はちょっぴり視点を変えてゲームのコンボが「つながる」様子を音楽ゲーム風に再現してみました。

表現コース、デバイス体験ラボの自由制作では、回路をペンで描いて繋げると豆電球が光る、磁石のN極S極が引き合い繋がるといった科学的なテーマの作品から、一筆書きゲームやバラバラになったものを繋げるアニメーションなどバラエティに飛んだ作品が作られました。

プログラミングを使って作品を作ることは、コンピュータについてより理解することに繋がっていきます。コンピュータについて深く理解することは、コンピュータを使った表現の可能性を広げることに繋がっていきます。作って使って人に見せ、何か分かったらまた作る。この連鎖がモノづくりの学びの基本であり、コンピュータへの理解の近道なのです。

【じんさんから:デバイスの紹介】
ハードウェア環境 MacbookAir MacBookPro、DFrobot Micro:Maqueen(V3.0)
ソフトウェア環境 Scratch3.0 Custom (Scratch2maqueen) (オンライン)
※ハンディLEDライト、磁石

2019年11月16日土曜日

2019年度 第9回ワークショップ開催

2019年度 第9回「プログラミングの基本を学ぶワークショップ」が、はこだてみらい館のシアターで開催されました。(2019/11/16)
今回もファシリテーターは、初回体験コースをはらでぃ(原田先生)、表現コースをちゃーりー(飯塚くん)、デバイス体験ラボをじんさん(菅原さん)です。

◎表現コース
◯テーマの説明・サンプル紹介
今回のテーマは「そろう」です。ちゃーりーが参加者に「そろう」から想像できるものを尋ねると「スロットが揃う」「量がそろう」などの答えが返ってきました。
サンプル1:いろんな「揃える」
「揃っている」状態にはどんなものがあるか想像しやすいように、様々な「揃える」で単純な図形を配置するサンプルを作ってきました。向きを揃える、位置(x座標、y座標)を揃える、大きさを揃える、間隔を揃えるなど「何を」揃えるかで各要素の位置関係が変化していきます。中心に揃える、上に揃える、下に揃えるなど「どこに」揃えるかも設定可能です。
サンプル2:神経衰弱ゲーム
トランプを揃えるゲームとして、皆さんもきっとやったことのある神経衰弱ゲームをScratchで作ってみました。トランプの枚数やプレイヤーの人数を指定することもできます。トランプを並べるアニメーションやプレイヤーの切り替え方などにもこだわって完成度の高いゲームに仕上げました。

○自由制作
サンプルを見てもらった後は、自由制作の時間です。
こちらの作品では、スロットゲームの制作に挑戦しています。この参加者は、ルーレットが切り替わるプログラムを、3つのスプライトを用意し、それぞれのコスチュームを自動で切り替えるという方法で、短時間で作ってくれました。しかし、スプライトが揃っているかどうかの判定のプログラムで苦戦しました。Scratchにある「コスチューム番号」というブロックはそれぞれのスプライト内でしか使えない変数(ローカル変数)で、違うスプライトのコスチューム番号を直接参照することができず困っていました。そこでサポートスタッフと一緒に、ローカル変数とグローバル変数の違いについて学び、それぞれのスプライトのコスチューム番号をグローバル変数に保存して参照するという解決策を思いつくことができました。
こちらの参加者は、何Lの水を移せば左右の水の量を揃えられるかを答えるクイズを作ってくれました。右から左へ移す水の量を入力すると、水を移し替えるアニメーションの後、結果が表示されます。Scratchで数学の計算問題の解き方をプログラムすることで、この作品を作ってくれた参加者自身の理解も深まったのではないでしょうか。

◎デバイス体験ラボ
デバイス体験ラボには、Scratchは使ったことがあってもmicro:bitは初めて、という参加者もいます。ですから今回も、明るさセンサ、磁気センサ、コンパス、超音波センサの各ブロックの使い方について簡単に紹介してから自由制作に入りました。
今回は、磁気センサや明るさセンサの値に閾値を自分で設定し、ON/OFFのスイッチのように使用する参加者が多く見られました。
この作品は、鉄が揃う(鉄を集める)シミュレーションです。永久磁石、電磁石、手で砂鉄を集めるシミュレーションを、それぞれ磁気センサ、明るさセンサ、超音波センサの値に連動させています。micro:bitでここまで表現できるのかとサポートスタッフも感心しました。

◎初回体験コース
実は今回の初回体験コースは、参加者はいつものようにノートパソコンを使いましたが、説明にはiPadを使ってみました。単に機材の都合ではありましたが、タブレットでも十分にプログラミング表現に使えることが実感できました。
もちろんいつものようにパソコンの基本操作なども(手描きの図で)解説しながら、表現の練習を行っていきました。

◎成果発表会
ワークショップ終盤は、いつものように成果発表会をします。「表現コース」と「デバイス体験ラボ」の作品を一人ずつ順に発表していきます。「そろえる」がテーマだったので、何をどのようにそろえたのかもアピールしてもらいました。天秤を使って重さをそろえるシミュレーションに挑戦したり、絵柄を揃えるゲームを作ってくれたり、今回も様々な表現をしてくれました。多くの作品の中で、揃っていない状態を作るために乱数が使われていたのがおもしろいと思いました。

◎振り返り
発表会が終わったら、振り返りシートを記入して、ワークショップは終了です。
振り返りシートは「初回体験コース」の参加者にも描いてもらっています。経験を自分の言葉で説明する練習として、文字で表現してみることも大切だと考えています。
次回のワークショップは明日です。2日間連続での参加者もいますが、楽しみましょう!

【ちゃーりーからのコメント】
今回のテーマは「そろう」でした。複数のスプライトやクローンを画面上に配置して、位置を揃える、向きを揃える、大きさを揃える、色を揃える、見た目を揃える、など複数の要素を揃えることを目標に作品を制作してもらいました。作品の仕上がりを美しくするための一つの方法として、この「揃っている」状態を作り上げるのはとても効果的です。

サンプル「いろいろな『そろう』」はキーボードを操作することによって画面上のオブジェクトを様々な方法で揃えることができます。X軸方向、Y軸方向の間隔を揃えたり、大きさや大きさの間隔を揃えたり、画面の縁にピタリとつくように位置を揃えたり、オブジェクトの向きを揃えたり、揃えたものをまたバラバラにする機能もあります。さらに、スペースキーを押すと新しいオブジェクトが生成されて、個数が変わっても適切に「そろう」ようにプログラムされています。

「神経衰弱ゲーム」は二枚のトランプをめくって数字が「そろう」とカードを取ることができるゲームです。参加人数や使うカードの枚数を最初に選ぶことができ、その設定に応じてカードが綺麗に「そろう」ようにもなっています。また、タブレットで遊びやすいようにタッチ操作を意識した作りになっています。

表現コースとデバイス体験ラボの自由制作では、位置や形がそろうアニメーションや、スロットゲームが人気でした。中には砂鉄の動きをシミュレーションしてくれた参加者もいました。多くの参加者が「そろう」を通してコンピュータ内部の数値に触れることができたのではないでしょうか。

コンピュータの内部は全てが数値で管理されています。要素を揃えるためにはこれらの数値に着目し、プログラムを組まなければなりません。初めは少し難しく感じるかもしれませんが、この数値に着目できるようになるとコンピュータで出来ることの可能性が一気に広がります。文字やイラスト、形や動きに至るまで、コンピュータ上に表現された全ては数値で出来ているのです。その数値を自在に操ることができれば、コンピュータを自在に操れるようになります。

まずは、「そろう」に着目して、その数値に触れてみましょう。学びは作ることの中にあります。

【じんさんから:デバイスの紹介】
ハードウェア環境 MacbookAir MacBookPro、DFrobot Micro:Maqueen(V3.0)
ソフトウェア環境 Scratch3.0 Custom (Scratch2maqueen) (オンライン)
※ハンディLEDライト、磁石