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

科目基礎情報

学校 和歌山工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 アルゴリズムとデータ構造Ⅰ
科目番号 0058 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電気情報工学科 対象学年 3
開設期 前期 週時間数 2
教科書/教材 [教科書]田中秀和「アルゴリズムとデータ構造」理工図書
担当教員 謝 孟春

到達目標

1.アルゴリズムの概念を理解し、与えられた問題に対してプログラムを作ることができる。
2.同じ問題に対して複数のアルゴリズムが存在することを理解し、計算量によってそれらを比較することができる。
3.整列、探索など、基本的なアルゴリズムについて説明でき、基本的なプログラムを作ることができる。
4.主な数値計算である2分法とニュートン法のアルゴリズムについて説明でき、プログラムで計算することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
アルゴリズムの概念を理解し、与えられた問題に対してプログラムを作ることができる。アルゴリズムの概念を理解し、自ら工夫してプログラムを作りあげることができる。アルゴリズムの基本的な概念を理解し、具体的に手順を示すとプログラムを作ることができる。アルゴリズムの基本的な概念を理解していない。または、簡単なアルゴリズムを実現するプログラムが自力で書くことができない。
同じ問題に対して複数のアルゴリズムが存在することを理解し、計算量によってそれらを比較することができる。アルゴリズムの計算量を数式で理論的に展開し、複数のアルゴリズムの比較を行うことができる。単純なソートアルゴリズム及びプログラムを実装できるアルゴリズムに関して計算量の基本を理解し、それによってアルゴリズムの比較が可能であることを理解している。計算量の概念が理解できない。または、計算量の基本の内容を理解することができない。
整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、基本的なプログラムを作ることができる。整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、自ら工夫してプログラムを作ることができる。整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明でき、具体的な手順を示すとプログラムを作ることができる。整列、探索、2分法・ニュートン法など、基本的なアルゴリズムについて説明できない。または、基本的なプログラムを作ることができない。

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

教育方法等

概要:
1,2年に学習した「情報処理」の応用として、ソートと探索のアルゴリズムを学習する。バブルソート、挿入法ソート、クイックソートなどのソートアルゴリズムと、線形探索、2分探索の探索アルゴリズムの基本を説明した後、総合演習を行う。さらに、2分法とニュートン法というコンピュータ向けの主な数値計算アリゴリズムの概要と特徴も説明する。
授業の進め方・方法:
講義を中心として確認課題と総合演習を適宜実施する。
注意点:
事前学習:教科書の予定範囲を読み、意味が分からない言葉や記号をメモすること。事後学習:授業で学習した内容に関する教科書や配布した資料を復習し、理解を確認すること。
特別配慮が必要な学生に対して、総合評価割合が変更する場合がある。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 アリゴリズムと時間計算量
アルゴリズムの概念を説明できる。時間計算量によってアルゴリズムを比較・評価できることを説明できる。
2週 領域計算量
バブルソート
領域計算量によってアルゴリズムを比較・評価できることを説明できる。バブルという整列の基本的なアルゴリズムについて説明できる。
3週 選択法ソート 選択法ソートという整列の基本的なアルゴリズムについて説明できる。
4週 挿入法ソート・シェルソート 挿入法ソート・シェルソートという整列の基本的なアルゴリズムについて説明できる。
5週 再帰の考え方 再帰の考え方を説明できる。
6週 クイックソート クイックソートという整列の基本的なアルゴリズムについて説明できる。
7週 総合演習1
整列の基本的なアルゴリズムを実装できる。
8週 線形探索・乱数の生成 線形探索という探索の基本的なアルゴリズムについて説明できる。
2ndQ
9週 2分探索 2分探索という探索の基本的なアルゴリズムについて説明できる。
10週 数値計算の誤差・級数計算 コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。
11週 2分法とニュートン法 コンピュータ向けの主な数値計算の概要や特徴を説明できる。
12週 総合演習2 基本的な探索や数値計算アルゴリズムを実装できる。
13週 システム設計のプロセス システム設計には要求の振り分けやシステムの構成の決定、システム設計のプロセスを説明できる。
14週 E-R図・DFD図 プロジェクト管理手法のE-R図とDFDについて説明できる。
15週 期末試験 期末試験
16週 総復習と試験解説 間違ったところについて修正できる。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。4前1
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4前3,前4,前6,前8,前9
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4前3,前4,前6,前8,前9
専門的能力分野別の専門工学情報系分野ソフトウェアアルゴリズムの概念を説明できる。4前1
与えられたアルゴリズムが問題を解決していく過程を説明できる。4前1,前3,前4,前8,前9
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前3,前4,前6,前8,前9
整列、探索など、基本的なアルゴリズムについて説明できる。4前3,前4,前6,前8,前9
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4前1
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4前2
情報数学・情報理論コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。4前10,前11

評価割合

試験総合演習確認課題合計
総合評価割合502030100
配点502030100