2019年10月26日土曜日

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

2019年度 第8回「プログラミングの基本を学ぶワークショップ」が、はこだてみらい館のシアターで開催されました。(2019/10/26)
今回も、初回体験コース、表現コース、デバイス体験ラボの3コースが同じ空間で活動します。

各コースのファシリテーターは、
・初回体験コース: はらでぃ(原田先生)
・表現コース: ちゃーりー(飯塚くん)
・デバイス体験ラボ: じんさん(菅原さん)
が担当しました。

◎表現コース
◯テーマの説明・サンプル紹介
今回のテーマは「ふる」です。ちゃーりーは「ふる(降る/振る/古/FULL)」をテーマにした、3つのサンプルプログラムを用意してきました。
サンプル1:雨が降るアニメーション
雨が降っている様子を表現しました。円の大きさと落下速度を調節することで、平面な画面上で立体感を持たせています。立体感を出すためには、どのように調整すれば良いかよく観察してもらえると嬉しいです。
サンプル2:振り子古時計
古い振り子時計で「古」と「振る」の2つの「ふる」を表現してみました。時計が指している時間は実世界の時間と一致するようにしています。また、振り子時計の振り子は0.5秒間隔で動いて秒針を進めているというところも忠実に再現しました。
サンプル3:声量メーター
マイク入力を使って、声の大きさを計測し、声量ケージをFULLにするプログラムです。瞬間的な声の大きさの数値と声量がどのくらい溜まっているかの数値の、2種類の異なる性質を持つ数値をうまく使うことがこのプログラムを作る際のポイントです。

○自由制作
カメラで写した世界に雪が降って積もるプログラム
Scratchのカメラ入力と色判定機能を使って、カメラで写した赤い折り紙にだけ雪が積もる作品を作ってくれました。最初は、カメラで赤い色を読み取るとき、同じ赤い折り紙でも光の当たり方によってコンピュータが読み取る「赤」が変わってしまうため、うまく雪が積もりませんでした。そこで、様々な明るさの赤をプログラムの条件の中に入れて、正しく読み取れるように調整しました。
ゲージをFULLにするミニゲーム
スタート画面で「キーボード連打ゲーム」と「タイピングゲーム」の2つのミニゲームを選べるようになっています。どちらのゲームも、正解するとゲージが溜まっていき、ゲージが「FULL」になったらゲームクリアです。ゲージは数値だけでなく得点が貯まっている割合を視覚的にも表示するなど、プレイヤーが直感的にゲームしやすいように工夫されています。スタート画面のグラフィックデザインにも、こだわってくれました。

◎デバイス体験ラボ
今回は、micro:bit初体験の参加者2名と経験者1名がデバイス体験ラボに参加してくれました。micro:bit初体験の参加者には、パソコンのキーボードやマウス以外のデバイスも使えることを知ってもらい、明るさセンサ、地磁気センサなどを制御するためのブロックを紹介しました。簡単な説明の後はすぐに自由制作に入ってもらいます。
今回のテーマは「ふる」だったので、傾きセンサ、加速度センサを使ったプログラムに挑戦してくれた参加者もいました。また今回もLEDライトと磁石は用意していたので、明るさに応じてキャラクターを動かすプログラムを作ってくれた参加者もいました。
炭酸飲料を振って中身を噴きださせるプログラム
micro:bitを振ると画面の炭酸飲料も振られて、缶を開けると中身が吹き出る、という作品です。micro:bitが振られていることを知るためには加速度センサを使いました。micro:bitを使うことで、キーボード入力やマウスでの操作ではできないような身体を使う表現をすることができました。

◎初回体験コース
今回も「初回体験コース」は、「ネコ歩き!?」から、複数のスプライトを組み合わせたゲームのような画面表示、までを体験してもらいました。保護者も一緒にやってみようということで、親子で並んで体験できるように、机の配置をデザインしてます。「まずは一通り、一緒に、順を追って、触ってみよう」という形を取っていますが、重視しているのは家でも続けて触って欲しい、家族で協力しながら新しい学びに取り組んで欲しい、ということです。そういう意味でも、保護者の方々が子どもと一緒に、ご自身も一緒に、子どもとも対話しながら、活動できるよさというのは、これからプログラミング講座を開催、運営していく学校や塾の先生にも見て知って欲しいところです。

◎成果発表会
ワークショップ終盤は、前のスクリーンに皆さんが作ってくれた作品を映し出してデモ発表をしてもらいます。今回は同じスプライトをたくさん降らせるためにクローンを使ったり、得点を表示するために変数を使ったりした作品を作ってくれた参加者が多くいました。

◎振り返り
発表会が終わったら、振り返りシートを記入して、ワークショップは終了です。

今回のワークショップで印象的だったのは、参加者がファシリテータの学生たちと対等に!?話している姿や、アイデアを練るために紙とマーカーを使ってアイデアスケッチを描いている姿です。
学校とは違う、世代を超えたコミュニケーションの場面には、未来の学びの姿を感じます。
私たちはこのワークショップを運営するにあたり、単にScratchの使い方を学ぶのではなく、「動く絵筆」とも言えるプログラミング表現で、世界を解釈したり、自分の想いを形にするスキルを鍛えて欲しいと思っています。また、ファシリテータの学生たちにも、子どもたちのこのような創造活動に関わることで、これから何をデザインしていけば良いのかを考えて欲しい、と考えています。今年度の活動も残り少なくなってきましたが、次回も楽しい時間を会場に生み出すべく頑張ります。ご期待ください。

【ちゃーりーからのコメント】
今回のテーマは「ふる」でした。降る、振る、古、フル(FULL)などいくつかの「ふる」をサンプルとして用意しました。「雨が降る」はとてもシンプルなアニメーションですが、雨粒の大きさや速さや色がそれぞれ異なり、立体感のある雨が降るように工夫されています。「古時計」は振り子時計の内部機構を意識して針の動きや音を作り込んでいます。「VolumeCharger」は音を謎のエネルギーとしてチャージする謎の機械です。場を盛り上げるときに使います。

さて、今回のサンプルではそれぞれ異なる裏テーマを込めて制作しています。まず、「雨が降る」ですが、「動きの抽象化」に着目しました。ただの小さな円が複数上から降ってくるだけなのですが、色や動きの強弱でそれは雨にも雪にも見えます。雨に見えるように調整するには動きや見た目の特徴をよく観察し、プログラムで扱える数値として落とし込まなくてはなりません。次に、「古時計」ですが、「観察と再現」です。振り子時計をそれらしく見せるのはそう難しいことではありませんが、細かい部分にも目を向けるとそれがどんな仕組みで動いているのかを意識しなければなりません。よく観察をし、仕組みを理解して初めて再現することができるようになります。最後に「VolumeCharger」ですが、これは「場のデザイン」がテーマです。前回のワークショップで2択の漢字クイズを作った参加者が発表会の場を大いに沸かせていました。それを見て、サンプルでも何か観客が参加できるような作品があったら発表の仕方にも意識が向くのではと思い、インタラクションのある作品にしてみました。

表現コースとデバイス体験ラボの自由制作では、野球のバットを「振る」と、画面の上からたくさんのものが「降る」が人気でした。同じ野球の動作を再現するアニメーションでもカメラの構図が違ったり、ボールの軌跡が工夫されていたりと着目する点が異なり、発表会では様々な視点を見ることができました。Scratchのカメラ機能を使って現実世界の物体に画面上の雪が積もるプログラムを作った参加者は、Scratchで扱えるカメラ機能の特徴や得手不得手を実際に試しながら作品制作を行なっていました。

参加者の作品制作を見ていると、僕自身サンプルを作っているときには思いつかなかった新たな視点にたくさん気付かされます。参加者のみなさんもワークショップでアイデアや気づきをたくさん持ち帰ってモノづくりに生かしてもらえたらと思います。

【じんさんから:デバイスの紹介】
ハードウェア環境 MacbookAir、BT接続Micro:bit
ソフトウェア環境 MacOS microbit_more-0.3.0 デスクトップ環境(オフライン)
※ハンディLEDライト、磁石
展示物:Micro:bit制御のロボットカー(Dfrobots micro: Maqueen 1台、TAMIYA MicrocompyuterROBOT Crawler type、ツインドリルジェットモグラ号) ラジコン制御用 GamePAD)
Windows10PCでMake:Code開発環境を展示

2019年10月19日土曜日

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

2019年度 第7回「プログラミングの基本を学ぶワークショップ」が、はこだてみらい館のシアターで開催されました。(2019/10/19)
今回も、初回体験コース、表現コース、デバイス体験ラボの3コースに分かれて、プログラミングの基本を学びました。

各コースのファシリテーターは、
・初回体験コース:はらでぃ(原田先生)
・表現コース:ちゃーりー(飯塚くん)
・デバイス体験ラボ:じんさん(菅原さん)
が担当しました。

◎表現コース
〇テーマの説明
今回のテーマは「かく」です。
「“かく”と聞いて何を思い浮かべる?」というチャーリーの問いかけに、参加者からは「絵を描く」「文字を書く」「かゆいところを掻く」など、さまざまな「かく」を挙げてくれました。

〇サンプル紹介
今回ちゃーりーが用意した「かく」をテーマにしたプログラムはふたつあります。
サンプル1:「ドローイングツール」
マウスで画面上に自由に絵を描くことができるアプリケーションです。
基本的なドローイング機能である、ペンの太さや色の変更、消しゴム機能、Undo/Redo機能などはもちろん、書き出し/読み込み機能も搭載しているので、画面上に描いた絵を保存したり、SVG出力して他のScratchプログラムで読み込むことでスプライトとして動かしたりもできます。

サンプル2:「タイプライター」
キーボードで入力した文字列を画面上に表示するプログラムです。
文字入力は、普段使っているコンピュータの最も基本的な機能の一つですが、Scratchでつくるのはなかなか大変です。
文字を画面上に読みやすく表示するためにはどのような工夫がされているか考えてみるきっかけにもなるかもしれません。

〇表現活動
今回は「かく」というテーマから、画面上に絵や図形を描くことができる、Scratchの「ペン機能」をつかってくれた参加者がいつもより多くいました。
マウスで画面上にドローイングする作品:2本の鉛筆を持ち替えられるように工夫しました。
画面上に図形を自動で描画する作品:図形が描かれる場所を乱数で決めています。画面外にはみ出ないように乱数の範囲を調整するのに苦労しました。
アルゴリズムをループで実行することで幾何学的な模様を生成する作品:なんども試行と修正を繰り返し、綺麗な模様になるように頑張りました。
同じペン機能でも、マウスを使ったドローイング、図形の描画、アルゴリズムを使った幾何学模様の自動生成など、参加者それぞれが工夫を凝らして多様な表現に取り組んでました。
ペン機能を使いこなすには、線の太さや色のほかにも、スプライトの中心位置や動きの軌跡などを考える必要があります。思い通りの動きをさせるために参加者が試行錯誤している様子は、スタッフにとっても期待している展開であり、熱く(!)サポートしています。
正しい漢字を選択する2択クイズ 
画面上の漢字をなぞって覚える漢字ドリル
「漢字を書く」をテーマに作品を作ってくれた参加者が2名いました。
どちらの参加者も、はじめはマウスで書いた文字をコンピュータに正誤判定させようと考えていましたが、自力で実現できる形を模索した結果、ひとりは2択クイズ、もうひとりは画面に表示された漢字をはみ出ないようになぞるゲーム性のあるプログラムを作ってくれました。やりたいことが見つかるとそれが入口になり、探究心も高まります。その先には人工知能や機械学習などの知識や技術と出会う機会も待っているはずです。
縦スクロールのシューティングゲーム:コスチュームからステージまで全て自分で描いてゲームの世界観を統一しました。
オリジナルキャラクターを動かす作品;Scratchの描画機能でオリジナルのキャラクターつくりました。
自身が描いたキャラクターやステージを動かすプログラムをつくる参加者もいました。テーマからどのように発展させて作品化するかは、参加者ひとり一人の感性に委ねられています。

◎デバイス体験ラボ
デバイス体験ラボでは、今回もmicro:bitとScratchを組み合わせる表現にチャレンジします。
今回はmicro:bitに搭載されている明るさセンサーと磁力センサーを使用した作品の制作に挑戦しました。
この作品は、明るさセンサーの値を位置座標と対応づけて、明るさを変化させるとキャラクターが移動し、線が描かれるプログラムです。また、磁石を近づけると線が全て消されるようになっています。

◎初回体験コース
初回体験コースではいつもどおり、Scratchの基本操作を順を追って、説明していきました。今回は、保護者が付き添って一緒に表現に取り組む参加者が多く、主催側としては願っても無い展開でした。次回以降も多くの保護者の方に参加して欲しいと願っています。
Scratchは日本語でもプログラムを組めることが特徴ですが、そのためにはパソコンの「英数/かな」の切り替えを理解する必要があり、「ファイルの保存」とともに、序盤の説明の難関になっています。このワークショップでは手描きの資料を用意して説明し、その後壁に張り出していつでも確認できるようにしています。
座標の説明も同様に、いつでも確認できるように壁に貼って説明します。
人数が多いと、どうしても参加者それぞれの活動のペースに差が出てしまうので、それぞれの進み具合や顔色(!?)を見ながら、毎回素材や説明内容を調整して、少しでも楽しさを感じてもらえるように工夫しています。今回はScratchキャット(Scratchを開くとあらかじめ表示されるネコのキャラクター)とボールやリンゴなどが絡み合う表現までたどり着きました。


◎成果発表会
ワークショップ終盤の30分間は、表現コースとデバイス体験ラボに参加してくれた皆さんの作品発表会をします。
発表は全コース合同で行っています。これはScratchでどんなことができるのかについて、同じテーマでの他の人の作品や他コースの作品から、ヒントやインスピレーションを得る機会として活かして欲しいという思いからです。


◎振り返り
最後に振り返りシートに参加者自身の言葉で作品や活動について振り返ってもらい、ワークショップは終了です。
みなさん、お疲れ様でした。

【ちゃーりーからのコメント】
今回のテーマは「かく」でした。様々な「かく」が想定される中で、サンプルでは「描く」「書く」の二種類を作ってきました。プログラミングは絵やアニメーションや音楽、ゲームなど様々な表現が可能なツールです。しかしそれだけではありません。何かを作るときに必要になる「道具」すらも作ることができます。サンプルで提示した多機能なペイントツール「Scratch Paint」はScratchのスプライトで使える絵を描いて出力することのできるペイントエディタです。操作を間違えたときに取り消すことができる「Undo/Redo」の機能もついています。「Minimal Typewriter」はその名の通り最小限の機能を備えた英字タイプライターで、これも「.txt」形式の文章出力、文章入力に対応しています。そう、どちらも「描く」「書く」を生み出すための道具なのです。
表現コースとデバイス体験ラボの自由制作では、「かく」という動作を巧みに使った作品がたくさん生み出されました。Scratchのペンツールを使ったペイントソフトや、美しい幾何学模様を描くプログラム、ゲームの中にペンで道を描きながら進む斬新なインタフェースなど、それぞれの思い描く「描く」が詰まった作品。「Minimal Typewriter」を自分なりに実装したものや、漢字の書き取りクイズなど「書く」を表現した作品もありました。
自分や身近な誰かが使うことを想定してモノづくりに取り組むことはとても素晴らしい体験になります。作ることの先に使うことを想定すると、ただ作るだけでは見えてこない視点が手に入るからです。より楽しく、よりスムーズに使える方法を考えることはつまらない制約ではなく、新たな発想の源なのです。

【じんさんから:デバイスの紹介】
・ハードウェア環境:MacbookAir、BT接続Micro:bit
・ソフトウェア環境:MacOS microbit_more-0.3.0 デスクトップ環境(オフライン)
・その他:ハンディLEDライト、磁石
・展示物:Micro:bit制御のロボットカー(Dfrobots micro: Maqueen 1台、TAMIYA MicrocompyuterROBOT Crawler type、ツインドリルジェットモグラ号) ラジコン制御用 GamePAD)
・Windows10PCでMake:Code開発環境を展示