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