ZACKY's Laboratory 山崎 進 研究室 Page Topへ

多能工プログラマを育成せよ!〜集中講義「組込みソフトウェア」2015をふりかえって

2015年度の大学院博士前期課程1年生向け集中講義「組込みソフトウェア」を9月14日(月)〜17日(金)の日程で開講しました。

この授業科目は「技術の学び方を学ぶ」をコンセプトとし,名古屋大学の舘伸幸さんと一緒に開発しました。

シラバスに掲載した授業のねらいを引用します。

本授業では主に簡単な組込みソフトウェアの開発方法を学習します。開発対象のシステムは LED や押しボタンなどがついたシンプルなマイコンボードです。組込みソフトウェア開発のエッセンスはこのような単純なシステムの開発の中に詰まっています。 この授業でとくに重視しているのが,実開発でも用いられるハードウェアに関する資料を読みながら自律的に問題を解決していくプロセスです。技術は急速に進化するので知識は陳腐化していく運命にありますが,だからこそ,技術ではなく技術の学び方を学ぶことが強く求められます。

2015年度に中規模のリニューアルをしました。新しい試みとして基礎演習を早期に完了した学生向けのアドバンストコース「デバイス・バイキング」にチャレンジしました。デバイス・バイキングとは,さまざまな種類のデバイスの中から学生がいくつか好きなものを選んで組込みアプリケーションを開発するというもので,私たちが新たに考案した授業スタイルです。これにより,大学院生にふさわしい,より高度な専門性を修得させることを意図しています。

デバイス・バイキングで用意した部品を一部紹介します。

デバイス・バイキングで学生たちが開発した作品をいくつか紹介します。

  • 障害物検知モーター制御: 赤外線測距モジュールとステッピングモーターを組み合わせ,赤外線測距モジュールで障害物を検知したら回転しているステッピングモーターを停止する想定でプロトタイプシステムを作りました。障害物検知モーター制御
  • モーションセンサー: 加速度センサーとアナログ電流計を用い,加速度センサーの位置をX軸Y軸に分解してアナログ電流計に表示します。可変抵抗を用いてキャリブレーションする機能を備えています。モーションセンサー
  • 電子鍵盤: 押しボタンと圧電スピーカーで鍵盤を作成しました。和音にも挑戦しましたが,時間内には完成しませんでした。電子鍵盤
  • テルミン的楽器: 超音波センサーと圧電スピーカーでテルミンのような楽器を作成しました。
  • MIDIシーケンサー: MIDIシールドにSC-D70をつなげて音を鳴らしてみました。MIDIシーケンサー
  • メッセージ表示器: 押しボタンとLCDを用いてメッセージ表示器を開発しました。数個の押しボタンによるUIが特徴的です。
  • スクリーンセーバー: LCDを用いたスクリーンセーバーを開発しました。テキスト画像が左右にスクロールします。メッセージ表示器とスクリーンセーバー

デバイス・バイキングの導入に伴い,今まで実施してきた Arduino と LED/スイッチを使った組込みアプリケーション「ラーメンタイマ」の開発演習の構成を見直し,教材や指導を最小限に削ぎ落とし短時間で集中的に開発できるようにしました。手取り足取り教えるのを思い切ってやめてしまい,学生たちが自分で技術情報を調べて開発する方針を採りました。これにより「技術の学び方を学ぶ」「自ら学ぶ力を持たせる」コンセプトをより明確に打ち出すわけです。

もちろんただ放置するのではなく,仕様分析や設計の段階で中間成果物を提出させて入念にレビューしました。レビューはソフトウェア開発能力を高めるのにとても有効です。

ラーメンタイマ

本授業で次のような成果が得られました。

  • 大学院生ともなると,基礎的な技術情報の調べ方を教えて,開発方法について大まかな方針を与えるだけでも,十分ものづくりプロジェクトを完遂できる能力を有することがわかりました。思い切って詳細を教え込まない方針を採ったのは,学生の自主性や問題解決能力を磨く上でとても良かったのではないかと思います。
  • 学生の技術レベルに合わせ個別に演習を進めることができました。電子回路やプログラミングに関する前提知識・スキルをほとんど持たない学生に対しても,逆に十分なシステム開発能力を持つ学生に対しても,それぞれのレベルに相応する理想的な学習成果が得られるようにできたのは,とても良かったと思います。
  • 集中講義(全15コマ/各コマ90分)の約半分,9コマ目の時点で,全受講生13名のうち8名がラーメンタイマを完了させることができました。これは2014年度までよりも早いペースでした。効率面で大幅に改善できたと言えます。
  • デバイス・バイキングにより学生の自在な創造性を引き出すことができました。学生はもちろん,教師側もとても楽しんで授業に取り組めました。
<< 「ソフトウェア開発の教育のビジョンを語ろう」@日本ソフトウェア科学会大会 共同研究型インターンシップ/共同研究型ソフトウェア開発>>