🤖

初心者に向けた学びのデザイン -大学文化祭でのワークショップ開催

2022/12/19に公開


こちらは総コン Advent Calendar 2022の14日目の記事です。

10月29日~31日に開催された大学の文化祭で、初心者向けのプログラミング体験教室を開催したので、その時の話を書きます。


前提条件

  • ブース規模: 学習机2つ分ほど
  • 体験時間目安: 20分前後(MAX30分)
  • 対象年齢: 小学校高学年~

企画実施の経緯

チームでのゲーム制作は1年2年3年と経験してきたので、今年は何か一風変わったこと・来年度以降の示唆になりうるものをやろうと思い、「toioを使ったプログラミング体験教室」を企画・実行してきました。

  • 小学生~高校生向けのオンラインプログラミング塾でアルバイトをしており、「ビジュアルプログラミングツールを使ったものづくりを教える」ことには多く経験があった
    • 体験の難易度や流れの目測が立てやすかった
  • toioを使ったものづくりに自分自身が興味を持っていた
  • 動くハードがあると、それだけでテンションが上がる!

こういった理由から、「toioを使ったプログラミング体験」を選定しました。

制作したもの

toio Doで制作したプログラムのスクリーンショット
これとは別に「メッセージ1」を送信するスプライトがあります

Scratchライクなtoio用プログラミングツール「toio Do」を使って、画像のようなプログラムを組み立ててもらいました。
toioはレゴブロックとの相性が極めて良いように制作されており、レゴブロックにtoioをぴったりはめ込むことができます。体験者には 「ラジコンカーや、それを使ったレースゲームがつくれる」「それらの基本の部分をつくってみよう」 といった紹介をしました。
toioにレゴブロックでできた車のような外装をつけた写真

用意したもの

  • iPad mini 第6世代 *2
  • toio コアキューブ *4
  • toio コアキューブ専用充電器 *2
  • toio 簡易プレイマット *1
  • toio Do サンプルプログラム
  • ブース用貼り紙
  • レゴ製の目印
  • レゴ製の車
    「ロボットプログラミング体験」と書いてある貼り紙
    当日の朝の行きの電車で作成し、最寄りのコンビニで印刷した貼り紙です

体験の流れ

アイスブレイク(2~3分)

  • 他のブースで面白かったもの
  • サークルの別のゲームで面白かったもの
  • 年齢
    • 同年代以下に見える場合にのみ聞いていました。
    • 高校数学程度の用語を使って説明したほうがいいか、などを判断していました。
  • プログラミング経験を聞く
  • Scratchやtoioを触ったことがあるか・名前を聞いたことがあるかを聞く
    • プログラミング経験の有無にかかわらず質問していました。
  • 次の予定があるか聞く
    • ライブや待ち合わせなど、時間が決まっている予定がないかを聞いて、ゴール設定として伝えることを変えていました。

体験内容の紹介 / ゴールの共有(1~2分)

  • 体験してもらう内容の説明
    • アイスブレイク時点で聞いた内容(プログラミング経験・Scratchやtoioの知見有無)から説明の粒度を変えていました。
  • ゴールの共有
    • 予定がある人に対しては本来設定していたゴールよりも手前の内容を伝えることで、「全く体験できないまま時間になってしまった」感を減らすよう工夫していました。

toio自体の紹介(1~3分)

  • タイヤがついていて、前後移動と回転移動ができる
  • 音を鳴らせる
  • LEDを任意の色で光らせられる
    • 上記のような点を、対応するブロックを実際に動かしながら紹介しました。
    • 次の予定がある人の場合は口頭でざっくりと伝えるにとどめ、実演は飛ばしました。

Scratchでのプログラミングに慣れる / プレイマットの構造を理解する(2~4分)

  • マス目上の適当な場所にtoioを置く→旗のあるマス目にtoioを移動させる
  • これを2~3回行ってもらい、「真ん中が(x,y)=(0,0)」「絶対座標での指定」 などを習得してもらいました。
    • 絶対座標の指定にはこういう仕組みがあるので、仕組みに興味がありそうな人にはこのタイミングで話しました。

体験本編


画像のプログラムの制作を行いました。

  • 「toioを前に速さ70で30歩動かす」のブロックを直押ししてtoioを動かす
    • 前段で使ったブロックとは異なる「向きと歩数による相対的な移動」を習得してもらいました。
  • 画面上にあるスプライトを押してメッセージを送り、それを受け取って上記のプログラムが動かされるよう編集
    • このタイミングで、「”iPadをコントローラとしてロボットを動かす”ことができた!」といった声掛けをしていました。
    • メッセージ機能の仕様に関しては深入りせず、想定する時間配分とのギャップや体験者の年齢によっては、こちらで制作して返す形式で制作しました。
  • 変数「動いた距離」を追加し、toioが動く度に変数が加算されるように編集
  • 「動いた距離>200なら音を鳴らす」機能を追加
  • 動いた距離の初期化
  • 「旗が押されたら、スタート地点に戻り、ゴールに向き直る」機能を追加
    • ウォームアップとして試してもらった「絶対座標の指定による移動」を最後に使うことで、改めて2つの座標移動の違いを認識してもらう意図がありました。

注意していたこと

説明は求められたらする

大学の文化祭という性質上、高校生~大学生の来場者が多かったからです。
プログラミングの経験がない人であっても、いわゆる「プログラミングにおける変数とは」といった話よりは、中学 / 高校数学に寄せた「”これをxと置く”のxです」のような説明のほうが理解される印象がありました。(もちろん、体験時間をなるべくコンパクトにする意図もありました)(というかこちらが主目的)

少し迷っていたらヒントを出す

体験時間をなるべく(以下略)という目的もありましたが、大半が「中学数学以上の知識はあるが、プログラミングは未経験」という人だったので、無闇な焦りを感じないようにするために積極的にヒントを出していました。
ただし、ヒントの内容については「具体的なテスト方法」にとどめ、「とりあえず動かして、結果からヒントを得よう」 といったスタンスを伝えて、実験自体は自分でやってもらいました。

タイムマネジメントは厳密に行う(ように心がける)

そもそも次の予定がなくても、「一つの企画に時間をたくさんかけたくない(色々な場所を回りたい)」は大半の人が持っているニーズではあり、私の企画はサークルのさらに一部分だったため、想定している体験時間をオーバーしないようにかなり気を使っていました。実際には想定通りの時間配分でうまくいかない場合が(特に会期の始めには)多く、徐々に最適な時間配分を探っていきました。

所感

サークルの誰にも頼まれていないのに 「新しい風を吹かす…」 などと思い、「ボードゲーム制作」「お笑い」「占い」など血迷った結果としてプログラミング体験教室を企画しましたが、年齢層にかかわらず楽しんでもらえていてひと安心でした。
学校の授業でScratchを経験している人が多いのか、想定通り中高生の来場者はあまり悩む箇所なく制作ができていました。逆に、同学科(情報系)に通う学生は「たぶん形状的にこれとこれを組み合わせるんじゃないの?」のような手の動きがあまりなく、こうした「とりあえず試し」力を、我々は年月とともに失っているんだろうなと感じました。

参考

付録 -当日KPT原文

Keep
  • 人がいっぱい来た!
    • 私のブースだけじゃなくて文化祭自体の来場者が多い印象
  • 結構大人にも評判いい
    • 小学校の先生がめっちゃtoioに興味持ってた
    • 写真とってた
  • 教え方うまいって(それはそう)
  • 年齢関係なく楽しめてた印象
  • toioが動くだけで盛り上がる
Problem
  • 体験時間として想定してたよりは時間かかってる
    • アイスブレイクと熟考待つ時間が長かったかな
  • toio充電切れ早くない?
    • 予備あったから良かったけど、2台とかで回そうとしてたら多分休止期間あったな
  • 取り回ししやすいかな~でiPad mini持ってったけど、グループで来ててちょっと離れてみてる人は画面小さくて何が起こってるかわからなそうだった
  • そもそも指操作でプログラミングするの難しい説
    • PCかタブレット+ペンとかが良かったのだろうか
Try
  • ポスタースタンドがほしい!
  • 思ってるより時間がかかるので、toioの説明は削っていいかも
  • すでに出来上がってるプロジェクトの穴埋めだけしてもらうとか?

https://x.com/hmanxuewy/status/1587085659210014720?s=20

Discussion