到達目標
( 1 ) スタック,キュー,連結リスト,木などの基本的なデータ構造を説明できる
( 2 ) 基本的な整列アルゴリズムの原理と得失について説明することができる
( 3 ) 学んだアルゴリズムを,C言語により実現することができる
( 4 ) 与えられた課題に対して適切なアルゴリズムを選択することができる
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | スタック,キュー,連結リスト,木などの基本的なデータ構造を正しく説明できる | スタック,キュー,連結リスト,木などの基本的なデータ構造を説明できる | スタック,キュー,連結リスト,木などの基本的なデータ構造を説明できない |
評価項目2 | 基本的な整列アルゴリズムの原理と得失について正しく説明することができる | 基本的な整列アルゴリズムの原理と得失について説明することができる | 基本的な整列アルゴリズムの原理と得失について説明することができない |
評価項目3 | 学んだアルゴリズムを,C言語により正しく実現することができる | 学んだアルゴリズムを,C言語により実現することができる | 学んだアルゴリズムを,C言語により実現することができない |
評価項目4 | 与えられた課題に対して適切なアルゴリズムを正しく選択することができる | 与えられた課題に対して適切なアルゴリズムを選択することができる | 与えられた課題に対して適切なアルゴリズムを選択することができない |
学科の到達目標項目との関係
教育方法等
概要:
本科目では,より高度なプログラミング手法を学ぶための準備として,基本的なアルゴリズムとデータ構造について学ぶ.また,効率のよいアルゴリズムと,それに必要なデータ構造を実現するための技術を習得する.具体的には,スタック,キュー,リスト,木などのデータ構造と,各種の整列アルゴリズムの考え方を理解する.これらをC言語のプログラミング演習を通して習得する.
授業の進め方・方法:
到達目標 ( 1 ) ~ ( 4 )の達成度について,
定期試験 60 % (中間試験 30% 期末試験 30%)
演習課題 40 %
の割合で評価を行なう.50点以上を合格とする.
課題は基本的には示された提出期限以内に提出すること.遅れた場合には減点となるものとする.
原則として,再評価試験および追認試験は実施しない.
注意点:
予習 :事前に教科書の内容に目を通しておくこと.
講義中:予習で理解できなかったところを中心に講義内容を学習すること.また,疑問点が残らないよう,積極的に質問すること.講義で学習したプログラムを,演習授業を含む期限内に作成し,動作確認を行なうこと.
復習 :作成したプログラムのアルゴリズムを理解するために,プログラムの動作を確認し,講義内容を復習すること.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
講義ガイダンス、アルゴリズムと計算量 |
|
2週 |
スタックとキュー |
|
3週 |
連結リスト( 1 ) 連結リスト,単方向リスト |
|
4週 |
連結リスト( 2 ) 双方向リスト |
|
5週 |
連結リスト( 3 ) 多重リスト |
|
6週 |
木構造( 1 ) 木構造の概念と実現方法 |
|
7週 |
木構造( 2 ) 木構造の応用 |
|
8週 |
中間試験 第1回~第7回の範囲
|
|
4thQ |
9週 |
整列アルゴリズム( 1 ) バブルソートと選択ソート |
|
10週 |
整列アルゴリズム( 2 ) クイックソート |
|
11週 |
整列アルゴリズム( 3 ) マージソート |
|
12週 |
整列アルゴリズム( 4 ) ヒープソート |
|
13週 |
整列アルゴリズム( 5 ) 基数ソート |
|
14週 |
セキュアプログラミング |
|
15週 |
期末試験 第9回~第14回の範囲
|
|
16週 |
まとめ 期末試験の解説を行なう.
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 3 | |
主要な計算モデルを説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
評価割合
| 中間試験 | 期末試験 | 課題 | 合計 |
総合評価割合 | 30 | 30 | 40 | 100 |
基礎的能力 | 15 | 15 | 20 | 50 |
専門的能力 | 15 | 15 | 20 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 |