シラバス情報

授業科目名
アルゴリズムB
学年
2年
単位数
2.00単位
実務経験の有無
開講クォーター
セメスタ指定なし
担当教員
亀山 浩文
授業形態
授業で主に使用する言語
日本語
授業方法区分
開講キャンパス
オンライン
授業の到達目標及びテーマ
アルゴリズムAでの学修を踏まえて、更に高度なアルゴリズムの理論を学ぶ。実用的レベルの処理のアルゴリズムが構築できることを目標とする。
イベントなどのチケットのキャンセル待ちを処理するプログラムや、大量のデータを如何に利用しやすく蓄積するか、またそのように蓄積された巨大データ群から必要な条件に合うデータを発見するにはどうすればよいかなど、将来利用できるテーマを選んで学ぶ。
本講義で学ぶ知識を活用すれば、WordやExcelなどのビジネス・アプリケーションソフトを高度に利活用することができる。入門レベルでの利用だけではなく、将来、実社会に出てからビジネスで応用できる力を身に付けることを目標とする。
アルゴリズムAから順に履修することを勧めるが、アルゴリズムBからでも履修が可能であるように授業内容を配慮している。

授業紹介動画:https://youtu.be/hM2pfvJTHc4
授業の概要
情報機器(ハードウェア、ソフトウェアの両面)を自在に活用するためには、アルゴリズムの理解が不可欠である。特にプログラミングでは必須の知識である。
本講義では、アルゴリズムaで学んだ知識を基に、実際により高度なプログラミングを行う。
必要に応じて、パソコン(PC又はMac)上でプログラムを作成・実行し、結果を確認しつつ理解を深める。
授業中に作成するアルゴリズムだけでなく、各テーマごとに発展問題を用意するので、各自的に学修すること。更に上級の知識とスキルを積極的に身に付けたい者には個別に対応する。

本授業は、【全てオンデマンド型のオンライン授業】として開講する。履修者は次の点をよく理解しておくこと。
〇履修者への連絡及び教員への連絡方法:
・履修者全体への連絡はLMSで行う。
・教員から履修者へ個別の連絡が必要な場合は、JIUメールを利用する。
・教員への連絡はLMSの掲示板を利用すること。
・個人的な内容を含む場合は、JIUメールを利用のこと。連絡先メールアドレスは授業時に伝達する。

〇学生等と教員、或いは学生同士の意見交換の方法:
・授業内容について、履修者との議論はLMSの掲示板を用いて行う。履修者相互の議論にもLMSの掲示板を利用する。
・毎週のオフィスアワーで意見交換をすることができる。

〇出席確認方法
・LMSの機能を用いた理解確認テストにより、毎回の授業の理解度を確認し、出席確認とする。

授業計画
1回
本授業は、【全てオンデマンド型のオンライン授業】として開講する。

受講案内
到達目標:授業の目的及び到達目標を理解し、次週からの授業を受講するための基礎知識を得る。
事前学習
本授業は、【全てオンデマンド型のオンライン授業】として開講する。

(2時間)
シラバスを読み、授業の流れを把握する。授業の到達目標と概要の欄の説明に意味の分からない言葉があれば調べておく。
事後学習
本授業は、【全てオンデマンド型のオンライン授業】として開講する。

(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
各自のノートPCのインストールソフトウェアを確認する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

2回
アルゴリズム概説 【オンデマンド型】
到達目標:アルゴリズムaで学んだアルゴリズムの知識を整理し、理解する。
アルゴリズムaを履修せずに本講義から履修を始める者に対しては、次週までに理解しておくべきアルゴリズムの基礎的知識を指示する。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。各自のノートPCに授業で必要なソフトウェアをインストールする。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。
アルゴリズムaを履修せずに本講義から履修を始める者は、指示された内容を学修(1時間程度)すること。

3回
プログラミング概説 【オンデマンド型】
到達目標:アルゴリズムaで学んだプログラミングの知識を整理し、理解する。
アルゴリズムaを履修せずに本講義から履修を始める者に対しては、次週までに理解しておくべきプログラミングの基礎的知識を指示する。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。
アルゴリズムaを履修せずに本講義から履修を始める者は、指示された内容を学修(1時間程度)すること。

4回
データの整列(1)単純交換法 【オンデマンド型】
到達目標:単純交換法の理論を理解し、アルゴリズを作成する。そのアルゴリズムを基に実際にプログラミングを行う。データ整列のプログラムに於いては、どの方法でも数千件規模のデータに対してプログラムが正常に動作することを確認する。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

5回
データの整列(2)単純選択法 【オンデマンド型】
到達目標:単純選択法の理論を理解し、アルゴリズムを作成する。そのアルゴリズムを基に実際にプログラミングを行う。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

6回
データの整列(3)単純挿入法 【オンデマンド型】
到達目標:単純挿入法の理論を理解し、アルゴリズムを作成する。そのアルゴリズムを基に実際にプログラミングを行う。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

7回目
データの整列(4)シェルソート 【オンデマンド型】
到達目標:シェルソートの理論を理解し、アルゴリズムを作成する。そのアルゴリズムを基に実際にプログラミングを行う。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

8回
データの整列(5)クイックソートと再帰アルゴリズム 【オンデマンド型】
到達目標:クイックソートを理解するため、その基礎となる再帰アルゴリズムについて理解する。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題を解答してLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

9回
データの整列(6)クイックソートの実際的アルゴリズムとプログラミング 【オンデマンド型】
到達目標:クイックソートの理論を理解し、アルゴリズムを作成する。そのアルゴリズムを基に実際にプログラミングを行う。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題のプログラムを作成して、正常に動作するかを確認する。このプログラムをLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

10回
アルゴリズムの評価と計算複雑度 【オンデマンド型】
到達目標:アルゴリズムには「良い」アルゴリズムと「悪い」アルゴリズムがある。アルゴリズムを作成するには常にその単純性と高速動作性を考慮する必要があることを理解する。アルゴリズムの評価方法と計算複雑度について基礎的な知識を得る。
事前学習
(2時間)
教科書及び配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
課題を解答してLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

11回
統計学の基礎 【オンデマンド型】
到達目標:第12、13回で学修する統計解析プログラミング言語「R」を利用するにあたって、必要となる統計学上の基礎知識を学ぶ。
事前学習
(2時間)
配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
指定された演習問題を解き、解答をLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

12回
R 及び RStudio の利用 【オンデマンド型】
到達目標:統計解析やデータ解析で多用されるRについて基礎的な知識を学ぶ。ソフトウェアのインストールについても解説する。Rは、単純な統計解析の枠を超えて、金融工学や時系列分析、人工知能分野の機械学習、データマイニングなどの多方面で利用されている。Rのデータ解析能力の柔軟性と視覚化の機能について知る。
事前学習
(2時間)
配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
Rをインストールし、指定された演習問題を解く。解答はLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

13回
今後の学びの発展を俯瞰した総合的復習 【オンデマンド型】
到達目標:アルゴリズムが実社会においてどのように利活用されているかを理解する。特に、第四次産業革命の中核技術である人口知能やIoT、データサイエンスの分野での応用について概説する。
事前学習
(2時間)
配布資料の該当箇所を読み、意味の分からない言葉があれば調べておく。
事後学習
(2時間)
重要事項・語句をまとめ、後で振り返り学修ができるようにする。
指定された課題を解き、解答をLMSに提出する。
理解確認テストを受け、理解が不十分な個所があれば、再度復習する。理解確認テストの点数によっては再受験を促すことがある。

14回
事前学習
事後学習

15回
事前学習
事後学習

16回
事前学習
事後学習

17回
事前学習
事後学習

18回
事前学習
事後学習

19回
事前学習
事後学習

20回
事前学習
事後学習

21回
事前学習
事後学習

22回
事前学習
事後学習

23回目
事前学習
事後学習

24回
事前学習
事後学習

25回
事前学習
事後学習

26回
事前学習
事後学習

試験及び成績評価
次の三つの指標を基に総合的に判断する。
〇授業の進行に合わせて課すプログラミング課題:50%
〇課題レポート:20%
〇毎回の授業で課す理解確認テスト:30%

授業には必ず出席し、課されたプログロムやレポート課題は全て提出することを要求する。
全ての課題提出にはLMSを用いる。評価などのフィードバックについてもLMSを用いる。
課題(試験やレポート等)に対するフィードバック
レポートの提出及び理解確認テストの実施は、すべてLMSを利用して行う。本授業では紙媒体を利用することはない。
理解確認テストの点数はLMSにより各自で把握できるので、理解不足の個所を重点的に復習すること。
理解確認テストの点数が一定の水準に到達しない場合は、復習後に再試験を課すことがある。再試験受験の指示もLMSを通じて連絡する。
提出されたレポート課題に対しては、LMSを通じてコメントを返す。必要であれば修正箇所を指定する。再提出を求められた場合も、LMSに提出すること。
講義で使用するテキスト(書名・著者・出版社・ISBN・備考)
『アルゴリズムとプログラミングの図鑑 第2版』
森巧尚
マイナビ出版
978-4839977092
300ページ程度の書籍であり、紙媒体は持ち運びに不便なので、Kindle版などの電子媒体での購入を強く勧める。
参考文献・推薦図書
『アルゴリズムとデータ構造 (岩波講座 ソフトウェア科学 3)』、石畑清 著、岩波書店、1989年、ISBN-13 ‏: ‎978-4000103435
『統計ソフト「R」超入門 〜実例で学ぶ初めてのデータ解析 (ブルーバックス)』、逸見功 著、講談社、2018年、ISBN-13 ‏: ‎978-4065020494
その他、適宜、授業中に指示する。
研究室
紀尾井町キャンパス1号棟3階
オフィスアワー
火曜日 昼休み、金曜日 昼休み・3時限目
科目ナンバリング
学位授与方針との関連
関連ページ
https://www.jiu.ac.jp/visitors/students/detail/id=1001