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