アルゴリズム

科目基礎情報

学校 北九州工業高等専門学校 開講年度 2018
授業科目 アルゴリズム
科目番号 0021 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 生産デザイン工学科(知能ロボットシステムコース) 対象学年 4
開設期 前期 週時間数 2
教科書/教材 【教科書】 「コンピュータ・アルゴリズム入門」、多田憲孝著、日本理工出版会
担当教員 谷口 茂

到達目標

1. 探索、整列など、基本的なアルゴリズムについて説明できる。B①
2. リスト、スタック、キューなどの基本的なデータ構造について説明できる。B①
3. 上記の各種アルゴリズムについて、C 言語でプログラミングできる。B②

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
基本的なアルゴリズムの理解探索、整列などについて、効率の良いアルゴリズムの説明ができる。探索、整列などについて、アルゴリズムの説明ができる。探索、整列などについて、アルゴリズムの説明ができない。
基本的なデータ構造の理解リスト、スタック、キューなどのデータ構造の説明ができ、問題に応じて適切な構造を選択できる。リスト、スタック、キューなどのデータ構造の説明ができる。リスト、スタック、キューなどのデータ構造の説明ができない。
C言語によるプログラミング各種の問題について、適切なアルゴリズムを選択してC 言語でプログラミングできる各種アルゴリズムについて、C 言語でプログラミングできる。各種アルゴリズムについて、C 言語でプログラミングできない。

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

教育方法等

概要:
ソフトウェアを開発するには, 問題を計算機上で実現できる形に直す作業(データ構造) と, それを実際に効率よく解く手順を作成する作業(アルゴリズム) からなる. その基本的な情報構造であるデータ構造とそれらに関連するアルゴリズムについての理解を主たる目的とする。
授業の進め方・方法:
実用的なプログラミングを作る時に必要となるデータ構造とアルゴリズムの原理について理解する. 座学で学んだデータ構造とアルゴリズムは、C 言語でプログラムを作成し動作を確認する。
注意点:
C言語を用いたプログラミングができることを前提とする。授業内で最低限の復習は行うが、基礎となる関連科目である「情報処理」および「プログラミング」の理解を深めておくことが重要である。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 アルゴリズムとは、授業計画 授業計画について理解している
2週 C言語の復習、計算量 C言語の基本データ型と配列の説明ができる
3週 線形探索とそのC言語プログラミング 線形探索のアルゴリズムその計算量について説明でき、そのC言語プログラムが実装できる
4週 二分探索とそのC言語プログラミング 二分探索のアルゴリズムとその計算量について説明でき、そのC言語プログラムが実装できる
5週 単純選択法、単純交換法 単純選択法と単純交換法の二種類のソートアルゴリズムを説明できる
6週 単純挿入法 単純挿入法のソートアルゴリズムを説明できる
7週 ソートアルゴリズムのC言語プログラミング C言語を用いて各種ソートのプログラムを作成できる
8週 中間試験 1~7週までの内容を網羅した試験により、授業内容の理解の定着を図る。
2ndQ
9週 答案返却とその解説、再帰の復習 中間試験の内容を理解する。再帰アルゴリズムの考え方を説明できる
10週 C言語の復習 ポインタと構造体について説明できる
11週 線形リスト 線型リストについて説明できる
12週 線型リストのC言語プログラミング 線型リストをC言語で実装できる
13週 スタック、キュー スタックとキューについて説明できる
14週 スタック、キューのC言語プログラミング スタックとキューをC言語で実装できる
15週 期末試験 9~14週までの内容を網羅した試験により、授業内容の理解の定着を図る。
16週 答案返却とその解説 期末試験の内容を理解する。

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

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

評価割合

試験課題への取り組み合計
総合評価割合7030100
基礎的能力000
専門的能力7030100
分野横断的能力000