平成27年度 PBL教育支援プログラム 成果報告書「サーバプログラミング演習」

2017.01.31

科目名 サーバプログラミング演習
担当教員 柿崎 淑郎

Q1 PBLを導入した意図・目的

本科目は3年前期専門選択科目であり、プログラミング、オブジェクト指向、ソフトウェア開発方法論・設計論、データ構造とアルゴリズムなどの知識と技能を総動員して、過年次において学修した内容が集約され、発揮されるべき位置付けとなっている。
それまで別個の科目として独立し、その関係性が不明瞭であった学生も、システム開発全体を通して、学修してきた内容がどのように位置付いて、どのような役割を果たすのかを改めて再認識することになる。
本科目では、過年次に学んだ内容を遺憾なく発揮し、システム開発(問題解決)に取り組む科目として、P(Problem)BL型学習が適切に機能すると考え、取り組んでいる。  PBL導入の目的としては、システム開発という問題解決に取り組むことで、実践的な知識と経験を体得することである。

Q2 授業におけるPBLの実践方法

受講者は概ね100名程度であり、4~5名のチームを構成し、例年22チーム程度となる。全チームを2グループに分けて、各グループは隔週で受講するため、受講者にとっては全8週となる。
本科目は情報メディア学科演習室で実施され、担当教員1名に加え、副手6名の体制を準備しており、各副手が毎週2チームずつ担当することとなる。
本科目におけるPBLのPはProblemである。チーム構成後に各チームで開発するシステムの構想を行わせる(要件定義フェーズ)。教員から提示する課題は「何らかの問題を解決するか、新たな付加価値を生み出す、実用的な(自分たちが使いたい)システムであること」「システムはCRUD機能をもつこと」の2点である。CRUD機能とは、データを操作するCreate、 Read、 Update、 Deleteの各機能である。
前半3週ではサーバサイドプログラミングの基礎的な演習に取り組む。4週目にはそれらを総合したサンプルアプリケーションの開発を通して、MVCモデルによる開発を一通り学ぶ。後半3週はチーム活動として要件定義書、外部設計書、内部設計書に基づいてシステム開発を進める。教員・副手からの積極的な介入は避け、チーム内で問題解決ができるように「促し」を行う程度の介入に留めている。最終8週目には全チームの成果物を発表する発表会を行っている。発表会では10分と限られた時間の中で、なぜそのシステムを開発しようとしたか、どのような機能があるかなどを紹介の後に、実際に動かしながらデモンストレーションさせている。発表会においては発表チームを他チームがルーブリックで評価する受講者間の相互評価を取り入れている。
全講義期間を通じて、要件定義書、外部設計書、内部設計書の3つのドキュメントを作成し、毎講義に副手と教員によるチェックを行っている。これらのドキュメントに従ってシステム開発を進めるため、根幹となる重要な資料である。

Q3 授業における成績評価方法

提出された成果物(要件定義書、外部設計書、内部設計書、ユーザ操作マニュアル、発表会資料、開発したシステムのプログラム一式)を教員ならびに副手が評価し、チームとしての基礎点とする。
発表会においては、ルーブリックを用いて、発表チームを他チームが評価する受講者同士の相互評価を取り入れた。さらに、ルーブリックを用いて、チームメンバをチーム内で相互評価できるようにし、チーム内での協調性・作業量・責任感・貢献度を評価させた。相互評価の結果は、複数人の評価から中央値を採用した。
基礎点に、受講者による相互評価の結果を加味し、成績評価を行った。

Q4 学習成果の可視化の取組み

チーム内相互評価によって、チームメンバの誰がどのくらいの活動をしたかは評価されているが、十分とは言いがたい。
ソフトウェア開発の現場で一般的に用いられるバージョン管理システム(例えばgitなど)を用いることで、誰がいつどのくらいの頻度でどのくらいのコミットを行っているか、を取得可能になり、時間外学習量の把握も可能となるが、バージョン管理システムを本科目に用いるには、その習得に十分な時間を取ることができず、現時点での導入は困難であると考える。

Q5 PBLを発展させるための課題

PBL的な教授法あるいは介入法について、副手を十分に育成することができていない。
受講者各人の能力を活かした(あるいは補った)チーム構成がPBL型学習上は効果が高いと考えるが、必修科目ではなく受講者が事前に確定しないこと、プレスクリーニングを行うことが困難であることなどにより、いわゆる「仲の良い仲間」でチームが構成されることがほとんどであり、クラス全体としてのバランスに改善の余地がある。

Q6 授業の概要と進め方

第1回 ガイダンス、プロジェクト開発、開発環境構築 チーム分け、グループ分け、開発環境構築
第2回 Webアプリケーションの基礎技術、JSP   サーバサイドプログラミングの導入
第3回 MVCモデルに基づくソフトウェア設計   MVCモデルとサーバサイドプログラミングとの対応
第4回 チュートリアル   MVCモデルを用いたサンプルアプリケーションの開発とその説明
第5回 アプリケーション作成(1) VPSサーバへのデプロイ 授業時間の半分程度でVPSサーバの導入教育 残り半分の時間で班ごとのグループワークを進める 副手1名につき2班担当
第6回 アプリケーション作成(2)
第7回 アプリケーション作成(3) 全ての時間をチーム活動に当てている 副手および教員は各チームの進捗確認をしつつ、必要に応じて「促し」を行う
第8回 最終発表会   各チームの成果発表

〇PBLを主体とした教育への取組みに対する支援(PBL教育支援プログラム学内公募)

東京電機大学教育改善推進室では、平成23年度から「学生が主体となって学ぶ」形式を取り入れた、いわゆる「PBL(Problem-Based Learning又はProject-Based Learning)」による教育の開発・運営を「PBL教育支援プログラム」として支援し推進しています。
PBL教育支援プログラムは、これからPBLを取り入れていこうと考えている教員やすでに実践しているPBLをさらに工夫しようと考えている科目を対象に支援を行い、その実践と成果を学内の関係者と共有し、学生の学びを主体とした教育の推進を図ることを目的としています。