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開発環境を展示