到達目標
1.重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。
2.簡単な応用問題に対し、有効なアルゴリズムを作成できる。
3.CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。 | 重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を一定程度に理解し、応用できる。 | 重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解、応用できない。 |
評価項目2 | 簡単な応用問題に対し、有効なアルゴリズムを作成できる。 | 簡単な応用問題に対し、有効なアルゴリズムを一定程度に作成できる。 | 簡単な応用問題に対し、有効なアルゴリズムを作成できない。 |
評価項目3 | CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。 | CやC 等のプログラミング言語を用いてアルゴリズムを一定程度に実現できる。 | CやC 等のプログラミング言語を用いてアルゴリズムを実現できない。 |
学科の到達目標項目との関係
教育方法等
概要:
本授業では,典型的、重要なアルゴリズムやデータ構造,及びアルゴリズムに関する重要な概念や技法、またアルゴリズムを実現するプロセスを理解させ、情報工学・情報科学の基幹技術について素養とスキルを持たせることを目標とする。
授業の進め方・方法:
教科書に基づいた講義は主である。授業内容の進行に伴い試問や問題解説を行う。授業外の課題や練習問題を課す。
注意点:
中間試験(40%)、期末試験(60%)の総合成績で評価を行う。
総合成績が60点以上を合格とする。総合成績が60点未満の学生には1回再試験を設ける。
再評価試験は、全範囲として100点満点で60点以上を合格とし、60点とする。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
アルゴリズムとアルゴリズムの性能評価・計算量・O記法 |
アルゴリズムとアルゴリズムの性能評価・計算量・O記法を理解できる。
|
2週 |
データの構造及び表現法 |
データの構造及び表現法を理解できる。
|
3週 |
配列による順配置、ポインタによるリンク配置 |
配列による順配置、ポインタによるリンク配置の概念を理解でき、応用できる。
|
4週 |
順配置によるリスト、ポインタによる連結リストの実現 |
順配置によるリスト、ポインタによる連結リストの実現を理解でき、応用できる。
|
5週 |
双方連結リスト |
双方向連結リストを理解でき、応用できる。
|
6週 |
スタックのデータ構造と実現 |
スタックのデータ構造と実現を理解でき、応用できる。
|
7週 |
キューのデータ構造と実現、リンクバッファーによるキューの実現 |
キューのデータ構造と実現、リンクバッファーによるキューの実現を理解でき、応用できる。
|
8週 |
木の概念、2分木、2分木の表現と走査 |
木の概念、2分木、2分木の表現と走査を理解でき、応用できる。
|
2ndQ |
9週 |
数式を表す木、木の表現 |
数式を表す木、木の表現を理解でき、応用できる。
|
10週 |
線形探索、2分探索、ハッシュ法 |
線形探索、2分探索、ハッシュ法を理解でき、応用できる。
|
11週 |
文字列の探索 |
文字列の探索を理解でき、応用できる。
|
12週 |
木の探索、2分探索木、B木 |
木の探索、2分探索木、B木を理解でき、応用できる。
|
13週 |
選択によるソート、交換によるソート |
選択によるソート、交換によるソートを理解でき、応用できる。
|
14週 |
挿入によるソート、併合によるソート |
挿入によるソート、併合によるソートを理解でき、応用できる。
|
15週 |
外部ソート |
外部ソートの概念と方法を理解でき、応用できる。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 人文・社会科学 | 英語 | 英語運用の基礎となる知識 | 英語のつづりと音との関係を理解できる。 | 1 | |
英語の標準的な発音を聴き、音を模倣しながら発声できる。 | 2 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 製図 | 図形を正しく描くことができる。 | 1 | |
図形に寸法を記入することができる。 | 1 | |
情報系分野 | ソフトウェア | 時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 2 | |
アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 100 | 0 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 50 | 0 | 0 | 0 | 0 | 0 | 50 |
専門的能力 | 50 | 0 | 0 | 0 | 0 | 0 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |