シラバス参照/View Syllabus |
科目一覧へ戻る/Return to the Course List | 2021/08/23 現在/As of 2021/08/23 |
開講科目名 /Course |
アルゴリズム論a/THEORY OF ALGORITHM(A) |
---|---|
開講所属 /Course Offered by |
経済学部経営学科/ECONOMICS MANAGEMENT |
ターム?学期 /Term?Semester |
2021年度/2021 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による自習?演習により各種アルゴリズムの実践を体験できるものとする。 学科専門科目として、情報学におけるハードウェア、ソフトウェア、ネットワークにわたる基幹をなす考え方を理解し、コンピュータを手段とした問題解決を発想できる能力を身につける(DP)。 また教職「情報」取得に必要な教科の指導法を修得するための教職関連科目でもある(AP)。 コンピュータ基礎科目を学んだ後、さらに広く情報学を応用するための基礎となることを目的とする。 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
授業の形式?方法と履修上の注意 /Teaching method and Attention the course |
?講義形式ではあるが、コンピュータ関連の科目であることから受講者には内容の理解を深めるために並行して課外でのPCによる自習?演習を推奨する。 ?各回のテーマに関連したサンプルやデモファイルを配布するので学内や自宅で実行できる環境を準備しておくこと。具体的にはExcelとWebの基本操作程度は行えるものと想定している。 ?各回の課題の回答例などは次回以降の授業時またはWebにて提示する。 |
||||||||||
事前?事後学修の内容 /Before After Study |
受講者は事前に授業用Webサイト(またはPortaⅡ)に置かれる講義のレジメとともに、WebのソースやExcelファイルによるサンプルやデモを実行してみて各回の授業のテーマや内容を予習する(1時間)。 授業後には同所に置かれるPDF文書の講義資料を入手することにより復習を行い、内容の理解を深めることができる(2時間)。 また定期的にWebに課題が提示されるので指定された期限までに提出のこと。 |
||||||||||
テキスト1 /Textbooks1 |
|
||||||||||
テキスト2 /Textbooks2 |
|
||||||||||
テキスト3 /Textbooks3 |
|
||||||||||
参考文献等1 /References1 |
|
||||||||||
参考文献等2 /References2 |
|
||||||||||
参考文献等3 /References3 |
|
||||||||||
評価方法 /Evaluation |
試験または前半?後半レポートを60%、PortaⅡに出題する各回演習への提出分を40%として評価する。 |
||||||||||
関連科目 /Related Subjects |
コンピュータ入門a コンピュータ入門b コンピュータ?アーキテクチャ 情報通信ネットワークa 情報通信ネットワークb 情報と職業 |
||||||||||
備考 /Notes |
|||||||||||
到達目標 /Learning Goal |
コンピュータ科学の基礎をなすアルゴリズムに関する専門知識を習得し、これを駆使して様々な問題を処理できるようにする。 |
回 /Time |
授業計画(主題の設定) /Class schedule |
授業の内容 /Contents of class |
事前?事後学修の内容 /Before After Study |
---|---|---|---|
1 | コンピュータとアルゴリズムの役割 | コンピュータにおけるアルゴリズムとはどのようなものか、またその役割について理解する。 | |
2 | ハードウェアとアルゴリズム |
CPUとメモリとの関係とコンピュータの演算の方法をアルゴリズムの観点から理解する。 | |
3 | 論理表現とアルゴリズム | アルゴリズムの論理的表現方法についてハードウェアとソフトウェアそれぞれの場合について理解する。 | |
4 | データ構造とアルゴリズム | アルゴリズムにおいてデータ構造の必要性と重要性について理解する。 | |
5 | グラフ表現とアルゴリズム | アルゴリズムやデータ構造について数理的なグラフを用いることの有用性について理解する。 | |
6 | 探索のアルゴリズム | 基本的アルゴリズムの例として探索やデータ検索のためのいくつかの方法について理解する。 | |
7 | 文字列探索のアルゴリズム | 探索について特に文字列探索のボイヤー?ムーア法の有用性と効率性について理解する。 | |
8 | 整列のアルゴリズム(1)クイックソート等 | 基本的アルゴリズムの例として整列のいくつかの方法と特にクイックソートについて理解する。 | |
9 | 整列のアルゴリズム(2)ヒープソート等 | 基本的アルゴリズムの例としてグラフを用いるヒープソートなどについて理解する。 | |
10 | ハッシュ法のアルゴリズム | 整列を大量メモリと演算で高速化を図るハッシュ法などについて理解する。 | |
11 | アルゴリズムと計算量 | アルゴリズムの効率に関連して計算量評価の重要性について理解する。 | |
12 | 木構造と索引付け | 各種アルゴリズムに多用されるデータ構造として木構造の応用方法について理解する。 | |
13 | ダイクストラ?アルゴリズム | 近年のネットワークの通信やGPSにも応用されるダイクストラアルゴリズムについて理解する。 | |
14 | ネットワークとソーシャルグラフ | 近年のネットワークのSNSの分析にも応用されるソーシャルグラフの方法について理解する。 |