- 教材設計マニュアル資料2「教材企画書の書き方」(p.164-165)を見ながら,学習目標「UMLをもとにプログラムが書ける」の教材企画書を書いてみました(学習目標の全体像はこちら).
- 計算機演習IIとソフトウェア設計論(科目関連図はこちら)をしっかり理解していれば,この教材からスタートできるので,教材の通し番号を1としました.
- 前提テストの結果,理解不足だった場合には,あとで作る補習用の教材を学習することになります.
- まだ具体的なテスト問題はできていないので,あとで作成します.
- 自分で見返してみると,1時間程度の1つの教材で完結させるには学習項目がちょっと多いかなと思います.あとで学習目標ごとに分割するかもしれません.
OOP演習(1)
教材のタイトルと内容
モデル駆動プログラミング: UML をもとにプログラムを書こう!
与えられたUMLの図からオブジェクト指向プログラミング言語でプログラムを書く
対象者集団
次のことを学習済みの大学生・大学院生もしくは社会人
- UML の基本的な図の文法を理解している
- C言語の基本的な文法を理解している
内容選択の理由
- 自分がよく知っている内容/よくできることか?
- UML 2.0 から JDK 1.4 頃までの Java 言語へ変換する方法はよく知っている.
- 最近の Java 言語や,他のプログラミング言語,ライブラリの活用方法については事前に調査が必要である.ただし,これらにあまり依存せずに教材を構成できる.
- 教材作りの協力者が得られるか?
- 新たに研究室に配属された新4年生5名に協力してもらう.
- 事前テストの結果次第では新M1の4名にも協力してもらえる可能性がある.
- 場合によっては学生モニターを公募することも可能だろう.
- 短時間で学習できるか?
- 1時間程度で個別の変換方法を全て暗記するのは難しい.
- 小規模なモデルを個別の変換方法を見ながらプログラミングするならば可能である.
- 個別学習教材で,教材が「独り立ち」できるか?
- 下記が満たされれば,用意したモデルを元に作成したプログラムを実行して動作を確かめることで,理解しているか確認できる
- 変換方法のアルゴリズムを理解しやすい形で明確に定義する.
- あらかじめ動作確認のためのテストコードを用意しておく.
学習目標と目標の性質
- クラス図をもとにクラス定義のひな型を作成できる.変換ルールを適用しながら与えられたモデルをプログラムに変換するので,<知的技能>の目標である.
- 状態機械図をもとにクラスの状態を記述できる.変換ルールを適用しながら与えられたモデルをプログラムに変換するので,<知的技能>の目標である.
- シーケンス図を見ながらメソッドの概要を記述できる.変換ルールを適用しながら与えられたモデルをプログラムに変換するので,<知的技能>の目標である.
- アクティビティ図をもとにメソッドの中の処理を記述できる.変換ルールを適用しながら与えられたモデルをプログラムに変換するので,<知的技能>の目標である.
- 上記の図を組み合わせた UML モデルをもとにプログラムを完成させられる.上記を応用しながらモデルをプログラムに変換するので,<知的技能>の目標である.
- (副次的な目標) コード実装の視点で UML で書かれた設計図のレビューができる.チェックリストを適用しながらモデルの問題点を指摘するので,<知的技能>の目標である.
事前事後テスト
- 事前テストは,クラス図,状態機械図,シーケンス図,アクティビティ図からなる簡単な UML モデルを与えて Java 言語のプログラムに変換させる.これは学習目標5の事後テストと同じ問題である.うまく変換できなかった人を対象とする.
- 事後テストは5題(副次的な目標を含めれば6題)からなる.
- 関連を含む簡単なクラス図をもとに,変換ルールを見ながら Java 言語のプログラムを作成させる.これは学習目標1に対応する.
- 信号機の状態機械図と各色の処理を記述したプログラム断片をもとに,変換ルールを見ながら Java 言語のプログラムを作成させる.これは学習目標2に対応する.
- 簡単なシーケンス図をもとに,変換ルールを見ながら Java 言語のプログラムを作成させる.これは学習目標3に対応する.
- 簡単なアクティビティ図をもとに,変換ルールを見ながら Java 言語のプログラムを作成させる.これは学習目標4に対応する.
- クラス図,状態機械図,シーケンス図,アクティビティ図で構成される簡単な UML モデルをもとに,変換ルールを見ながら Java 言語のプログラムを作成させる.これは学習目標5に対応する.
- チェックリストを見ながら,誤りを含んだクラス図の問題点を指摘させる.これは学習目標6に対応する.
教材利用者の前提条件とそのチェック方法
- クラス図,状態機械図,シーケンス図,アクティビティ図の図形要素の名称を知っている必要がある.これらの図形要素に提示し,その名称を選択肢から選ばせる.全問正解すること.
- C言語の変数型,制御構造,関数について理解している必要がある.これらを使った簡単なC言語のプログラムを提示し,与えられた入力に対しどのような出力をするかを答えさせる.
報告書作成者名と点検者名
- 作成者: 山崎 進
- 点検者: 未定