到達目標
1,Processingの基本的な命令やベクトル,物理エンジンの使用方法を理解できる.
2,クラスの記述方法を理解し,新たなクラスを記述することができる.
3,物理現象をプログラムと1対1に対応して読むことができ,自分なりに応用することができる.
4,教科書の内容を理解した上で発表資料を準備し,他の受講者にわかりやすく説明することができる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 学習した内容の7割以上を応用することができ,また学習していない内容についてもリファレンスマニュアルを自ら調べ,応用することができる. | 教科書に掲載された基本的な命令について,5割以上の内容を理解し,自分なりに応用することができる. | Processingの基本的な命令やベクトル,物理エンジンの使用法について理解することができない. |
評価項目2 | 学習者自らが継承や多態性を利用した3つ以上の関数を持った新たなクラスを記述できる. | 教科書で紹介されたクラスに対して,関数を改変・追加したり,クラスを利用したプログラムを記述することができる. | クラスの概念を理解しておらず,クラスを利用したプログラムを読むことができない. |
評価項目3 | 教科書で紹介されたプログラムを理解しており,自分なりに新たな物理現象をシミュレートするプログラムを記述することができる. | プログラムと物理現象との因果関係の5割以上を理解しており,物理現象の条件を変更する数式やパラメータを適切に変更することができる. | 物理現象とプログラムとの対応が取れておらず,式や各種パラメータの意味を理解していない. |
評価項目4 | 内容を理解した発表資料を作成しており,他の受講者にわかりやすく説明することができる. | 説明しようとする内容の5割以上の資料を準備しており,教員のサポートにより他の受講者にも理解できるように説明できる. | 内容を理解しておらず,発表資料が未完成である.また,他の受講者に内容を説明できない. |
学科の到達目標項目との関係
学習・教育到達度目標 2-1
説明
閉じる
学習・教育到達度目標 6-1
説明
閉じる
JABEE (d)-(2)
説明
閉じる
JABEE (d)-(3)
説明
閉じる
JABEE c
説明
閉じる
JABEE e
説明
閉じる
教育方法等
概要:
様々な問題を計算機でプログラムとして実現する場合,コーディング上の工夫はプログラムの可読性や保守性などに大きく影響する.そこで,本講義では Processing による,クラスを用いた可読性と保守性の高いプログラムの記述法を学習する.ソースコードを読むことで,プログラムやアルゴリズムの様々なテクニックやデザイン原理について学んでもらいたい.
授業の進め方・方法:
本講義では物理現象を計算機でシミュレーションする際に必要となる,クラスや物理エンジンなどを用いた正確なプログラムの記述方法を学習する.具体的には,力,振動,粒子系,物理エンジン,セルオートマトン,フラクタル,遺伝,ニューラルネットワークといった課題を扱う.本講義は輪講形式とし,事前に教科書を読み,解説資料などを作成し,学生諸君らにより内容を解説してもらう.本講義では,クラスを用いた様々なソースコードを正確に読みこなし,自分なりに応用プログラムを記述できることを目標とする.この講義では,内容について理解することはもちろんであるが,輪講の当番でない週も予習を心がけ,発表者に積極的に質問するように努めること.講義の質問等は,直接,あるいはメールで随時受け付ける.オフィスアワーなどを有効に活用すること.
なお,学修時間の確保が十分か否かは,各自で担当して作成した解説資料を主とし,当日の解説の正確さなどを参考に確認する.
注意点:
学習した内容は実際に使用してみることを薦める.実際に利用してはじめて理解できる.
プログラムを読むことは大事であるが,それをイメージとして捉える練習をすること.
プログラムを読む際は各クラスや関数の動作に最大限の注意を払いながら丁寧に読むこと.
*再試験について 定期試験後に成績不良者については再試験を実施することがある.再評価では6割以上を合格とし評価は60点とする.
〇自学について
(事前学習)
各自が担当する部分の発表資料を作成しておく.授業当日はその資料を使用し他の学生に解説してもらう.
(事後学習)
一連の授業内容は連続しており理解が不十分なところがあると自分の担当部分の解説資料は作れない.各週ごとに理解できなかった部分は必ず復習し理解を深めておくこと.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
本講義についてのガイダンス |
科目の概要を説明し,担当を割り当てることで責任感を持って資料作成に当たってもらう
|
2週 |
乱数の発生方法 |
正規分布や確率の異なる乱数の発生方法,パーリンノイズを用いたプログラムが説明できる
|
3週 |
Processingにおけるベクトルの取り扱い |
ベクトルの加減算,正規化について理解し,速度や加速度への応用を説明できる
|
4週 |
重力・摩擦・空気抵抗を考慮したニュートン力学 |
さまざまな力を合成したニュートン力学のシミュレーションプログラムを説明できる
|
5週 |
角速度・三角関数を応用した振動系シミュレーション |
角速度と角度,三角関数や波のシミュレーションを理解する
|
6週 |
粒子系とクラス多態性の表現 |
粒子系シミュレーションと多態性の関係を説明できる
|
7週 |
物理エンジンの扱い方(1) |
基本的な物理エンジンBOX2Dが利用できる
|
8週 |
物理エンジンの扱い方(2) |
物理エンジンToxiclibsを利用できる
|
2ndQ |
9週 |
自立エージェントによる流体シミュレーション |
クラスを用いて自立エージェントを作成し,流れ場のシミュレーションに利用できる
|
10週 |
セル・オートマトンによる生物シミュレーション |
セルオートおマトンの基本プログラムをもとにライフゲームなどに応用できる
|
11週 |
フラクタルと再帰プログラミング |
再帰プログラミングを理解し,再帰によるフラクタル図形を記述できる
|
12週 |
遺伝と進化のシミュレーション(1) |
遺伝的アルゴリズムの基本的な動作について説明できる
|
13週 |
遺伝と進化のシミュレーション(2) |
遺伝的アルゴリズムの応用を説明できる
|
14週 |
ニューラルネットワーク |
ニューラルネットワークの基本プログラムの原理を説明できる
|
15週 |
[期末試験] |
|
16週 |
試験返却と解答 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 50 | 50 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 0 | 10 | 0 | 0 | 0 | 0 | 10 |
専門的能力 | 50 | 20 | 0 | 0 | 0 | 0 | 70 |
分野横断的能力 | 0 | 20 | 0 | 0 | 0 | 0 | 20 |