へっぽこ社会人4年生がプログラミングを頑張る

へっぽこ社会人4年目がプログラミング系統を中心に書きたいことをつらつらと書きます

DojoCon Japan 2022 参加レポート Part 1

2022/11/28 に富山商工会議所で開催された DojoCon Japan 2022 に参加してきました。 3 年ぶりの現地開催ということで、全国各地の Dojo のチャンピオンやメンターがたくさん来場していました。

2019 年の参加レポート記事 同様に、今回の参加レポートも複数記事に分けて執筆します。 2019 年の参加レポートは、全部リリースするまでに約半年もかかってしまいましたが、今回は記憶が新しいうちに、参加レポートを書き切りたいと思います (笑) (あくまでベストエフォートですw)

Keynote

Keynote では CoderDojo 瑞穂 のニンジャとして活動している、前田優花さん、川口明莉さん、馬場音和さん、宇枝梨良さんによる、「みてきいて!世界を目指した私たちの 5ヶ月! 〜Technovation Girls Regional Winner Asia 〜」という題目の発表でした。

4 人のニンジャがチームで Technovation Girls という国際的なプロジェクトに挑んだ際の活動について発表されていました。 スマホ用の節水アプリを開発し、コンテストに応募したとのことです。

世界への挑戦の第一歩

Technovation Girls への挑戦のきっかけは、 Dojo のチャンピオンから、コンテストに参加してみないかと誘われたこと だったそうです。 4 人で協力してチャレンジすることが面白そうと思ったこと も挑戦の動機となったそうです。 もし 1 人だけでの挑戦だったら、不安で参加しなかったかもしれないとのことでした。

4 人はプロジェクトに挑戦する前から交流があったわけではなかったそうです。 最初は面識がなかったけれど、交流を深めることで仲良くなっていきました。

コンテスト終了までの間、毎週 Zoom で定例ミーティング をし、 議事録を作って Scrapbox に保存して共有 していたそうです。 定例以外でも、細かな連絡は Discord を使ってやり取りをしていたそうです。

様々な課題を乗り越えて

作品を作るまでには、様々な課題を乗り越える必要がありました。

  • テーマについての理解
  • 開発に関する課題
  • 発表に関する課題

テーマについての理解

コンテストのテーマは SDGs についてでした。 しかし、そもそも SDGs とは何かを知らない状態からのスタートだったので、まずは SDGs についての勉強をしたそうです。

SDGs のテーマに沿って、何を作るかのアイデアを 4 人で出し合い、たくさん出たアイデアの中から、まずは 5 つに候補を絞り込んだそうです。 さらにその中から、基準を決めて採点して、節水アプリの開発に決まったそうです。

開発に関する課題

開発に関しては、様々な課題に取り組む必要がありました。

スマホアプリとして開発するために、 AppInventor を利用することにしたのですが、 日本語の情報が少なく、勉強するのに苦戦した そうです。 日本語の情報がないので、外国語で解説されている YouTube の動画を見ながら勉強したとのことでした。

節水アプリを作る上で、 AppInventor の AI の機能を用いて、シャワーの音からどの程度シャワーの水が使われているかを測定する機能を実現したそうです。 しかし、より精度を上げるために、流水計も試してみることにしたそうです。

Micro:bit で電子工作をすれば実現できそうということで、 Amazon で流水計を購入したそうです。 しかし、説明書がなく、流水計が感知した水量の値を取得する方法を見つけるのに苦戦したようです。

水が流れると、流水計がパルス信号を送信して、水量が計測できるようにできたそうです。

発表に関する課題

アプリが完成しても、課題はまだありました。

コンテストの作品を発表するためには、動画を作成する必要がありました。 また、国際的なプロジェクトということもあり、 英語で発表 する必要がありました。

動画の作り方やスピーチなど、 Dojo のメンターやチャンピオンに相談をして進めたそうです。

プロジェクトを通じて得たもの

コンテストに応募し、 Regional Winner になったそうです。 日本はアジアに所属するので、 アジアでの優勝 にあたるとのことです。 また、別の国内のコンテストにも応募して、賞を取ったとのことです。

今回のコンテストを通じて、大きく 3 つのものを得られたそうです。

  • 友達
  • 技術
  • 経験

プロジェクトを始める前は、 4 人はお互いに面識がありませんでした。 しかし、プロジェクトをきっかけに仲良くなり、新たな友人となりました。

技術の面についても、アプリ開発や電子工作についてたくさんの学びがありました。 また、動画編集や発表などの技術面についても学べる機会となったそうです。

国際的なコンテストに作品を出して発表するという機会は 4 人にとって良い機会となったそうです。 それ以外にも、プロジェクト全体を通して、企画から作品制作、発表までの全体を通して、様々な経験を得られたようです。

質疑応答

質疑応答では、以下のような質問と回答がありました。

  • プロジェクトを進める過程でグループ内で揉めることはあったか? あればどう解決したか?
    • イデアを 1 つに絞る際に言い合いっぽいことはあった
    • 採点方式をとることで決めることができた
  • 普段学校ではどのような学びをしているか?
    • みんなと授業を同じように受けていて、特別なことをしているわけではない
    • SDGs については少し学校で学ぶ機会はあったが、プログラミングは扱わなかった
  • 次チャレンジする人に注意点を伝えるとしたら何があるか?
    • 早めに行動することが重要
      • 特にアイデア出しに時間がかかる
    • 得意分野で分担を決めると良いかもしれない

所感

国際的なプロジェクトに参加してみよう、というチャレンジ精神がとても良いなと感じました。 特に、コンテストに出す作品について、英語でプレゼンテーションしなければいけないので、心理的なハードルも高いはずです。 それでも、 みんなで協力してチャレンジするのであれば面白そう という好奇心旺盛さが、ニンジャならではだと感じました。

4 人でプロジェクトのアイデア出しから開発、発表もし、コンテストで Regional Winner という成果を挙げられたことも凄いと感じました。 定例会議をして、さらに議事録を作って共有もし、 大人顔負けのプロジェクト管理をしていた のも感心しました。

コンテストに作品を出すまでに、 4 人の努力も大きかったと思いますが、 回りのメンター達の助け があったことも、プロジェクトの成功に必要不可欠だったと思います。 コンテストについて、チャンピオンが誘わなければ、そもそも 4 人で挑戦することはなかったかもしれません。 また、 4 人だけでは解決方法が見つからない課題について、メンターという 助け舟を出せる存在がいた ことも、心理的な安心に繋がったのではないかと思います。

CoderDojo は 子供たちが自由にプログラミングを学んだり、何かを作ることができる場 を提供しています。 ただ学んだりモノを作るだけでなく、 Dojo にいるニンジャと交流を深めたり、わからないことを気軽にメンターに聞ける場 でもあると思います。

CoderDojo はプログラミングを学ぶことができる場所という認識をされることが多いと思います。 もちろん、子供たちが自発的にプログラミングを学ぶ場を提供する役割を担っていますが、その場を通じて ニンジャやメンターとのネットワークを作る コミュニティとしての側面もあると考えます。 単にプログラミングを学ぶ場というだけでなく、 プログラミングを通じたコミュニティ であることが CoderDojo の良さだと思います。


プログラミングコンテスト プレゼンテーション

プログラミングコンテストでは、全国のニンジャが応募した作品から、審査を通過した作品の最終審査が行われました。 最終審査では、製作者であるニンジャが 5 分の持ち時間で作品をプレゼンテーションします。

コンテストの審査結果は、来場者の投票によって決まります。 最も良いと思う作品に 1 票投票できます。

作品概要

以下の 5 作品が最終審査の対象でした。

  1. 大切なふるさとの四季

    ランプで住んでいる町の四季を表現した作品です。 プログラミング、工作、切り絵という、作者の好きな要素を詰め込んだそうです。

    最初は Micro:bit 1 つだけで作成しようとしたそうですが、サーボモーターでランプを回転させるときに、配線が絡まって回らなくなったり、電力不足などの課題があったとのことです。 この問題を解決するために、使用する Micro:bit を 2つに増やし、それぞれを通信させることで、ランプの光とモーターの制御を分けたそうです。 Micro:bit で制御する対象を分けたことで、配線と電力不足の課題が解決できたそうです。

  2. ちょいチャレ!

    小さな挑戦を習慣化するための、ちょっとしたチャレンジをランダムに出すアプリ作品です。 新たな挑戦を諦めてしまい、後々後悔することが何度かあったそうです。 小さな挑戦を習慣化すれば大きな挑戦にも躊躇しなくなるのではないかという発想から、この作品を作るに至ったようです。

    様々な挑戦に取り組めるように、70 個もの挑戦を用意したそうです。 また、モチベーション維持のために、達成度に応じてアプリ内の犬が成長するというゲーム性も持ち合わせています。

  3. 欠席君

    ハイブリッド型オンライン授業で、オンライン参加する学生のアクションを教員に伝えるためのロボット型の作品です。 対面とオンラインのハイブリッド型の授業では、オンライン参加でいくつかの課題があり、両立が難しいことが挙げられました。 オンライン参加の学生からは黒板が見えづらかったり、挙手しても教員に気づかれづらいという課題を解決するために、この作品を作ったそうです。

    オンラインシステムそのものを新たに作るのは難しいので、既存のオンラインシステムをサポートする方針で進めることにしたそうです。 カメラ、アーム、 LED を組み込んだロボットを作成し、オンライン参加の学生がロボットに対して操作をすることで、オンライン参加でも教員にアクションを伝えられるようにしていました。 例えば、アームを挙げることで挙手したり、何かしらのトラブルがある場合に LED を点滅させることで、教員にアピールできます。

  4. TeachableMachine – Scraper

    TeachableMachine 1 に学習させる画像を自動的に収集する作品です。 TeachableMachine では、カメラで撮った画像を学習させられて、手軽に学習させることができますが、カメラで撮れないものについては、画像を読み込んで学習させる必要があります。

    学習用の画像を自分で用意するかわりに、 Google 画像検索の結果をスクレイピングして収集し、 TeachableMachine に学習できるようにしたとのことです。 また、学習用の TM ファイルはリバースエンジニアリングをしたとのことでした。

  5. ブロックお絵かき

    模様の入ったブロック単位で絵がかける Scratch プログラムの作品です。 PC では、絵の細かい部分をマウスで描くのが難しいので、模様入りのブロックを用意することで、 PC でも簡単に絵が描けるようにしたそうです。 様々な模様のブロックに加えて、色の調整ができるカラーブロックもあるそうです。

    カラーブロックの実装が苦労した点で、複数の色を 1 つのカラーブロックで分けるのが難しかったそうです。 また、工夫した点として、処理の高速化が挙げられていました。

所感

どの作品も、作成過程での課題や困難があり、それを解決する方法を考えて実現できていることが凄いと感じました。 また、題材も 自分たちの身近な課題 を見つけ、 ソリューションを実現 している作品が多いところも面白いと思いました。 (3 年前も同じようなこと書いた気がする...)

今回のコンテストには、 DojoCon Japan 2019 でもプレゼンテーションをしていたニンジャが発表していて驚きました。 3 年前も面白い作品を作っていて、強く印象に残っていました。 そして、 子供って 3 年でかなり成長する ことを実感しました。

作品で使われている技術についても、発表で初めて聞いたものがいくつかあり、自分にとっても勉強になりました。 TeachableMachine や AppInventor は、発表を聞いて初めて知ったので、自分の知らない技術を知る良い機会となりました。

DojoCon でのプログラミングコンテストは、各地でそれぞれ活動しているニンジャが、どのような作品を作っているかを知ることができる良い機会だと思います。 また、他の Dojo のニンジャがどのような技術を使ってものを作っているかを知ることもできるので、メンターやチャンピオンにとっても、良い機会になるのではないかなと思います。


まとめ・考察

DojoCon Japan の Keynote をニンジャが務めるというのは、面白い試みだと思いました。 国際的なプロジェクトに挑戦した体験談を、ニンジャの目線から聞くことができ、自分にとって良い機会になりました。 Regional Winner という成果が得られたのも、 4 人の積極性 があり、さらに まわりにサポートできる人たちの存在 があったことが大きかったのだろうと思います。

プログラミング・コンテストでは、 3 年前と同様に、ニンジャたちの着眼点に驚かされるばかりでした。 ニンジャが 自身の身の回りで感じる課題 を見つけ、それに対して 解決のアプローチ を考えて実現するという、 大人でもなかなか難しいことを実行できている ことが凄いと感心していました。

今回のニンジャたちの発表を聞いて、積極的に活動してコンテストなどで成果を挙げていることが本当に凄いと感じました。 その一方で、保護者や先生など、まわりの大人たちの比較対象になってしまわないかなとも思いました。 杞憂かもしれませんが、 DojoCon で発表していた子たちは、こんな成果まで挙げれるのに、というような比較対象になってしまわないだろうかという心配も少なからず感じました。

コンテストの審査通過や賞を取ることは、ニンジャたちが積極的に活動した延長線上にあるもので、その過程も重要だと考えます。 偏見かもしれませんが、他の子供の成果と比較してしまう大人 (特に保護者) は決して少なくないのではないかと思っています。 特に、学校の成績などは顕著にこのような面が出ると思います。

子供にプログラミングなど、学校の勉強に置いていかれないように何かさせたいと思う保護者は多いと思います。 しかし、個人的には「させる」ではなく、興味が湧く方法を「一緒に見つける」ことが重要ではないかと考えます。

自分の関心が薄いことに取り組むのは、大人であったとしても決して負担は少なくないはずです。 しかし、「面白い」「楽しい」と感じられることであれば、継続して取り組むことも、そこまで苦ではないのではないでしょうか? 成績などの結果に目が行きがちですが、やはり何かをやり遂げるには、 自発的に継続できること が重要だと思います。 そして、そのきっかけを作るのは、大人も参加できる取り組みではないかと考えます。

もちろん、コンテストで賞を取るなどの成果が挙げられれば、素直に喜ぶべきだと思います。 もしコンテストなどで賞を取れなかったとしても、相手の良かった部分をリスペクトしつつ、自分たちの良かった部分は褒めて、子供たちが自信を持てれば良いのではないかなと思います。

何よりも大事なことは、子供たちが 自発的に取り組みたいと思える何かを持つこと ではないかと考えます。 そして、 CoderDojo は、子供たちにプログラミングに触れる機会を提供し、 自発的にプログラミングを楽しく取り組める場 となっていれば良いなと思います。


Part 2 へ続きます。 次回は聴講したセッションについて執筆する予定です。

[2023/10/29 追記]

執筆から期間が空いてしまったため、打ち切りにします。 すみません...


  1. Google が提供する AI モデルを学習できる Web サービス