|
|
|
Theme |
Goals |
1st Semester |
1st Quarter |
1st |
オリエンテーション,第1章:アルゴリズムの基本 【事前事後学習の内容(3時間)】教科書(List1-1, List1-2, 演習1-1, 演習1-2,演習1-3,List1C-1,演習1-4, 演習1-5, List1-3, List1-4, List1-5, List1-6, List1-7, List1-8, 演習1-7, 演習1-8, List1-9, 演習1-9, 演習1-10, List1-10, List1-11, List1-12, List1-13, List1-14, List1-15,list1C-2, List1-16, 演習1-11, 演習1-12,演習1-13, List 1-17, 演習1-14, 演習1-15,演習1-16) |
オリエンテーション(授業の進め方,演習の実施方法,成績評価等の説明を中心に実施)の後,アルゴリズムとプログラムの違い,各種データ構造を説明できる.基本的なアルゴリズムの例題と演習問題をJavaで実装することができる
|
2nd |
第2章:データ構造の基本 【事前事後学習の内容(3時間)】教科書(List2-1, List2-2, List2-3,List2-4, 演習2-1,List2-5,演習2-2, 演習2-3, 演習2-4, 演習2-5, List2-6[A], List2-6[B], 演習2-6,List2-7, List2-8, List2-9, List2-10,演習2-7, 演習2-8,) |
基本的なデータ構造の例題と演習問題をJavaで実装できる.
|
3rd |
第3章:線形探索 【事前事後学習の内容(1時間)】教科書(List3-1,List3-2, List3-3) |
探索アルゴリズムおよび表中のデータを探索するアルゴリズムで最も単純かつ基本である線形探索について説明できる.加えて,線形探索における“番兵”およびデータの挿入・削除について説明できる.線形探索の例題をJavaで実装できる.
|
4th |
2分探索,演習 【事前事後学習の内容(1時間)】学習シートの総合課題(1),教科書(List3-4, 演習3-1,演習3-2,演習3-3, 演習3-4, 演習3-5,List3-5, 演習3-6, List3-6, List3-7,演習3-7, List3-8) |
あらかじめソートされているデータに対して,効率よく探索するための手法である2分探索法について説明できる.2分探索の例題と演習問題をJavaで実装できる.また,学習シート(総合課題)を取組むことができる.
|
5th |
ハッシュ法(1)チェイン法 【事前事後学習の内容(1時間)】教科書(List 3-9[A], List3-9[B], List3-9[C], List3-9[D], List3-10) |
データを効率よく探索するための代表的かつ最もよく用いられている手法であるハッシュ法について説明できる.ハッシュ法の例題をJavaで実装できる.
|
6th |
ハッシュ法(2)オープンアドレス法 【事前事後学習の内容(1時間)】教科書(List3-11[A], List3-12[B], List3-12[A],List3-12[B], 演習3-8) |
前回に引き続きハッシュ法,およびアルゴリズムの計算量について説明できる.ハッシュ法の例題と演習問題をJavaで実装できる.
|
7th |
前期第3~6回に関しての理解するプログラムを設計・実装・考察 【事前事後学習の内容(1時間)】学習シートの総合課題(2) |
前期第3~6回に関しての理解を確認するため,学習シートの総合課題をJavaで実装する.
|
8th |
アルゴリズムの理解度確認試験(授業時間内に実施) |
前期第3~6回に関しての理解を確認する.(授業時間内に実施し,解説を行う)
|
2nd Quarter |
9th |
再帰アルゴリズムの考え方 【事前事後学習の内容(1時間)】教科書(List5-1,List5-2,演習5-1,演習5-2, 演習5-3) |
再帰アルゴリズムについて理解し、説明できる.基本的な再帰アルゴリズムの例題と演習問題をJavaで実装できる.
|
10th |
再帰アルゴリズムの解析(1) 【事前事後学習の内容(1時間)】学習シート,教科書(List5-3) |
再帰アルゴリズムの解析(トップダウン法)について説明できる.例題をJavaで実装できる.
|
11th |
再帰アルゴリズムの解析(2) 【事前事後学習の内容(1時間)】学習シート,教科書(演習5-4, List5-4, List5-5, List5-6,演習5-5) |
再帰アルゴリズムの解析(ボトムアップ法),メモ化について説明できる.例題と演習問題をJavaで実装できる.
|
12th |
バックトラッキング(1)8王妃問題 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題 |
しらみつぶしを組織的かつ効率よく行う手法としてのバックトラック法について理解できる.例題と演習問題をJavaで実装できる.
|
13th |
バックトラッキング(2)ハノイの塔 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題 |
前回に続き,バックトラック法について理解し、説明できる.例題と演習問題をJavaで実装できる.
|
14th |
前期第9~13回に関しての理解するプログラムを設計・実装・考察 【事前事後学習の内容(1時間)】学習シートの総合課題(3) |
前期第9~13回に関しての理解を確認するため,学習シートの総合課題をJavaで実装する.
|
15th |
第14週に引き続き実施
|
第14週に引き続き実施
|
16th |
前期総合解説 |
|
2nd Semester |
3rd Quarter |
1st |
ソーティングの概念及び単純なソート法 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題(List6-1,演習6-1, 演習6-2) |
ソーティングの基本及び単純なソート法の1つである単純選択法について説明できる.例題と演習問題をJavaで実装できる.
|
2nd |
単純なソート法 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題(List6-2, 演習6-3, 演習6-4, 演習6-5, List6-3, List6-4, List6-5, 演習6-6から演習6-9) |
単純なソート法の続きとして,バブルソートについて説明できる.例題と演習問題をJavaで実装できる.
|
3rd |
シェルソート,クイックソート 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題(List6-6, List6-7, 演習6-10, List6-8,List6-9,List6-10,List6-11,演習6-11から演習6-14) |
シェルソートとクイックソートについて学ぶ.例題と演習問題をJavaで実装できる.
|
4th |
マージソート 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題(List6-12, List6-13, List6-14, List6-15, List6-16) |
マージソートについて学ぶ.例題と演習問題をJavaで実装できる.
|
5th |
ヒープソート(1) 【事前事後学習の内容(1時間)】学習シート |
3年次の情報数学の中のグラフにおいて学んだ木構造の概念を用いたヒープソートについて理解し、説明できる.また,これまでに学んだソートアルゴリズムの時間計算量によって比較・評価できることを説明できる.
|
6th |
ヒープソート(2) 【事前事後学習の内容(1時間)】学習シート,教科書の例題と演習問題(List6-17) |
ヒープソートについて例題をJavaで実装できる.
|
7th |
後期第1~6回に関しての理解するプログラムを設計・実装・考察 【事前事後学習の内容(1時間)】学習シートの総合課題(4) |
後期第1~6回に関しての理解を確認するため,学習シートの総合課題をJavaで実装する.
|
8th |
アルゴリズムの理解度確認試験(授業時間内に実施) |
後期第1~6回に関しての理解を確認する.(授業時間内に実施し,解説を行う)
|
4th Quarter |
9th |
線形リスト(1) 【事前事後学習の内容(1時間)】学習シート |
ポインタを用いた1方向線形リストの概念及びJAVA プログラムでの実現方法を説明できる.
|
10th |
線形リスト(2) 【事前事後学習の内容(1時間)】学習シート |
線形リストにおけるデータの探索・追加・削除について説明出来る.循環・重連結リストについて説明できる.
|
11th |
様々なアルゴリズムの理解(1) |
情報処理技術者試験に出題されたアルゴリズムに関する問題を用いて,様々なアルゴリズムを理解することができる
|
12th |
様々なアルゴリズムの理解(2) |
情報処理技術者試験に出題されたアルゴリズムに関する問題を用いて,様々なアルゴリズムを理解することができる
|
13th |
総合課題 |
与えられた課題をJavaで実装し,結果を比較し,考察することで,深く理解する.また,発表形式でプログラム・結果・考察を説明することにより,習熟度をチェックする.
|
14th |
総合課題の発表(1) |
総合課題の発表ができる
|
15th |
総合課題の発表(2) |
総合課題の発表ができる
|
16th |
総合解説 |
総合解説
|