到達目標
1. 探索、整列など、基本的なアルゴリズムについて説明できる。B①
2. リスト、スタック、キューなどの基本的なデータ構造について説明できる。B①
3. 上記の各種アルゴリズムについて、C 言語でプログラミングできる。B②
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
基本的なアルゴリズムの理解 | 探索、整列などについて、効率の良いアルゴリズムの説明ができる。 | 探索、整列などについて、アルゴリズムの説明ができる。 | 探索、整列などについて、アルゴリズムの説明ができない。 |
基本的なデータ構造の理解 | リスト、スタック、キューなどのデータ構造の説明ができ、問題に応じて適切な構造を選択できる。 | リスト、スタック、キューなどのデータ構造の説明ができる。 | リスト、スタック、キューなどのデータ構造の説明ができない。 |
C言語によるプログラミング | 各種の問題について、適切なアルゴリズムを選択してC 言語でプログラミングできる | 各種アルゴリズムについて、C 言語でプログラミングできる。 | 各種アルゴリズムについて、C 言語でプログラミングできない。 |
学科の到達目標項目との関係
教育方法等
概要:
ソフトウェアを開発するには, 問題を計算機上で実現できる形に直す作業(データ構造) と, それを実際に効率よく解く手順を作成する作業(アルゴリズム) からなる. その基本的な情報構造であるデータ構造とそれらに関連するアルゴリズムについての理解を主たる目的とする。
授業の進め方・方法:
実用的なプログラミングを作る時に必要となるデータ構造とアルゴリズムの原理について理解する. 座学で学んだデータ構造とアルゴリズムは、C 言語でプログラムを作成し動作を確認する。
注意点:
C言語を用いたプログラミングができることを前提とする。授業内で最低限の復習は行うが、基礎となる関連科目である「情報処理」および「プログラミング」の理解を深めておくことが重要である。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
アルゴリズムとは、授業計画 |
授業計画について理解している
|
2週 |
C言語の復習、計算量 |
C言語の基本データ型と配列の説明ができる
|
3週 |
線形探索とそのC言語プログラミング |
線形探索のアルゴリズムその計算量について説明でき、そのC言語プログラムが実装できる
|
4週 |
二分探索とそのC言語プログラミング |
二分探索のアルゴリズムとその計算量について説明でき、そのC言語プログラムが実装できる
|
5週 |
単純選択法、単純交換法 |
単純選択法と単純交換法の二種類のソートアルゴリズムを説明できる
|
6週 |
単純挿入法 |
単純挿入法のソートアルゴリズムを説明できる
|
7週 |
ソートアルゴリズムのC言語プログラミング |
C言語を用いて各種ソートのプログラムを作成できる
|
8週 |
中間試験 |
1~7週までの内容を網羅した試験により、授業内容の理解の定着を図る。
|
2ndQ |
9週 |
答案返却とその解説、再帰の復習 |
中間試験の内容を理解する。再帰アルゴリズムの考え方を説明できる
|
10週 |
C言語の復習 |
ポインタと構造体について説明できる
|
11週 |
線形リスト |
線型リストについて説明できる
|
12週 |
線型リストのC言語プログラミング |
線型リストをC言語で実装できる
|
13週 |
スタック、キュー |
スタックとキューについて説明できる
|
14週 |
スタック、キューのC言語プログラミング |
スタックとキューをC言語で実装できる
|
15週 |
期末試験 |
9~14週までの内容を網羅した試験により、授業内容の理解の定着を図る。
|
16週 |
答案返却とその解説 |
期末試験の内容を理解する。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 課題への取り組み | 合計 |
総合評価割合 | 70 | 30 | 100 |
基礎的能力 | 0 | 0 | 0 |
専門的能力 | 70 | 30 | 100 |
分野横断的能力 | 0 | 0 | 0 |