到達目標
プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
基本的なアルゴリズムの構造や設計パターンを理解、活用することができる。 | 設計手法に基づいて、プログラムを作成できる。 | 基本的なアルゴリズムの設計方法を分類できる。 | 基本的なアルゴリズムの設計を分類できない。 |
アルゴリズムの評価をすることができる。 | 計算量の計算に基づき、複数のアルゴリズムの比較ができる。 | 最悪の場合の実行時間の概念を説明できる。 | 計算量の比較ができない。 |
基本的なデータ型について修得する。 | データ型を活用して、プログラム作成できる | データ型を利用したプログラムを理解できる。 | データ型の特徴を説明できない。 |
学科の到達目標項目との関係
教養 B1
説明
閉じる
教養 C1
説明
閉じる
教養 C2
説明
閉じる
教養 D1
説明
閉じる
教養 D2
説明
閉じる
教育方法等
概要:
プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。
授業の進め方・方法:
反転授業形式で講義を行う。
教科書等の指示された内容を学習して授業に望むこと。
注意点:
プログラムソースを提供するので、授業時間以外で動作確認を行うこと。
授業前に事前に資料を確認しておくこと。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
e-learningシステムが使える
|
2週 |
アルゴリズムと計算量 |
問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
|
3週 |
問題の認識と解決 |
問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
|
4週 |
PADによるアルゴリズムの表記 |
問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
|
5週 |
アルゴリズムの評価法 |
定性的にアルゴリズムの計算量を比較できる。
|
6週 |
良いプログラムとは |
定性的にアルゴリズムの計算量を比較できる。
|
7週 |
最悪の場合の実行時間・増加率 |
定性的にアルゴリズムの計算量を比較できる。
|
8週 |
中間試験 |
|
2ndQ |
9週 |
アルゴリズムの型 |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
10週 |
腕づく法 |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
11週 |
欲張り法 |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
12週 |
分割統治法 |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
13週 |
動的計画法 |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
14週 |
フラクタル |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
15週 |
フラクタル |
アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
|
16週 |
期末試験 |
|
後期 |
3rdQ |
1週 |
基本的データ型 |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
2週 |
変数・配列 |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
3週 |
スタック・キュー |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
4週 |
リスト |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
5週 |
線形/リストセル/カーソル/双方向 |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
6週 |
木 |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
7週 |
探索木、前置・中置・後置、二分木 |
基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
|
8週 |
中間試験 |
|
4thQ |
9週 |
検索 |
データの検索方法について、特徴を説明できる。プログラムで利用できる。
|
10週 |
線形検索/二分検索/ハッシュ |
データの検索方法について、特徴を説明できる。プログラムで利用できる。
|
11週 |
線形検索/二分検索/ハッシュ |
データの検索方法について、特徴を説明できる。プログラムで利用できる。
|
12週 |
ソート |
データの整列方法について、特徴を説明できる。プログラムで利用できる。
|
13週 |
バブル/選択/挿入 |
データの整列方法について、特徴を説明できる。プログラムで利用できる。
|
14週 |
シェル/クイック/ヒープ |
データの整列方法について、特徴を説明できる。プログラムで利用できる。
|
15週 |
シェル/クイック/ヒープ |
データの整列方法について、特徴を説明できる。プログラムで利用できる。
|
16週 |
期末試験 |
|
評価割合
| 定期試験 | 小テスト | レポート | 口頭発表 | 成果物実技 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 10 | 0 | 0 | 0 | 10 | 0 | 100 |
知識の基本的な理解 | 80 | 0 | 0 | 0 | 0 | 0 | 0 | 80 |
汎用的技能 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
主体的・継続的な学習意欲 | 0 | 10 | 0 | 0 | 0 | 10 | 0 | 20 |
態度・指向性(人間力) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |