技術情報

MATLAB Mobile と ThingSpeak で学生が積極的に参加するプロジェクトベース ラーニングを実現


カリフォルニア大学デービス校の André Knoesen 博士と Marina Radulaski 博士から MathWorks に寄せられたコメント

エンジニアリングの問題解決コースでは、カリフォルニア大学デービス校 (UC Davis) の工学部 1 年生がプログラミングの基礎を学びながら、課題が部分的にしか定義されていない問題に取り組んでいます。COVID-19 のパンデミックでオンライン学習への移行を余儀なくされたとき、私たちは自ら、創造的な問題解決法を見つけました。コースがオンラインに移行したときに、学生の関心をどのように維持したらよいでしょうか。

私たちは、試験や授業内での評価よりも、学生チームが MATLAB® のスキルを利用して自分たちで選んだアプリケーションを構築する最終プロジェクトに多くの時間を割き、重点を置くことにしました (図 1)。MATLAB Mobile™ および ThingSpeak™ をコースに組み入れることで、学生が自身のモバイルデバイスからデータを取得し、異なる場所にいるチームメンバーと簡単にやり取りできるようにしました。また、ThingSpeak によって、学生たちは遠隔操作によるやり取りを促進するアプリを構築することができました。遠隔学習には困難な面があるにもかかわらず、コース終了時のアンケートや高品質のアプリから、学生が授業を楽しみ、教材を使った学習に積極的に参加していたことを確認できました。 

図 1. エンジニアリングの問題解決コースで学生が作成した MATLAB アプリ。

図 1. エンジニアリングの問題解決コースで学生が作成した MATLAB アプリ。 

オンライン学習の基礎

私たちは、この数年、MATLAB を使用してエンジニアリングの問題解決のコースを指導してきました。その理由の 1 つは、MATLAB を使用することで、未経験からでも短時間でプログラミングを習得できるからです。パンデミック以前から使用していた MATLAB ベースの教材やツールが、オンライン学習に移行する際の基礎になりました。対面で指導する場合は、たとえば Introduction to MATLAB zyBook1 の中から週替わりの読解問題を課題に出しました。各読解問題には、対応する概念を理解するための練習問題が用意されていました (図 2)。提出された課題は MATLAB Grader™ で自動的に採点され、すぐに個別のフィードバックを行うことができました。

図 2. 配列のインデックス付けの演習。画像著作権: Introduction to MATLAB zyBook

図 2. 配列のインデックス付けの演習。画像著作権: Introduction to MATLAB zyBook

講義では、読解問題で学んだ内容を復習し、対話的な MATLAB ライブスクリプトを使用して例題を通して進めていきました。ライブエディターを開いた状態で、配列処理、データ解析、フロー制御、手順およびオブジェクト指向プログラミング、UI 設計など、コースで取り扱うトピックごとに簡単なコーディング例のデモを行いました。 

1 学期の終わりには、学生たちはコースを通して学んだことを最終プロジェクトで応用していました。これらのプロジェクトでは、App Designer を使用してアプリを作成しました。グラフィカル要素はすべてオブジェクトとしてプログラムで制御されるため、UI 設計ではオブジェクト指向プログラミングの概念が強化されます。また、情報伝達において学生が自身の創造性を発揮する機会にもなります。

ThingSpeak および MATLAB Mobile を使用したスムーズな移行

zyBook およびライブスクリプトは、対話的な自己学習をサポートしているため、オンライン学習への移行が容易でした。ただし、いくつかのコース変更が必要でした。9 人の大学院生ティーチング アシスタント (TA) に加えて、このコースを受講したばかりの 2 人の学部生 TA を配置しました。オンラインフォーラムでは、学部生 TA が経験に基づいてヒントを共有したり、ガイダンスを行ったりしました。また、教材の紹介やデモを行うライブスクリプトを使用して、非同期型 (録画) と同期型 (ライブ) の講義の両方を行いました。

学生がアプリケーションの設計と実装により多くの時間をかけられるようにすることに加え、社会的距離の要件によりチームが密接に協力することができないとはいえ、チームにとって興味深い経験になるようにしたいと考えました。私たちは ThingSpeak および MATLAB Mobile に解決策を見出しました。

IoT 解析サービスとして設計された ThingSpeak には、初めてプログラミングをする人でも、データをクラウドに保存して共有することが可能な、便利で簡単に実装できるメカニズムが用意されていました。そして何より重要なのは、ThingSpeak を使うことで、学生たちがグループプロジェクトについて遠隔操作でお互いにやり取りできるようになったことです。一方、MATLAB Mobile を使用して、チームはモバイルデバイスに組み込まれているセンサーから GPS や位置、速度、加速度などの 他の実際のデータを取得することができました。 

学生は、カードゲーム、ダイスゲーム、センサーベースのアプリの 3 つのカテゴリーから最終的なプロジェクトを選択することができました。カードゲームやダイスゲームでは、ThingSpeak を使用して、プレイしたカードの組や数、またはダイスを振った数などの情報をプレーヤー間で交換する必要がありました。学生たちは、MATLAB Mobile を使用してモバイルデバイスからセンサーデータを取得し、MATLAB Drive を使用してセンサーデータをクラウドに保存し、ThingSpeak を使用して Web ベースのゲームを実装するためにデータセグメントを保存して取得しました。関数 thingspeakread および thingspeakwrite を使用して、ThingSpeak チャネルのデータの読み取りおよび書き込みを行いました。また、ThingSpeak を使用して、ツイートなどのアクションを起こしたり、可視化したりする学生もいました。学生たちは、App Designer で作成した対話型のアプリを通して、ThingSpeak と通信を行いました。

各チームは、アプリの構築に加えて、アプリのデモと作成したコードの機能を説明するビデオを作成する必要がありました。最近のプロジェクトでは、カードゲーム Crazy Eights、Yahtzee のほか、ユーザーの位置、速度、加速度を経時的に追跡するアプリ (図 3) などを実装しました。学生たちが作成したアプリとビデオを見るとき、私たちはその創造性と高度な内容にいつも感銘を受けます。学生たちは、実際のアプリケーションで具体的なデータを直接扱うことで、高いモチベーションを保つことができたのです。

図 3. ある学生が作成した、GPS センサーのデータを取得して追跡する MATLAB アプリ。

図 3. ある学生が作成した、GPS センサーのデータを取得して追跡する MATLAB アプリ。

あるチームでは、チャネルビューに地図の可視化を統合し、実際のデータから得られるライブの結果を表示しました (図 4 左)。そのチームでは、自分たちの個人データを使用することで、処理された結果をすぐに見ることができました。ThingSpeak チャネルで数値表示ウィジェットを使用した別のチームでは (図 4 右)、共有したゲームのデバッグを迅速に行うことができました。

図 4. 学生による最終プロジェクトのビデオ プレゼンテーションでの ThingSpeak チャネルビュー。

図 4. 学生による最終プロジェクトのビデオ プレゼンテーションでの ThingSpeak チャネルビュー。

対面型授業に戻るための準備

対面型授業の再開に向けたステップとして、カリフォルニア大学の各キャンパスで教室とオンラインを組み合わせたハイブリッドモデルを導入する際には、これまでに実装してきたコースの変更点の多くをそのまま保持する予定です。たとえば、在学生から圧倒的な支持を得ている学部生による TA プログラムは保持します。また、MATLAB Mobile や ThingSpeak を使用して、学生に一部の研究作業や最終プロジェクトをリモートで完成させることもおそらく継続することになります。これらの技術を取り入れることで、本来は理論に基づくプログラミングのコースではありますが、学生にハードウェアに触れる機会を与えることができます。これらのツールは、数百人規模の学生が在籍するクラスでも使用することができます。学生が自身のデバイスのセンサーを使用できるため、センサーハードウェアを用意する必要がありません。また、ハードウェアのセットアップを必要としないため、学生はすぐにデータ収集を開始することができます。これまでと同様、私たちの第一の目標は、実際のデータを収集、交換、解析する高度な対話型のアプリをわずか 10 週間で作成できることを学生に教え、彼らに自信を持たせることです。

学部生 TA のコメント

Mostafa Ibrahim と Teodora Petrovic は、エンジニアリングの問題解決コースで学部生 TA を務めました。ごく最近このコースを修了し、図 3 のアプリを作成した経験をもつ彼らは、アプリをどのように設計したか、チームとしてどのように取り組んだか、どこで行き詰まったか、技術的な質問に対する答えをどこで見つけたかについて説明するビデオを作成し、クラスメートをサポートしました。(彼らによると、MATLAB Central のフォーラムは非常に有益な情報源であったということです。)

Ibrahim と Petrovic は、このコースで学んだ MATLAB スキルを、TA を続けながら活用しています。「データの解析と可視化に MATLAB を使用する UC Davis フォーミュラ レーシング チームの一員として、MATLAB の使用経験が役立っています」と Ibrahim は語っています。

Petrovic は次のようにも語っています。「クラブや他の授業でも使用できる MATLAB について、多くのことを学びました。また、答えを探求し、探し出す方法も学びました。そして何より、うまくいかないことがあっても、挑戦し続けることの大切さを学びました。なぜなら、ついにやり遂げたとき、それが大きな満足につながるからです。」

1 André Knoesen 博士は Introduction to MATLAB の共著者です。

教員について

André Knoesen 博士は、UC Davis の電気およびコンピューター工学部の教授兼学部長です。彼の研究テーマの 1 つは、人間と電子システムとの相互作用を強化するためのセンサーおよびセンサーネットワークの開発と応用です。

Marina Radulaski 博士は、UC Davis の電気およびコンピューター工学部の助教授です。Radulaski 博士は、古典的および量子的な情報処理の分野で、ナノスケールでの光と物質の相互作用について研究しています。

公開年 2021