到達目標
技術者として必要なアルゴリズムの基礎を学び,学んだ内容をC言語で実現できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 代表的なアルゴリズムをプログラムとして実装し,改良することができる。 | 代表的なアルゴリズムをプログラムとして実装できる。 | 代表的なアルゴリズムをプログラムとして実装できない。 |
評価項目2 | | | |
評価項目3 | | | |
学科の到達目標項目との関係
教育方法等
概要:
技術者として必要なアルゴリズムの基礎を学び,その応用方法を習得する。また,実際の工学で使われている例を多く知ることで,決まった解法(公式)を覚えるのではなく,コンピュータを用いた問題解決法を学ぶ。
授業の進め方・方法:
課題について,実際にプログラムを作成し,動作を確認することで,アルゴリズムの理解を深める。4年次開講データ構造で学んだことを実際にプログラムとして実現することで,アルゴリズムとデータ構造の関係について理解を深める。代表的なアルゴリズムについて,C言語のプログラムとして実装する。
演習への取り組み30%,レポート70%で総合評価し,60点以上を合格とする。
注意点:
演習科目であり,実際にパソコンを使い,積極的にプログラミングに取り組むことが重要である。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
配列 ・順位付け ・エラトステネスの篩 |
エラトステネスの篩により,素数を求めることができる。
|
2週 |
エラトステネスの篩の改良 |
エラトステネスの篩を改良し,大きな素数を求める。
|
3週 |
探索 ・逐次探索と番兵 ・2分探索 |
逐次探索法における「番兵」について説明できる。
|
4週 |
探索 ・ハッシュ |
ハッシュ法を理解し,プログラムとして実現できる。
|
5週 |
スタック |
スタックを理解し,C言語で実現できる。
|
6週 |
キュー |
キューを理解し,C言語で実現できる。
|
7週 |
連結リスト |
連結リストとポインタについて理解する。
|
8週 |
連結リストによるデータ管理(1) |
連結リストを使ったプログラムを作成できる。
|
2ndQ |
9週 |
連結リストによるデータ管理(2) |
連結リストを使ったプログラムを作成できる。
|
10週 |
2分探索木 ・配列表現 ・動的表現 |
2分探索木を理解し,C言語で実現できる。
|
11週 |
2分探索木によるデータ管理(1) |
動的表現法により2分探索木を実装する。
|
12週 |
2分探索木によるデータ管理(2) |
動的表現法により2分探索木を実装する。
|
13週 |
整列(基本ソート) ・バブルソート ・直接選択法 ・基本挿入法 |
整列に関する基本的なアルゴリズムの特徴を理解する。
|
14週 |
再帰 ・フィボナッチ数列 ・ユークリッドの互除法 |
再帰の考え方を理解し,プログラムとして実現する。
|
15週 |
整列 ・クイックソート ・ヒープソート |
クイックソート,ヒープソートを再帰を使って実現できる。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 0 | 0 | 0 | 30 | 0 | 70 | 100 |
基礎的能力 | 0 | 0 | 0 | 30 | 0 | 30 | 60 |
専門的能力 | 0 | 0 | 0 | 0 | 0 | 30 | 30 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 10 | 10 |