プログラミング演習Ⅱ

科目基礎情報

学校 木更津工業高等専門学校 開講年度 平成28年度 (2016年度)
授業科目 プログラミング演習Ⅱ
科目番号 0017 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 情報工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 近藤 嘉雪著『定本 Cプログラマのためのアルゴリズムとデータ構造』SOFTBANK BOOKS、1998年、2835円(税込)
担当教員 米村 恵一,SAPKOTA ACHYUT

到達目標

様々なデータ構造を理解し、それらを用いたプログラムが書ける。
様々なアルゴリズムを理解し、それらを用いたプログラムが書ける。
計算量を理解し、計算量を考慮したプログラムが書ける。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1様々なデータ構造を十分に理解し、それらを適切に用いたプログラムが書ける。様々なデータ構造を理解し、それらを用いたプログラムが書ける。様々なデータ構造を用いたプログラムが書けない。
評価項目2様々なアルゴリズムを十分に理解し、それらを適切に用いたプログラムが書ける。様々なアルゴリズムを理解し、それらを用いたプログラムが書ける。様々なアルゴリズムを用いたプログラムが書けない。
評価項目3計算量を十分に理解し、計算量を十分に考慮したプログラムが書ける。計算量を理解し、それらを考慮したプログラムが書ける。計算量を考慮したプログラムが書けない。

学科の到達目標項目との関係

教育方法等

概要:
基本的なデータ構造とアルゴリズムの理解を通して、プログラミングスキルの向上を目指す中で、科目「データ構造アルゴリズム」に対応したプログラムを作成する。同時に計算量についても考慮したプログラム作成を行う。
授業の進め方・方法:
科目「データ構造アルゴリズム」と連動しており、本授業は演習メインにて進める。科目「データ構造アルゴリズム」にて確認した内容を本講義にて作成するが、本講義がデータ構造とアルゴリズムの説明の時間になる可能性もあることを考慮しておいて欲しい。
注意点:
中間試験・定期試験では、各種問題に対応したプログラムをどのようなアルゴリズムとデータ構造を用いて作成するかを設計できる能力、そして実際に作成する能力が必要である。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 構造体の復習と連結リスト構造のプログラムの作成1 構造体と連結リスト構造のプログラムを作成できる
2週 構造体の復習と連結リスト構造のプログラムの作成2 構造体と連結リスト構造のプログラムを作成できる
3週 構造体の復習と連結リスト構造のプログラムの作成3 構造体と連結リスト構造のプログラムを作成できる
4週 スタックのプログラムの作成 スタックをプログラムにて実現できる
5週 スタックの応用事例のプログラムの作成 スタックの応用事例をプログラムにて実現できる
6週 キューのプログラムの作成 キューをプログラムにて実現できる
7週 キューの応用事例のプログラムの作成 キューの応用事例をプログラムにて実現できる
8週 中間試験 リスト、スタック、キューを用いたプログラムを作成できる
2ndQ
9週 中間試験を振り返る リスト、スタック、キューのプログラム作成についての理解を深める
10週 循環リスト、双方向リストのプログラムの作成 循環リスト、双方向リスト用いたプログラムを作成できる
11週 双方向リストの応用事例のプログラムの作成 双方向リストの応用事例のプログラムを作成できる
12週 基本的なソートとそのオーダーを理解し、プログラムを作成する 基本的なソートとオーダーを理解し、そのプログラムを作成できる
13週 基本的な探索とそのオーダー 基本的な探索とオーダーを理解し、そのプログラムを作成できる
14週 総合的な課題のプログラム作成に取り組む1 総合的な課題のプログラム作成に取り組み理解を深める
15週 総合的な課題のプログラム作成に取り組む2 総合的な課題のプログラム作成に取り組み理解を深める
16週
後期
3rdQ
1週 再帰のプログラム作成 再帰を用いたプログラムを作成できる
2週 二分探索木のプログラム作成1 二分探索木のプログラムを作成できる
3週 二分探索木のプログラム作成2 二分探索木のプログラムを作成できる
4週 二分探索木のプログラム作成3 二分探索木のプログラムを作成できる
5週 クイックソートのプログラム作成 クイックソートのプログラムを作成できる
6週 ハッシュ法のプログラム作成1 ハッシュ法のプログラムを作成できる
7週 ハッシュ法のプログラム作成2 ハッシュ法のプログラムを作成できる
8週 中間試験 再帰、二分探索木、クイックソート、ハッシュ法が理解できる
4thQ
9週 中間試験を振り返る 再帰、二分探索木、クイックソート、ハッシュ法の理解を深める
10週 ハッシュ法のプログラム作成3 ハッシュ法のプログラムを作成できる
11週 文字列探索のプログラム作成 文字列探索のプログラムを作成できる
12週 ビンソート、分布数え上げソートのプログラム作成 ビンソート、分布数え上げソートのプログラムを作成できる
13週 基数ソートのプログラム作成 基数ソートのプログラムを作成できる
14週 総合的な課題のプログラム作成に取り組む3 総合的な課題のプログラム作成に取り組み理解を深める
15週 総合的な課題のプログラム作成に取り組む4 総合的な課題のプログラム作成に取り組み理解を深める
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系プログラミング変数とデータ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。6
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
ソフトウェアアルゴリズムの概念を説明できる。5
与えられたアルゴリズムが問題を解決していく過程を説明できる。5
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。5
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。3
整列、探索など、基本的なアルゴリズムについて説明できる。5
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。5
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを理解している。4
リスト構造、スタック、キューなどの基本的なデータ構造の概念と操作を説明できる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3

評価割合

試験課題相互評価態度ポートフォリオその他合計
総合評価割合80200000100
基礎的能力6015000075
専門的能力205000025
分野横断的能力0000000