【授業表題】 |
数学的アルゴリズム |
【授業の形態・方法・内容】 |
コンピューターの進化は数学の発展に大きく影響してきた.今日までコンピューターは,大量のデータを高速に処理するという元来の仕事をこなすだけでなく,人間の手だけでは表現しきれないような新しい問題を数学に提供し続けてきたのである.
コンピューターを数学の中で利用するときには,問題を解決するために必要な計算を一連の手続きとしてまとめたもの=「アルゴリズム」が重要な役割を果たす.この授業では,アルゴリズムの観点からコンピューターを用いることではじめて成立するような数学の問題について概観する.
授業内では,アルゴリズムの数学的な側面にのみ着目し,コンピューターを用いた実習は行わない.他方で,アルゴリズムをプログラム化して,コンピューター上で動作を確認する方法については解説を行う.受講者には,プログラミングに関する予備知識を求めることはないが,授業内で解説したアルゴリズムのプログラム化について独自に実習する積極的な姿勢が求められる.
この科目はワークショップ科目である.授業の進度に応じて,実習用の課題を提示する.提出された課題の評価についてはmanabaで個別にフィードバックする.授業は対面で行う予定であるが,新型コロナウイルスの感染状況等により大学の判断で遠隔授業に切り替わる場合がある.この場合は,A型+B型の遠隔授業となる. |
【到達目標】 |
数学的アルゴリズムの考え方に基づき独自にアルゴリズムを組み,コンピューター上で動作させることができる. |
【この授業科目とディプロマポリシーに明示された学修成果との関連】 |
(全学 DP2)幅広い教養と外国語に関する基本的な知識・能力 |
【事前・事後学習】 |
事前学習として,次回の授業内容で必要になる数学の知識について確認を行うこと(1時間).事後学習として,授業内で学習したアルゴリズムをプログラム化し(1時間),そのプログラムを改造してオリジナルのプログラムを作成すること(2時間). |
【授業計画】 |
第1回 |
流れ図
|
第2回 |
入力と出力
|
第3回 |
演算と代入
|
第4回 |
分岐
|
第5回 |
ループ
|
第6回 |
アルゴリズム
|
第7回 |
サーチアルゴリズム
|
第8回 |
ソートアルゴリズム
|
第9回 |
素数判定
|
第10回 |
ユークリッドの互除法
|
第11回 |
1次元セルオートマトン
|
第12回 |
2次元セルオートマトン
|
第13回 |
ライフゲーム
|
第14回 |
ライフゲームのパターン
|
第15回 |
ライフゲームのグラフ
|
第16回 |
|
第17回 |
|
第18回 |
|
第19回 |
|
第20回 |
|
第21回 |
|
第22回 |
|
第23回 |
|
第24回 |
|
第25回 |
|
第26回 |
|
第27回 |
|
第28回 |
|
第29回 |
|
第30回 |
|
|
【評価方法】 |
授業参加点(演習への取り組み等)を約50%,課題を約50%の割合で評価する. |
【教科書】 |
使用しない.資料を配布する. |
【参考文献】 |
必要に応じて指示する. |
【特記事項】 |
「文系のための基礎数学Ia」および「文系のための基礎数学Ib」で学習した内容(中学〜高校1年までに学習する数学の知識程度)を前提に授業を進める.また「コンピュータ・リテラシー入門」で習得したPCスキル(Excelの基本操作等)を前提に授業を進める. |
【開講期・曜日時限・ペア・教員名】 |
開講期・曜日時限が下記の表で示されていますが、履修できる曜日時限は学年・学科等により異なる場合があります。自分の「履修登録」画面に表示される曜日時限のみ履修登録することができます。 |
|