到達目標
1.アルゴリズムの評価方法などの基礎知識を理解する。
2.アルゴリズム設計に必要な代表的なデータ構造について理解する。
3.整列、探索などの代表的なアルゴリズムを理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | アルゴリズムの評価方法などの基礎知識を理解し、その知識を問題解決に適用できる。 | アルゴリズムの評価方法などの基礎知識を理解し、その知識を使用できる。 | アルゴリズムの評価方法などの基礎知識を理解できない。 |
評価項目2 | アルゴリズム設計に必要な代表的なデータ構造について理解し、その知識を問題解決に適用できる。 | アルゴリズム設計に必要な代表的なデータ構造について理解し、その知識を使用できる。 | アルゴリズム設計に必要な代表的なデータ構造について理解できない。 |
評価項目3 | 整列、探索などの代表的なアルゴリズムを理解し、その知識を問題解決に適用できる。 | 整列、探索などの代表的なアルゴリズムを理解し、その知識を使用できる。 | 整列、探索などの代表的なアルゴリズムを理解できない。 |
学科の到達目標項目との関係
教育方法等
概要:
プログラム設計を行う際に必要となるアルゴリズムとデータ構造に関する知識と、代表的なアルゴリズムを理解し、習得する。メーカーでソフトウェア開発を行っていた経験を活かし、アルゴリズムの基本と設計技法などについて講義する。
授業の進め方・方法:
パワーポイントで授業を進めるが、アルゴリズムの理解のために、そのアルゴリズムを用いたプログラミングの課題を課す。
注意点:
ここで勉強するデータ構造やアルゴリズムは、プログラム設計の際に使用する部品となるものです。よく理解し、これらの部品を使いこなせるようにしてください。特に予習は必要ありませんが、授業中配布するプリントで指示する演習問題等をしっかり解いて授業の復習をしてください。
また、アルゴリズムの演習をJavaを用いて行います。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
アルゴリズムとは |
アルゴリズムの歴史、意味について理解する。
|
2週 |
基本的なデータ構造1 |
ポインタ型、列挙型、配列型、レコード型等のデータ構造について理解する。
|
3週 |
基本的なデータ構造2 |
線形リスト、木構造、スタックとキュー等のデータ構造について理解する。
|
4週 |
データの整列1 |
バブルソート、セレクションソート、シェルソート等について理解する。
|
5週 |
データの整列2 |
ヒープソート、クイックソート、マージソート等について理解する。
|
6週 |
計算の複雑さ |
計算の複雑さについて理解する。
|
7週 |
(中間試験) |
|
8週 |
探索問題 |
探索問題について理解する。
|
4thQ |
9週 |
探索問題 |
探索問題について理解する。
|
10週 |
グラフアルゴリズム |
グラフアルゴリズムについて理解する。
|
11週 |
文字列のアルゴリズム |
文字列照合のアルゴリズムについて理解する。
|
12週 |
基本的な数値計算のアルゴリズム |
基本的な数値計算のアルゴリズムについて理解する。
|
13週 |
アルゴリズムの設計手法、いろいろなアルゴリズム |
アルゴリズムの設計手法といろいろなアルゴリズムについて理解する。
|
14週 |
ファイル処理、データベースのアルゴリズム |
ファイル処理、データベースのアルゴリズムについて理解する。
|
15週 |
(期末試験) |
|
16週 |
総復習 |
これまでの総復習とまとめを行う。
|
評価割合
| 定期試験 | レポート | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 20 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 80 | 20 | 0 | 0 | 0 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |