授業情報/Course information

開講学期/Course Start 2020年度/Academic Year  後期/Second
開講曜限/Class period 火/Tue 10,火/Tue 11
授業区分/Regular or Intensive 週間授業
対象学科/Department 情報電子工学系学科 夜間主コース
対象学年/Year 3年,4年
授業科目区分/Category 教育課程 主専門教育科目
必修・選択/Mandatory or Elective 選択
授業方法/Lecture or Seminar 講義科目
授業科目名/Course Title 情報工学演習D/Information Engineering Practice D
単位数/Number of Credits 2.0
担当教員名/Lecturer 服部峻
時間割コード/Registration Code C8708
連絡先/Contact 服部峻(教員室: V610, E-mail: hattori@csse.muroran-it.ac.jp)
オフィスアワー/Office hours 服部峻(金曜日 11:00-12:00)
実務経験/Work experience
更新日/Date of renewal 2020/06/29
授業のねらい
/Learning Objectives
シミュレーション対象となる現実世界のブラックボックス(挙動の仕組みが明でない)を多角的に分析した上で、数式等で適切にモデル化し、コンピュータ上でシミュレーション演習を行うことで、「予測を立てる」とはどういうことかを体験する。特に、その過程で必要となる数値計算の知識修得を具体的な目標とし、数値計算に関するプログラミング能力を修得する。また、数値計算等に関する技術文書を読解する能力、卒業研究論文執筆に向けて、書き手本位ではなく読み手本位の技術文書を作成する能力なども修得する。
到達度目標
/Outcomes Measured By:
目標1. 微分方程式や漸化式といった数学分野の問題に対して、数値計算等に関する技術文書(数式やモデルなど)を読み解くことができる。(技術文書読解能力)

目標2. 偶然等に支配される身近な問題に対し、そのブラックボックス(挙動の仕組みが明でない)を多角的に分析した上で確率等を用いて数式化、モデル化することができる。(問題分析能力)

目標3. より良い解を得るために最適なアルゴリズムを選択し、C言語を用いてプログラミングすることができる。(プログラミング能力)

目標4. シミュレーション結果の膨大なデータを取得し、グラフや表、統計量などを用いて適切に可視化することができる。(データ処理能力)

目標5. 書き手本位ではなく読み手本位の技術文書を作成することができる。(技術文書作成能力)
授業計画
/Course Schedule
総授業時間数(実時間);22時間30分
第1週:ガイダンス(技術文書作成のためのLaTeXやgnuplotの基本など)

第2週:ロジスティック方程式による人口推移のシミュレーション(1-1) 差分方程式表現によるロジスティック方程式
第3週:ロジスティック方程式による人口推移のシミュレーション(1-2) 微分方程式表現によるロジスティック方程式(オイラー法)
第4週:ロジスティック方程式による人口推移のシミュレーション(1-3) テーラー展開によるルンゲ=クッタ法
第5週:ロジスティック方程式による人口推移のシミュレーション(1-4) 2次のルンゲ=クッタ法(修正オイラー法)

第6週:年代別人口モデルによる人口推移のシミュレーション(2-1) 年代別人口推移モデル(数式)の理解
第7週:年代別人口モデルによる人口推移のシミュレーション(2-2) 現在からの未来予測
第8週:年代別人口モデルによる人口推移のシミュレーション(2-3) 過去から現在までの予測と実データとの比較検証
第9週:年代別人口モデルによる人口推移のシミュレーション(2-4) 現在or過去からの未来予測の互いの整合性の検証

第10週:n本腕バンディット問題を解くプログラムの作成と分析(3-1) n本腕バンディット問題の理解
第11週:n本腕バンディット問題を解くプログラムの作成と分析(3-2) スコア計算法の理解
第12週:n本腕バンディット問題を解くプログラムの作成と分析(3-3) 手動で試行(プレイ)するプログラムの作成と実行
第13週:n本腕バンディット問題を解くプログラムの作成と分析(3-4) 自動で試行(プレイ)するプログラムの作成と実行
第14週:n本腕バンディット問題を解くプログラムの作成と分析(3-5) ブラックボックス分析プログラムの実行結果をグラフや表、統計量などを用いて可視化
第15週:n本腕バンディット問題を解くプログラムの作成と分析(3-6) 各n本腕バンディット問題のブラックボックスの推定と戦略の立案、及び、その結果(スコア)の評価・考察

(定期試験は実施しない)

※授業時間だけでなく、計算機室の開放時間も有効活用して、主体的に演習に取り組み、自習すること。

新型コロナウイルス感染症の流行状況に伴い、学生への十分な周知のもと、授業計画・授業実施方法は変更する可能性があります。
教科書・参考書に関する備考 以下の学内及び期間限定Webページで、
演習内容及び演習課題を電子的テキストとして配布する。

http://www3.muroran-it.ac.jp/wits/~hattori/d/
成績評価方法
/Grading Guidelines
演習課題のレポート3本により総合的に評価し、100点満点で60点以上の者を合格とする。 但し、レポート3本は互いに等価に扱い、各々約33.3点の割合で評価する。
(レポート1本でも提出が欠けた場合、成績評価の対象とせず不合格とする)

各到達度目標の評価方法は、次のように行う。

目標1. レポート1のロジスティック方程式、及び、レポート2の年代別人口モデルに基づく漸化式の読解によって、到達度を評価する。

目標2. レポート3のn本腕バンディット問題のブラックボックスの分析過程、及び、その挙動の推測結果によって、到達度を評価する。

目標3. レポート3本において、各問題に対するシミュレーションプログラムのソースコード(適切なコメント付け、変数や関数などの命名を含む)、及び、実行結果によって、到達度を評価する。

目標4. レポート3本において、各問題に対するシミュレーションプログラムの実行結果に基づいて可視化されたグラフや表、統計量によって、到達度を評価する。

目標5. レポート3本のシミュレーション結果の考察や結論(まとめ)において、基本的な日本語文法(「てにをは」や句読点など)、変換ミスなどのケアレスミス、適切な章立て、パラグラフ分割、箇条書き、グラフや表の配置、本文中での参照などによって、到達度を評価する。

新型コロナウイルス感染症の流行状況に伴い、学生への十分な周知のもと、成績評価方法は変更する可能性があります。
履修上の注意
/Notices
演習科目のため、出席を単位取得(成績評価判断)の前提条件とする。やむを得ず欠席する場合は、必ず担当教員に届け出て許可を得ること。

到達度目標を充分に満たすレポートを作成するため、講義(演習)時のみでなく、計算機室の開放時間も有効活用して、主体的に演習、自習すること。

受講者同士の相談や協力は妨げないが、成果物(プログラムやグラフ、考察など)のコピーは厳禁である。コピーを発見した場合、コピー元、コピー先とも著しく悪い評価を付ける。受講者同士で相談や協力を行った場合でも、自らプログラミングし、自らの言葉でレポートを作成すること。

レポートの提出締切(納期)は厳守であり、提出の遅延は厳禁である。

演習を欠席することなく、レポート3本全てを締切期限までに提出した上で「不合格」評価となった場合でも、レポートの再提出(修正)は認めず、追加レポート等も課さない。不合格者は再履修すること。

演習の情報(詳しいスケジュールや配布資料など)は、以下の学内及び期間限定Webページで通知する。

http://www3.muroran-it.ac.jp/wits/~hattori/d/
教員メッセージ
/Message from Lecturer
プログラミングは、とても便利だけど、とても手間が掛かる、というのも一面です。しかし使い方が分かってくれば、ほんのちょっとの手間で、ほんのちょっと幸せになれる技術でもあります。コンピュータで存分に使うも良し、携帯電話・携帯ゲーム機などで日常的に使える便利なツールを作るも良し。しかし、それだけにとどまらず、モノの考え方・捉え方といったコンピュータを使わない分野にも応用が利きます。使い方が分かれば分かるほど、自身にとって便利なものとなっていきますので、頑張ってください!
学習・教育目標との対応
/Learning and Educational Policy
関連科目
/Related course
「情報工学演習A・B・C」にて、C言語プログラミングの基礎を修得しておくこと。

また、4年次必修の「卒業研究」において、研究課題の分析や解決、卒業研究論文(技術文書)の作成のベースになる。
備考
/Notes
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
該当するデータはありません
Active learning 1-1
/主体的学修(反転授業,小テスト,振り返り 等)
各演習課題に先立ち、配布テキスト等により十分な予習を行う。
Active learning 1-2
/上記項目に係るALの度合い
15%未満
Active learning 2-1
/対話的学修(グループ学習,協働,調査体験 等)
Active learning 2-2
/上記項目に係るALの度合い
該当なし
Active learning 3-1
/深い学修(複数科目の知識の総合化や問題解決型学修 等)
これまでの情報工学演習A,B,Cで修得したプログラミング技術を応用し、より実践的なプログラミング演習を行う。また、情報工学だけでなく、数学や社会学など、他の分野の知識も活用して、シミュレーション結果を技術文書としてまとめる。
Active learning 3-2
/上記項目に係るALの度合い
15%~50%