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

科目基礎情報

学校 久留米工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 データ構造とアルゴリズム
科目番号 4S16 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 制御情報工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 教科書:湯田他, アルゴリズムとデータ構造(コロナ社)。参考書:Narasimha Karumanchi, 入門 データ構造とアルゴリズム (オライリージャパン)
担当教員 古賀 裕章

到達目標

1.重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。
2.簡単な応用問題に対し、有効なアルゴリズムを作成できる。
3.CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を一定程度に理解し、応用できる。重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解、応用できない。
評価項目2簡単な応用問題に対し、有効なアルゴリズムを作成できる。簡単な応用問題に対し、有効なアルゴリズムを一定程度に作成できる。簡単な応用問題に対し、有効なアルゴリズムを作成できない。
評価項目3CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。CやC 等のプログラミング言語を用いてアルゴリズムを一定程度に実現できる。CやC 等のプログラミング言語を用いてアルゴリズムを実現できない。

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

JABEE C-1 説明 閉じる

教育方法等

概要:
本授業では,典型的、重要なアルゴリズムやデータ構造,及びアルゴリズムに関する重要な概念や技法、またアルゴリズムを実現するプロセスを理解させ、情報工学・情報科学の基幹技術について素養とスキルを持たせることを目標とする。
授業の進め方・方法:
教科書に基づいた講義は主である。授業内容の進行に伴い試問や問題解説を行う。授業外の課題や練習問題を課す。
注意点:
授業の前に授業内容を予習し、専門用語の意味等を理解しておくこと。
中間試験(40%)、期末試験(60%)の総合成績で評価を行う。
総合成績が60点以上を合格とする。総合成績が60点未満の学生には1回再試験を設ける。
再評価試験は、全範囲として100点満点で60点以上を合格とし、60点とする。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 アルゴリズムとアルゴリズムの性能評価・計算量・O記法 アルゴリズムとアルゴリズムの性能評価・計算量・O記法を理解できる。
2週 データの構造及び表現法 データの構造及び表現法を理解できる。
3週 配列による順配置、ポインタによるリンク配置 配列による順配置、ポインタによるリンク配置の概念を理解でき、応用できる。
4週 順配置によるリスト、ポインタによる連結リストの実現 順配置によるリスト、ポインタによる連結リストの実現を理解でき、応用できる。
5週 双方連結リスト 双方向連結リストを理解でき、応用できる。
6週 スタックのデータ構造と実現 スタックのデータ構造と実現を理解でき、応用できる。
7週 キューのデータ構造と実現、リンクバッファーによるキューの実現 キューのデータ構造と実現、リンクバッファーによるキューの実現を理解でき、応用できる。
8週 木の概念、2分木、2分木の表現と走査 木の概念、2分木、2分木の表現と走査を理解でき、応用できる。
2ndQ
9週 数式を表す木、木の表現 数式を表す木、木の表現を理解でき、応用できる。
10週 線形探索、2分探索、ハッシュ法 線形探索、2分探索、ハッシュ法を理解でき、応用できる。
11週 文字列の探索 文字列の探索を理解でき、応用できる。
12週 木の探索、2分探索木、B木 木の探索、2分探索木、B木を理解でき、応用できる。
13週 選択によるソート、交換によるソート 選択によるソート、交換によるソートを理解でき、応用できる。
14週 挿入によるソート、併合によるソート 挿入によるソート、併合によるソートを理解でき、応用できる。
15週 外部ソート 外部ソートの概念と方法を理解でき、応用できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合10000000100
基礎的能力500000050
専門的能力500000050
分野横断的能力0000000