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

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 アルゴリズムとデータ構造
科目番号 2023-687 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 環境エネルギー工学コース 対象学年 専2
開設期 後期 週時間数 2
教科書/教材 自作プリントおよびスライドを利用する。
担当教員 金子 裕哉,矢入 聡

到達目標

1. 再帰について説明でき,それを利用したプログラムが作成できる。
2. リスト構造について説明でき,それを利用したプログラムが作成できる。
3. データの各種探索アルゴリズムについて説明でき,それらを利用したプログラムが作成できる。
4. スタックとキューの違いが説明でき,それらを利用したプログラムが作成できる。
5. データの各種並び替えアルゴリズムについて説明でき,それらを利用したプログラムが作成できる。
6. 連想配列について説明でき,それを利用したプログラムが作成できる。
7. 専門分野に関連した情報やデータをパソコン等により解析・分析し、結果を整理して報告書にまとめることができる。(C2-4)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
1. 再帰について説明でき,それを利用したプログラムが作成できる。再帰について説明でき,それを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。再帰について説明でき,それを利用したプログラムが作成できる。再帰について説明できず,それを利用したプログラムが作成できない。
2. リスト構造について説明でき,それを利用したプログラムが作成できる。リスト構造について説明でき,それを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。リスト構造について説明でき,それを利用したプログラムが作成できる。リスト構造について説明できず,それを利用したプログラムが作成できない。
3. データの各種探索アルゴリズムについて説明でき,それらを利用したプログラムが作成できる。データの各種探索アルゴリズムについて説明でき,それらを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。データの各種探索アルゴリズムについて説明でき,それらを利用したプログラムが作成できる。データの各種探索アルゴリズムについて説明できず,それらを利用したプログラムが作成できない。
4. スタックとキューの違いが説明でき,それらを利用したプログラムが作成できる。スタックとキューの違いが説明でき,それらを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。スタックとキューの違いが説明でき,それらを利用したプログラムが作成できる。スタックとキューの違いが説明できず,それらを利用したプログラムが作成できない。
5. データの各種並び替えアルゴリズムについて説明でき,それらを利用したプログラムが作成できる。データの各種並び替えアルゴリズムについて説明でき,それらを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。データの各種並び替えアルゴリズムについて説明でき,それらを利用したプログラムが作成できる。データの各種並び替えアルゴリズムについて説明できず,それらを利用したプログラムが作成できない。
6. 連想配列について説明でき,それを利用したプログラムが作成できる。連想配列について説明でき,それを利用したプログラムが作成できる。加えて独自の機能拡張等を行っている。連想配列について説明でき,それを利用したプログラムが作成できる。連想配列について説明できず,それを利用したプログラムが作成できない。
7. 専門分野に関連した情報やデータをパソコン等により解析・分析し、結果を整理して報告書にまとめることができる。(C2-4)専門分野に関連した情報やデータをパソコン等により解析・分析し、結果を整理して,わかりやすく報告書にまとめることができる。専門分野に関連した情報やデータをパソコン等により解析・分析し、結果を整理して報告書にまとめることができる。専門分野に関連した情報やデータをパソコン等により解析・分析し、結果を整理して報告書にまとめることができない。

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

実践指針 (C2) 説明 閉じる
実践指針のレベル (C2-4) 説明 閉じる
【プログラム学習・教育目標 】 C 説明 閉じる

教育方法等

概要:
コンピュータにより問題を解決する場合に必要となる、データ構造およびアルゴリズムの基礎を学ぶ。
授業の進め方・方法:
講義において、プログラミングの環境としてJavaを利用する。授業の後半に演習問題を出し、時間内に解けない場合それを課題とする。
注意点:

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス 授業について説明を行う。アルゴリズムとデータ構造の概念について説明できる。
2週 Java基本1 Java言語の文法説明を行う(1回目)。Java言語の文法について理解できる。
3週 Java基本2 Java言語の文法説明を行う(2回目)。Java言語の文法について理解できる。
4週 再帰 再帰プログラミングについて説明でき,これを応用したプログラムを作成することができる。
5週 リスト構造 可変長配列について説明でき,これを応用したプログラムを作成することができる。
6週 探索 線形探索と二分探索について説明でき,これらを応用したプログラムを作成することができる。
7週 スタックとキュー スタックとキューについて説明でき,これらを応用したプログラムを作成することができる。
8週 ソート バブルソートとクイックソートについて説明でき,これらを応用したプログラムを作成することができる。
4thQ
9週 連想配列 連想配列について説明でき,これを応用したプログラムを作成することができる。
10週 数値計算1 Mathクラスの関数について説明でき,これを応用したプログラムを作成することができる。
11週 数値計算2 モンテカルロ法,ユークリッドの互除法について説明でき,これらを応用したプログラムを作成することができる。
12週 ハッシュ ハッシュ表を用いたデータ検索について説明でき,これを応用したプログラムを作成することができる。
13週 木構造 階層構造の表現について説明でき,これを応用したプログラムを作成することができる。
14週 BM法 高速な文字列探索アルゴリズムであるBM法の実装について説明でき,これを応用したプログラムを作成することができる。
15週 総括 授業のまとめを行う。これまでの学習内容の概要について説明できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験課題レポート合計
総合評価割合30700000100
評価項目1510000015
評価項目2510000015
評価項目3510000015
評価項目4510000015
評価項目5510000015
評価項目6510000015
評価項目7010000010