到達目標
プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
基本的なアルゴリズムの構造や設計パターンを理解、活用することができる。 | 設計手法に基づいて、プログラムを作成できる。 | 基本的なアルゴリズムの設計方法を分類できる。 | 基本的なアルゴリズムの設計を分類できない。 |
アルゴリズムの評価をすることができる。 | 計算量の計算に基づき、複数のアルゴリズムの比較ができる。 | 最悪の場合の実行時間の概念を説明できる。 | 計算量の比較ができない。 |
基本的なデータ型について修得する。 | データ型を活用して、プログラム作成できる | データ型を利用したプログラムを理解できる。 | データ型の特徴を説明できない。 |
学科の到達目標項目との関係
専門 A1
説明
閉じる
教養 B1
説明
閉じる
教養 C1
説明
閉じる
教養 C2
説明
閉じる
教養 D1
説明
閉じる
教養 D2
説明
閉じる
専門 E1
説明
閉じる
専門 E2
説明
閉じる
専門 E3
説明
閉じる
専門 E4
説明
閉じる
教育方法等
概要:
プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。
授業の進め方・方法:
反転授業形式で講義を行う。
教科書等の指示された内容を学習して授業に望むこと。
注意点:
プログラムソースを提供するので、授業時間以外で動作確認を行うこと。
授業前に事前に資料を確認しておくこと。
実務経験のある教員による授業科目
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
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 |