データ構造とアルゴリズムB

科目基礎情報

学校 宇部工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 データ構造とアルゴリズムB
科目番号 33018 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 制御情報工学科 対象学年 3
開設期 3rd-Q 週時間数 4
教科書/教材 「新・明解 C言語で学ぶアルゴリズムとデータ構造」柴田望洋(ソフトバンクパブリッシング)
担当教員 三谷 芳弘

到達目標

(1)スタック・キューを図を用いて説明できる.(2)線形リストを図を用いて説明できる.(3)木構造を図を用いて説明できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安(可)未到達レベルの目安
評価項目1スタック・キューをプログラミングできる.スタック・キューを図を用いて説明できる。スタック・キューの概要を説明できる.スタック・キューの概要を説明できない.
評価項目2線形リストをプログラミングできる.線形リストを図を用いて説明できる。線形リストの概要を説明できる.線形リストの概要を説明できない.
評価項目3木構造をプログラミングできる.木構造を図を用いて説明できる。木構造の概要を説明できる.木構造の概要を説明できない.

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

教育方法等

概要:
第3学期開講
アルゴリズムとデータ構造に関する基本的な事項を理解する.スタック・キュー,線形リスト,木構造を理解する.
授業の進め方・方法:
配布プリントに基づいて授業を進める.小テストとして、確認と課題を課すので,必ず提出すること.また,授業内容に関連したレポートを課すので,独自に工夫してまとめること.C言語の基本的な文法知識が必須である.C言語の教科書を携帯することを助言する.各項目ごとにプログラミングの演習課題を課す.演習課題を行うことにより知識の定着を図る.データ構造・アルゴリズムを理解するためには,図や模式図等を用い,その状況や動作を説明できることが重要である.
注意点:
データ構造とアルゴリズムは,プログラムを作成する際には是非とも習得すべき学問である.なぜなら,プログラムはデータ構造とアルゴリズムから構成されているからである.より良いプログラムは,データ構造とアルゴリズムを同時に考慮することにより作成される.データ構造とアルゴリズムを理解すると,より良いプログラムを作成する能力が身に付く.また,プログラミング能力を伸ばすためにも必須である.学期内に成績を再評価する場合がある。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 スタックとキュー スタックとキューについて理解できる.
2週 スタックとキュー リングバッファによるキューについて理解できる.
3週 線形リスト 線形リストについて理解できる.
4週 線形リスト 循環・重連結リストについて理解できる.
5週 線形リスト ハッシュ法について理解できる.
6週 木構造 木構造,2分木について理解できる.
7週 木構造 2分探索木について理解できる.
8週 期末試験,試験返却,アンケート

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

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

評価割合

期末試験小テストレポート合計
総合評価割合801010100
知識の基本的な理解505560
思考・推論・創造への適用力305540
汎用的技能0000
態度・志向性(人間力)0000
総合的な学習経験と創造的思考力0000