シラバス参照/View Syllabus |
科目一覧へ戻る/Return to the Course List | 2020/09/23 現在/As of 2020/09/23 |
開講科目名 /Course |
アルゴリズム論a/THEORY OF ALGORITHM(A) |
---|---|
開講所属 /Course Offered by |
経済学部経営学科/ECONOMICS MANAGEMENT |
ターム?学期 /Term?Semester |
2020年度/2020 Academic Year 春学期/SPRING SEMESTER |
曜限 /Day, Period |
金1/Fri 1 |
開講区分 /semester offered |
春学期/Spring |
単位数 /Credits |
2.0 |
学年 /Year |
2,3,4 |
主担当教員 /Main Instructor |
木村 昌史 |
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
木村 昌史 | 経営学科/MANAGEMENT |
授業の目的?内容 /Course Objectives |
アルゴリズムとは、狭い意味ではコンピュータを用いた問題解決のための処理方法のことであり、目的のプログラミングを行う上での前段階のものである。コンピュータによる処理は、必ずしも人間の思考による処理のプロセスとは同一ではなく、コンピュータ特有に単純化されたものが多い。アルゴリズム論aでは比較的処理方法が確立されているコンピュータ科学の基礎をなしている決定的アルゴリズムについて学ぶ。ここでは「問題解決とは何か」の考え方から始め、結果が予測できる問題についての基本アルゴリズムとその視覚化、図式化を行いつつその方法が理解できるようになる。基本的アルゴリズムは大きな問題を処理する上での要素的方法となり、多くの分野に適用できることになる。なおテーマごとのアルゴリズムの理解を深めるために、受講者には課外でのPCによる自習?演習により各種アルゴリズムの実践を体験できるものとする。 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
授業の形式?方法と履修上の注意 /Teaching method and Attention the course |
講義形式ではあるが、コンピュータ関連の科目であることから受講者には内容の理解を深めるために並行して課外でのPCによる自習?演習を推奨する。各回のテーマに関連したサンプルやデモファイルを配布するので学内や自宅で実行できる環境を準備しておくこと。具体的にはExcelとWebの基本操作程度は行えるものと想定している。 | ||||||||||
事前?事後学修の内容 /Before After Study |
受講者は事前に授業用WebサイトまたはPortaⅡに置かれる講義のレジメとともに、WebのソースやExcelファイルによるサンプルやデモを実行してみて各回の授業のテーマや内容を予習する(1時間)。 授業後には同所に置かれるPDF文書の講義資料を入手することにより復習を行い、内容の理解を深めることができる(2時間)。 また定期的にPortaⅡに課題が提示されるので指定された期限までに提出のこと。 |
||||||||||
テキスト1 /Textbooks1 |
|
||||||||||
テキスト2 /Textbooks2 |
|
||||||||||
テキスト3 /Textbooks3 |
|
||||||||||
参考文献等1 /References1 |
|
||||||||||
参考文献等2 /References2 |
|
||||||||||
参考文献等3 /References3 |
|
||||||||||
評価方法 /Evaluation |
PortaⅡに出題する各回演習へのレポート提出分を100%として評価する。 |
||||||||||
関連科目 /Related Subjects |
情報系科目全般 | ||||||||||
備考 /Notes |
特になし | ||||||||||
到達目標 /Learning Goal |
コンピュータ科学の基礎をなすアルゴリズムに関する専門知識を習得し、これを駆使して様々な問題を処理できるようにする。 |
回 /Time |
授業計画(主題の設定) /Class schedule |
授業の内容 /Contents of class |
事前?事後学修の内容 /Before After Study |
---|---|---|---|
1 | コンピュータとアルゴリズムの役割 | コンピュータにおけるアルゴリズムとはどのようなものか、またその役割について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
2 | データ構造とアルゴリズム |
アルゴリズムにおいてデータ構造の必要性と重要性について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
3 | ネットワークとソーシャルグラフ | 近年のネットワークのSNSの分析にも応用されるソーシャルグラフの方法について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
4 | ダイクストラ?アルゴリズム | 近年のネットワークの通信やGPSにも応用されるダイクストラアルゴリズムについて理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
5 | グラフ表現とアルゴリズム | アルゴリズムやデータ構造について数理的なグラフを用いることの有用性について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
6 | 探索のアルゴリズム | 基本的アルゴリズムの例として探索やデータ検索のためのいくつかの方法について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
7 | 文字列探索のアルゴリズム | 探索について特に文字列探索のボイヤー?ムーア法の有用性と効率性について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
8 | 整列のアルゴリズム(1)クイックソート等 | 基本的アルゴリズムの例として整列のいくつかの方法と特にクイックソートについて理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
9 | 整列のアルゴリズム(2)ヒープソート等 | 基本的アルゴリズムの例としてグラフを用いるヒープソートなどについて理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
10 | ハッシュ法のアルゴリズム | 整列を大量メモリと演算で高速化を図るハッシュ法などについて理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
11 | アルゴリズムと計算量 | アルゴリズムの効率に関連して計算量評価の重要性について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
12 | 木構造と索引付け | 各種アルゴリズムに多用されるデータ構造として木構造の応用方法について理解する。 | 事前:オンライン授業(一部) 事後:公開ビデオ視聴 |
13 | (実施しません) | (実施しません) | (実施しません) |
14 | (実施しません) | (実施しません) | (実施しません) |