アルゴリズム

科目基礎情報

学校 弓削商船高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 アルゴリズム
科目番号 0054 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 通年 週時間数 1
教科書/教材 Javaデータ構造とアルゴリズム基礎講座:長尾 和彦(技術評論社)E-learning サイト:http://moodle2023.center.yuge.ac.jp
担当教員 長尾 和彦

到達目標

プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
基本的なアルゴリズムの構造や設計パターンを理解、活用することができる。設計手法に基づいて、プログラムを作成できる。基本的なアルゴリズムの設計方法を分類できる。基本的なアルゴリズムの設計を分類できない。
アルゴリズムの評価をすることができる。計算量の計算に基づき、複数のアルゴリズムの比較ができる。最悪の場合の実行時間の概念を説明できる。計算量の比較ができない。
基本的なデータ型について修得する。データ型を活用して、プログラム作成できるデータ型を利用したプログラムを理解できる。データ型の特徴を説明できない。

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

専門 A1 説明 閉じる
教養 B1 説明 閉じる
教養 C1 説明 閉じる
教養 C2 説明 閉じる
教養 D1 説明 閉じる
教養 D2 説明 閉じる
専門 E1 説明 閉じる
専門 E2 説明 閉じる
専門 E3 説明 閉じる
専門 E4 説明 閉じる

教育方法等

概要:
プログラミングは、計算機による問題解決の唯一の手段である。その技術取得は、プログラマの問題解決能力に直接かかわるため,かなりの努力と経験を積まなければならない。本講義は、プログラミング作業をできるだけ形式化した、構造化プログラミングの概念について解説し、問題解決法の習得を目標とする。また、有用なアルゴリズム、評価方法についても触れる。
授業の進め方・方法:
反転授業形式で講義を行う。
教科書等の指示された内容を学習して授業に望むこと。
注意点:
プログラムソースを提供するので、授業時間以外で動作確認を行うこと。
授業前に事前に資料を確認しておくこと。

実務経験のある教員による授業科目

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス e-learningシステムが使える
2週 アルゴリズムと計算量 問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
3週 問題の認識と解決 問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
4週 PADによるアルゴリズムの表記 問題を形式的にとらえ、数学や物理を応用して表現できる。オブジェクト指向を説明できる。
5週 アルゴリズムの評価法 定性的にアルゴリズムの計算量を比較できる。
6週 良いプログラムとは 定性的にアルゴリズムの計算量を比較できる。
7週 最悪の場合の実行時間・増加率 定性的にアルゴリズムの計算量を比較できる。
8週 中間試験
2ndQ
9週 アルゴリズムの型 アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
10週 腕づく法 アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
11週 欲張り法 アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
12週 分割統治法 アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
13週 動的計画法 アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
14週 フラクタル アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
15週 フラクタル アルゴリズムで良く用いられる基本パターンを理解し、プログラミングに応用できる。
16週 期末試験
後期
3rdQ
1週 基本的データ型 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
2週 変数・配列 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
3週 スタック・キュー 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
4週 リスト 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
5週 線形/リストセル/カーソル/双方向 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
6週 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
7週 探索木、前置・中置・後置、二分木 基本的データ型について特徴を理解し、用途に応じてプログラミングに応用できる。
8週 中間試験
4thQ
9週 検索 データの検索方法について、特徴を説明できる。プログラムで利用できる。
10週 線形検索/二分検索/ハッシュ データの検索方法について、特徴を説明できる。プログラムで利用できる。
11週 線形検索/二分検索/ハッシュ データの検索方法について、特徴を説明できる。プログラムで利用できる。
12週 ソート データの整列方法について、特徴を説明できる。プログラムで利用できる。
13週 バブル/選択/挿入 データの整列方法について、特徴を説明できる。プログラムで利用できる。
14週 シェル/クイック/ヒープ データの整列方法について、特徴を説明できる。プログラムで利用できる。
15週 シェル/クイック/ヒープ データの整列方法について、特徴を説明できる。プログラムで利用できる。
16週 期末試験

評価割合

定期試験小テストレポート口頭発表成果物実技ポートフォリオその他合計
総合評価割合8010000100100
知識の基本的な理解8000000080
汎用的技能00000000
主体的・継続的な学習意欲01000010020
態度・指向性(人間力)00000000