あるくテック

日々試行錯誤しつつ実践中

プログラミングの授業をアクティブラーニングにするには

前回の投稿からずいぶん日が経ちましたが(汗)、今回はパフォーマンス課題と呼ばれる授業方法についてです。

実際の授業はどんな感じ?

アプリケーション開発の授業で利用する「Monaca」というツールの機能や現状を理解することを目的とした、ある日の授業の課題プリントは次のようなものでした。

 

今日のMission

お客様からの問い合わせがありました。回答を考えましょう。

 

あなたは、○○(クラスの略称)株式会社マルチデバイスアプリ開発課のメンバーです。

 

顧客

 公共機関(○○市)

 

問い合わせ内容

 公共サービスのためのアプリの開発を検討している。情報や提案が欲しい。

 

質問

1)どんなサービスが提供できる?

2)いろいろなデバイスを使っている市民が利用できるのか?

3)データベースとの連携はできるか?

4)その他提案があったら欲しい

 

この時は、複数人のグループで取り組んでもらいました。もちろん何を使って調べても良いです。むしろテキストになるような書籍の出版が追い付いていないこともプログラミングの授業では日常茶飯事ですので、自分達でネットで調べたり、もし必要であればパソコンを使って自分で実際に試してみる力も求められます。

ja.monaca.io

授業の流れ

  1. 今日のミッションとして、達成してもらいたいゴールを説明。
  2. 必要があれば補足説明を全体に、ただし最小限に。
  3. 課題に取り組む(教室内は自由に立ち歩きOK。相談OK。ネットも自由に利用。)※時間をできるだけ確保する。
  4. 教員(私)がお客役となり、各グループにプレゼンテーションをしてもらう。

きっかけ

こういった授業をしようと思ったのは、授業で使うツール(プログラミング言語や開発環境)の特徴をまず最初に理解させたかったからです。

アプリなどを作るためのプログラミング開発環境は、年々進化して驚くほど便利になっていく一方で、機能が増えて複雑になってもいます。そのため「このツールで一体何がどこまでできるのか」を学生が把握しにくくなっていました。


これは授業に一番良いツールを毎年選定し、必要と判断すれば授業での開発環境を変えていっていた私にとっても同じく課題でした。

 

システム開発の仕事をしていた時も使うツールの選定は慎重に選んでいたつもりだったことを思い出し、学生達にもシステム開発部門のスタッフになったつもりで調べてもらえれば、当事者意識をより持って考えられるのではと思いついたのがきっかけです。

 

合わせて自分で考えてみる体験や、協働の効果を感じることも狙っていました。

 

実は、パフォーマンス課題やGRASP(詳細は下記)といった言葉を知ったのは本当に最近です。

パフォーマンス課題とは

ストーリ仕立ての課題に沿って、問題解決を行う授業です。


パフォーマンス課題の要素

ところでパフォーマンス課題には「GRASPS」と呼ばれる6つの要素があります。

  1. Goal (目的)
  2. Role(役割 )
  3. Audience(相手)
  4. Situation(状況)
  5. Performance(完成品・結果)
  6. Standards(スタンダード・観点)

この頭文字をとってGRASPSと呼ばれています。必ずしも6項目全てが含まれる必要はないようです。

 効果は?

ツールについての講義を一方的に聞く授業ではないですし、学生達はそれぞれ知恵を出し合って積極的に取り組んでいました。

 

学生同士や時には私も参加して話す中で、コンピュータ用語であいまいに覚えていたものがあれば、その場で補足し合ったり確認することもできますので、分からないことがそのままにならず知識も増えます。

なぜ効果がでたのか

学生達がより積極的に参加できていたカギは「当事者意識」だろうと思います。

 

「就職」が徐々に現実的になり、またIT企業への就職へのあこがれも持つ学生にとっては、単なる講義よりも興味のある取り組みだったのだろうと。

 

また技術者として顧客に伝えることの大切さや難しさについて時々話しており(私も決して得意でなく努力継続中であることも含め)、互いを練習相手として協力することもできたのだろうと思います。