到達目標
1.アルゴリズムの概念を理解し、与えられた問題に対してプログラムを作ることができる。
2.同じ問題に対して複数のアルゴリズムが存在することを理解し、計算量によってそれらを比較することができる。
3.整列、探索など、基本的なアルゴリズムについて説明でき、基本的なプログラムを作ることができる。
4.主な数値計算である2分法とニュートン法のアルゴリズムについて説明でき、プログラムで計算することができる。
この教科は1,2年に学習した「情報処理」の応用として、ソートと探索のアルゴリズム、及び主な数値計算アルゴリズムを学習し、学生自身の問題解決するための論理的な思考と表現の向上を目的とする。将来組み込みソフトウェア開発やシステム設計などの仕事に就くために必要な知識である。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
アルゴリズムの概念を理解し、与えられた問題に対してプログラムを作ることができる。 | アルゴリズムの概念を理解し、自ら工夫してプログラムを作りあげることができる。 | アルゴリズムの基本的な概念を理解し、具体的に手順を示すとプログラムを作ることができる。 | アルゴリズムの基本的な概念を理解していない。または、簡単なアルゴリズムを実現するプログラムが自力で書くことができない。 |
同じ問題に対して複数のアルゴリズムが存在することを理解し、計算量によってそれらを比較することができる。 | アルゴリズムの計算量を数式で理論的に展開し、複数のアルゴリズムの比較を行うことができる。 | 単純なソートアルゴリズム及びプログラムを実装できるアルゴリズムに関して計算量の基本を理解し、それによってアルゴリズムの比較が可能であることを理解している。 | 計算量の概念が理解できない。または、計算量の基本の内容を理解することができない。 |
整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、基本的なプログラムを作ることができる。 | 整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、自ら工夫してプログラムを作ることができる。 | 整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、具体的な手順を示すとプログラムを作ることができる。 | 整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明できない。または、基本的なプログラムを作ることができない。 |
学科の到達目標項目との関係
教育方法等
概要:
バブルソート、挿入法ソート、クイックソートなどのソートアルゴリズムと、線形探索、2分探索の探索アルゴリズムの基本を説明した後、総合演習を行う。さらに、2分法とニュートン法というコンピュータ向けの主な数値計算アルゴリズムの概要と特徴も説明する。
授業の進め方・方法:
講義を中心として確認課題と総合演習を適宜実施する。
注意点:
事前学習:教科書の予定範囲を読み、意味が分からない言葉や記号をメモすること。事後学習:授業で学習した内容に関する教科書や配布した資料を復習し、理解を確認すること。
特別配慮が必要な学生に対して、総合評価割合が変更する場合がある。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
アリゴリズムと時間計算量
|
アルゴリズムの概念を説明できる。時間計算量によってアルゴリズムを比較・評価できることを説明できる。
|
2週 |
領域計算量 バブルソート |
領域計算量によってアルゴリズムを比較・評価できることを説明できる。バブルという整列の基本的なアルゴリズムについて説明できる。
|
3週 |
選択法ソート |
選択法ソートという整列の基本的なアルゴリズムについて説明できる。
|
4週 |
挿入法ソート・シェルソート |
挿入法ソート・シェルソートという整列の基本的なアルゴリズムについて説明できる。
|
5週 |
再帰の考え方 |
再帰の考え方を説明できる。
|
6週 |
クイックソート |
クイックソートという整列の基本的なアルゴリズムについて説明できる。
|
7週 |
総合演習1
|
整列の基本的なアルゴリズムを実装できる。
|
8週 |
線形探索・乱数の生成 |
線形探索という探索の基本的なアルゴリズムについて説明できる。
|
2ndQ |
9週 |
2分探索 |
2分探索という探索の基本的なアルゴリズムについて説明できる。
|
10週 |
数値計算の誤差・級数計算 |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。
|
11週 |
2分法とニュートン法 |
コンピュータ向けの主な数値計算の概要や特徴を説明できる。
|
12週 |
総合演習2 |
基本的な探索や数値計算アルゴリズムを実装できる。
|
13週 |
システム設計のプロセス |
システム設計には要求の振り分けやシステムの構成の決定、システム設計のプロセスを説明できる。
|
14週 |
E-R図・DFD図 |
プロジェクト管理手法のE-R図とDFDについて説明できる。
|
15週 |
期末試験 |
期末試験
|
16週 |
総復習と試験解説 |
間違ったところについて修正できる。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 4 | 前1 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 4 | 前3,前4,前6,前8,前9 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 4 | 前3,前4,前5,前6,前7,前8,前9 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前1 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前1,前3,前4,前8,前9 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前3,前4,前6,前7,前8,前9,前12 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前1 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前2 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 前3,前4,前6,前8,前9,前12 |
情報数学・情報理論 | コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 4 | 前10,前11,前12 |
評価割合
| 試験 | 総合演習 | 確認課題 | 合計 |
総合評価割合 | 50 | 20 | 30 | 100 |
配点 | 50 | 20 | 30 | 100 |