情報畑でつかまえてロゴ
本サイトは NTTテクノクロスが旬の IT をキーワードに
IT 部門が今知っておきたい最新テクノロジーに関する情報をお届けするサイトです

エンジニアが本気で⼩学⽣向けプログラミング教育をやってみた

NTTテクノクロスに在籍するエンジニアがおくる「⼩学⽣向けプログラミング教育」のブログです。

1.はじめに

こんにちは。NTTテクノクロス デジタルツイン事業部の神原 健一(カンバラ ケンイチ)、戸部 雄太郎(トベ ユウタロウ)、神長 貴博(ジンチョウ タカヒロ)、フューチャーネットワーク事業部の三池 真紀(ミイケ マキ)、石上 美紀(イシカミ ミキ)です。

2021/11/16、2021/11/30、2021/12/14、2022/1/18に川崎市立上丸子小学校で実施したプログラミングクラブの様子を紹介します。

2. Androidアプリ

2021/11/16、2021/11/30、2021/12/14のプログラミングクラブでは、実際のAndroidのスマートフォン/タブレットで動くアプリを作ってみようというテーマの元、MIT App Inventor 2(日本語化版)を使ったプログラミング体験を行いました。

ここでは、各回の様子とメイン講師、補助講師から見た生徒の様子を紹介します。

2-1. プログラミング体験の様子

2021/11/16 簡単な足し算アプリを作ろう

今回初の試みとして、Androidアプリを作って動かすというところを実施してみました。

ここでは足し算を行うための簡単なアプリを作ることを目標としました。

mitinventor_tashizan.png

まずは、アプリの画面を組み上げました。初めてのツールを使い、自由度が高い分、やや戸惑う点も見られました。

mitinventor_screen.png

作成した画面に対してボタンを操作した時などの動きについては、ブロックを使い組み立てます。 これはScratchでのプログラミングに近いので、すんなりと進められたようです。

mitinventor_block.png

さて、アプリができた後は、実際に端末上でアプリが動く様子をみました。 QRコードを使って作成したアプリを手元のタブレットに取得するという流れだったのですが、それも新鮮だったようで、その後自分の作成したアプリが自分の手元で動いた人は嬉しい声を上げていました。

2021/11/30 足し算アプリの見た目を整えよう

さて、足し算アプリとして動かせるようになった後は、見た目や入力規則を整えて、使いやすくするというテーマにしました。

また、画面やボタンの色を変えることも試していただきました。

全体的にパステル調にしたり、ダーク調にしたりなど、人それぞれの個性がよくでる回でした。

参加した生徒の皆さんがそれぞれ自分の作ったアプリが端末上で動くのを確認し、また他の人に自分のアプリを見せて自慢している様子が見られました。

mitinventor_tablet.jpg

2021/12/14 音声認識アプリを作ろう

これまで学習した「画面設計」「プログラミング」の知識を活かし、音声認識アプリを作りました。今回作成したのは、ボタン押下により音声認識処理を呼び出し、マイクから入力した音声をテキスト変換して表示するアプリです。

MitAppInventorの画面設計に関する知識は十分身に付いたようで、スムーズにデザインできていました。ボタンや文字の色を変更して、個性溢れるデザインを設計した生徒もいました。

mitinventor_20211214_2.png

ブロック編集(プログラミング)では、今回初めて音声認識のコンポーネントを使用しました。ここは、少し難しかったと思いますが、みなさん一生懸命に取り組み、時間内に完成することができました。

出来上がったアプリをインストールしてみたところ、作成したブロックに不具合がありうまく動作できなかった生徒もいました。しかし、不具合を修正して再インストールすると、想定通りに上手く動作させることが出来ました。プログラミンをする上で避けては通れない「不具合を直す」ことも経験でき、非常に良いプロセスだったと感じます。

mitinventor_20211214_3.jpg

作成したアプリをタブレット端末にインストールし、実際に音声入力を行いました。少し恥ずかしそうに声を入力する子もいれば、「OK google!」と言って音声認識している生徒もいました。いずれの生徒も、「音声が文字になる」ということに、とても感動している様子でした。

2-2. 所感

戸部

Androidプログラミングの回では、生徒の皆さんに一番最初に各ご家庭にスマートフォンがあるか、という質問をしました。その回答は生徒全員が何かしらスマートフォンに触れる機会がある、という状況でした。 そのようなまさにデジタルネイティブ世代の中で、生徒の皆さんに興味を持っていただける題材として選んだのがスマートフォン上で動かせるアプリケーションを作ることでした。

クラブでは 『MIT App Inventor 2』 を利用しました。画面を作るところは新しい要素ですが、ボタンなどをタップした際の処理についてはScratchのブロックと同様の考え方で組み上げることができ、 Scratchに慣れつつある生徒にとっては親和性の高いものであったのではないかと思います。

最初は足し算のアプリから入り、見た目を整えたり、スマートフォンの機能(今回はマイク)を使うなど、段々と複雑なアプリ作成に進みました。 アプリ作成では生徒それぞれの特徴がよく出ており、例えばマイクを使う回では、「Siri」や「Ok, Google」など、普段から触れているサービスをアプリの名前に使うなど、 今の子供だからこそ出てくる発想だと感じました。

今回はタブレット上で自分の作成したアプリを動かすというところまで実施しましたが、 そのタブレットを操作している姿も中々に様になっており、油断していると、大人もすぐに追い越されてしまうかもしれないと感じました。

Androidアプリを作る試みは初めてでしたが、生徒たちは楽しみながら、自分たちの作ったアプリが動く様を喜んでいました。 この体験を通じて、馴染みのあるアプリが決して遠い世界なものではなく、より身近なものだと感じていただけたのであれば幸いです。

石上

今回初めてメイン講師を担当しました。いままで補助講師を担当してきましたが、メイン講師となると、「もっとこうすればよかった」という反省が多く浮かびました。特に、画面に向き合っているマスク姿の生徒の表情から、理解度を把握することに苦戦しました。この点は、理解の早い生徒が多かったことに、大変救われました。

今回は、講師画面が見えづらい生徒(後方席の生徒)向けに資料を配布しました。資料配布により、スムーズな理解に繋がったと思いますが、「自分で考える」という点を考慮すると、正解が記載された資料ではなく、問題形式の資料にした方が良かったかなと思います。 今後またメイン講師をさせて頂く機会があれば、生徒の表情や画面が講師からは見えづらい点も考慮した上でシミュレーションを行い、臨みたいと思います。

神原

昔からスマホアプリ開発に携わっていることもあり、自分が初めてスマホアプリを作ったときのことを思い出します。PCで苦労しながらもスマホアプリを開発し、手元にあるスマホ実機で動かしたときは、非常にわくわくしたことを今でも覚えています。

そんな過去の経験もあり、今回の題材に子供たちからどのような反応があるか、自分も高い関心を持っていました。結果として、子供たちが作ったアプリを楽しそうにタブレットで動かしている姿をみて、昔の自分を思い出すような感覚もありました。今後も、子供たちが楽しく取り組めることを大切にしつつ、こういった活動に取り組んでいけたらと考えています。

神長

MIT App Inventor 2初体験にも関わらず、生徒達が直ぐに慣れ、どんどんアプリを改造したり、より良いものにブラッシュアップする姿が印象的でした。 また、自分が作成したアプリをタブレットにインストールする体験が初めてだったこともあり、各回共に非常に盛り上がりました。

3. 機械学習

2022/1/18のプログラミングクラブでは、機械学習のプログラミングに特化したScratch3『Stretch3(ML2Scratch)』を使い、機械学習データを作成し、アプリを完成させる体験を行いました。(「Scratchではじめる機械学習 ―作りながら楽しく学べるAIプログラミング (オライリー・ジャパン)」に掲載されているプログラムを利用してます。)

stretch3_1.png

機械学習データの作成は、『ジャンケンの手(グー・チョキ・パー)』を各20枚ずつ撮影し、それをPCに学習させました。そして、作成したデータをジャンケンアプリに読み込ませ、アプリを完成させました。

stretch3_2.png

3-1. プログラミング体験の様子

機械学習データの作成〜ジャンケンアプリにデータを読み込ませてアプリを完成させることは、問題無くスムーズに進めることができましたが、PC付属のカメラの性能、撮影を行ったロケーション等の要因で学習データ自体の精度は今ひとつでした。

stretch3_3.jpeg

プログラム完成後は、精度を向上させる為、画像データの枚数を増やして機械学習データの再作成やジャンケンプログラムの改造を行う時間を設けました。この時間で生徒達は、アプリが出力するメッセージを変更したり、プログラム内で使用しているScratch Catのスプライトを改造したりしました。改造したアプリは、プログラミングクラブの最後に時間を設け、数人の生徒に発表を行ってもらいました。

stretch3_4.jpg

3-2. 所感

神長

GIGAスクール構想が施行されたこともあり、生徒達のPCスキルが格段に向上しているとクラブを通じて感じることができました。数年前は、ドラッグ&ドロップ、ファイル/フォルダといった用語の解説や全角半角の切り替え、ローマ字入力のやり方等を説明してからクラブを開始してたところ、現在ではプログラミング即開始できるまでになり、ICTの活用が日常のものになっていることを強く感じました。

そういったこともあり、クラブ内で生徒に自由にプログラムの改造を行なってもらうと色々な発想が詰め込まれた素晴らしいプログラムができるところを何度も目にすることができました。来年度も川崎市立上丸子小学校でクラブを指導する機会が得られるのであれば、より生徒達の発想を刺激できるようなコンテンツを提供して行きたいと思いました。

最後に、今年度は、 『Stretch3(ML2Scratch)』 を川崎市立上丸子小学校のプログラミングクラブを含む色々なロケーションで活用しました。活用すればする程、自分達の生活の一部となっているAIの技術を簡単且つ、楽しみながら学べるツールであることを感じました。来年度もコンテンツの一つとして、多くの場所で活用しようと思いました。

戸部

自分の子供の教科書を見ていると、最近の小学生の授業では機械学習というキーワードが普通に出ていたことに驚きました。 とはいえ、実際にどんなことをやっているのか、という点について教えることはなかなか難しいかもしれません。

そんな時に、今回のようなコンテンツで実際に体験ができると、イメージもつきやすくて満足度も高いのではないかと感じました。 また、子供から大人まで広い範囲に適用しやすそうなのも良い点だと思います。

今回は機械学習を行なって、それを使って識別するところまでを取り上げましたが、 たとえば「より識別の精度を上げるには」というテーマでディスカッションの場を設けたり、AI技術者の実体験を交えるなど、さらに内容の幅も広げることもできるかもしれないと感じました。

4.最後に

最後までブログを読んで頂き、ありがとう御座いました。

次回のコンテンツについては、鋭意検討中です。次回も楽しみにして頂ければ。それでは。

著者プロフィール
神長 貴博(ジンチョウ タカヒロ)
神長 貴博(ジンチョウ タカヒロ)

IoTイノベーション事業部 第1ビジネスユニット所属

iOS・Androidアプリの開発をしてます。趣味は「ランニング(横浜マラソン、川崎国際多摩川マラソン等の大会に出場してます)」と「食べ歩き」です。