2025年 理工学部 シラバス - 数学科
設置情報
科目名 | アルゴリズム数理B | ||
---|---|---|---|
設置学科 | 数学科 | 学年 | 3年 |
担当者 | 相馬 直孝 | 履修期 | 後期 |
単位 | 2 | 曜日時限 | 水曜3 |
校舎 | 駿河台 | 時間割CD | N33N |
クラス | |||
履修系統図 | 履修系統図の確認 | ||
その他 | 実務経験のある教員による授業科目 |
概要
学修到達目標 | 基本的なアルゴリズムとその計算量を理解し、効率のよいアルゴリズムについて具体的な内容を交えて学ぶ。アルゴリズムを理解することで、効率的なプログラムを作ることや、用途に合ったソフトウェアの使い方・考え方を養うことができる。 |
---|---|
授業形態及び 授業方法 |
「対面授業」 パソコンを使用して実際にアルゴリズムを使ったプログラムを実行する。 プログラミング言語Pythonを使い、実行時間が短いがメモリを大量に消費するアルゴリズムや、実行時間が長いがメモリは少量で済むアルゴリズムを体感的に講義する。また、企業でのソフトウェア開発の経験事例をもとに、その体感の差がどのようにソフトウェア性能の差として現れるのかを示し、プログラム開発やソフトウェア選択をする上で必要となる基礎知識を実践的に会得する。 授業資料はCST-VOICEにて掲載する。 |
履修条件 | アルゴリズム数理Aを履修済みである事が望ましい。 |
ディプロマ・ポリシー(DP)及びカリキュラム・ポリシー(CP)との関連 | 本授業科目はDP1・4及びCP1・4に該当しています。 |
授業計画
第1回 | 半年間の授業内容をシラバスに沿って説明する 素数(1): RSA暗号と素数 | 【事前学習】アルゴリズム数理Aの内容を復習しておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
---|---|---|---|
第2回 | 素数(2): 決定的素数判定法(試し割り法、エラトステネスの篩) | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第3回 | 素数(3): 確率的素数判定法(Miller-Rabin法) | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第4回 | ソート(1) : バブルソート、選択ソート | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第5回 | ソート(2) : 挿入ソート、ヒープソート | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第6回 | ソート(3) : シェルソート、マージソート | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第7回 | ソート(4) : クイックソート | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第8回 | 総合演習(1)およびその解説 | 【事前学習】第1回から第7回の内容を再確認しておくこと。 【事後学習】総合演習でわからなかったところを復習する。 | 事前学習:180分 事後学習:160分 |
第9回 | 探索(1) : 逐次探索、二分探索、ハッシュ法 | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第10回 | 探索(2) : 二分探索木、平衡木、B木 | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第11回 | グラフ(1) : 深さ優先探索 | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第12回 | グラフ(2) : 幅優先探索 | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第13回 | グラフ(3) : ダイクストラ法 | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第14回 | グラフ(4) : A*(A-Star) | 【事前学習】CST-VOICEに掲載した資料を読んで理解できない箇所をまとめておく。 【事後学習】授業資料を読み直して理解を深め、ノートパソコンを利用して授業時間で説明だけとなった箇所を実際に実行しておく。 | 事前学習:120分 事後学習:120分 |
第15回 | 総合演習(2)およびその解説 | 【事前学習】第9回から第14回の内容を再確認しておくこと。 【事後学習】総合演習でわからなかったところを復習する。 | 事前学習:180分 事後学習:60分 |
その他
教科書 |
特に指定しない。適宜、資料を配布する。
|
---|---|
参考書 |
増井 敏克 『Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量 』 翔泳社 2020年 第1版
その他、授業中に指示する。
|
成績評価の方法 及び基準 |
提出物やレポートの内容に基づき、総合的に評価する。 |
定期試験等に ついて |
平常点やレポート等の課題による評価予定 |
質問への対応 | 質問は、メールアドレスまたはCST-VOICEで受け付ける。 メールでの問い合わせ時には、件名の最初に[アルゴリズム数理]と入れてから表題を入れること。(例えば「[アルゴリズム数理]課題について」のように書く。)また本文には、学生番号と名前を忘れないこと。 返信を早く欲しい場合はメールが好ましい。 |
研究室又は 連絡先 |
メールアドレス : soma.naotaka@nihon-u.ac.jp |
オフィスアワー | |
学生への メッセージ |
アルゴリズムとデータ構造を理解することは、実際のプログラムを作るうえで基礎となる部分です。また効率的なプログラムを作るためにも必要な知識で、ノートパソコンで試すことで理論をより理解できる面白い内容でもあります。しっかりと勉強しましょう。 |