本リポジトリはJava演習向け自動生成システムのデータ管理リポジトリである.
生成プロンプトの一例はprompt_examples/に格納している.
- generate_code.txt
- 解答例コードを生成するプロンプトの一例
- generate_spec.txt
- 仕様・実行例を生成するプロンプトの一例
生成プロンプトを用いて生成された評価用データはdata/に格納している.
- normal/
- シナリオを用いずに生成された演習問題
- scenario/
- シナリオを用いて生成された演習問題
sample/に格納している.アルファベットの意味は左から順に以下の通りである.
| 標準入力 | ベースファイル | クラス数 | 規模 | 抽象度 |
|---|---|---|---|---|
| Yes(Y)/No(N) | Yes(Y)/No(N) | Single(S)/Multiple(M) | Short(S)/Long(L) | Low(L)/High(H) |
生成対象問題の問題情報を管理するファイルであり,以下の内容で構成される.
- クラス名
- 実行するクラス名を指定する
- WorkXYの形式で,Xは授業回を16進数大文字,Yは問題番号を16進数小文字で指定する
- 例:WorkAaの場合,第10回の10番目の問題となる
- 題材
- 生成する問題の題材を指定する
- 必須要素
- 解答例コードに必ず含まれていなければならない制御文やメソッドを指定する
- 複数指定する場合は半角スペースで区切る
- どちらか一方のみを必須要素とする場合は
|で区切る(スペースは不要) - 必須要素は次の行以降では利用可能要素(利用してもよい制御文やメソッド)として扱われる
- 標準入力
- 標準入力を行うかどうか(True/False)
- ベースファイル
- プログラムのひな型を仕様に含めるかどうか(True/False)
- クラス数
- 生成するクラス数を指定する
以上と指定する場合は*をクラス数の後ろに付与する- 例:
2*の場合,2つ以上のクラスを生成する
CSV形式であるため,カンマや半角スペースを含む場合はダブルクォーテーション"で囲む必要がある.
生成される仕様・実行例の出力形式を記述する.