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

科目基礎情報

学校 北九州工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 アルゴリズムとデータ構造
科目番号 0079 科目区分 専門 / 必修
授業形態 単位の種別と単位数 履修単位: 1
開設学科 生産デザイン工学科(電気電子コース) 対象学年 3
開設期 前期 週時間数 2
教科書/教材 新・明解 C言語で学ぶアルゴリズムとデータ構造 柴田望洋 著(SBクリエイティブ)
担当教員 武市 義弘

到達目標

1.基本的なデータ構造と操作を理解・説明できる。
2.アルゴリズムの概念が説明でき、アルゴリズムが問題を解決していく課程を説明できる。
3.時間計算量や領域計算量などによってアルゴリズムを比較・評価できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1高度なデータ構造と操作を理解・説明できる。基本的なデータ構造と操作が理解・説明できる。基本的なデータ構造と操作が理解・説明できない。
評価項目2高度なアルゴリズムの概念であっても説明でき、アルゴリズムが問題を解決していく課程を説明できる。アルゴリズムの概念が説明でき、アルゴリズムが問題を解決していく課程を説明できる。アルゴリズムの概念が説明できず、アルゴリズムが問題を解決していく課程を説明もできない。
評価項目3時間計算量や領域計算量などによってアルゴリズムを比較・評価できる。時間計算量や領域計算量が比較・評価できる。時間計算量や領域計算量の説明ができない。

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

学習・教育到達度目標 B① 専門分野における工学の基礎を理解できる。
学習・教育到達度目標 B② 自主的・継続的な学習を通じて、専門工学の基礎科目に関する問題を解くことができる。

教育方法等

概要:
本授業では連結リストなどのデータ構造とそれらに対応するアルゴリズムについて学び、それらを駆使してプログラムを書けるようになることを目的とする。
授業の進め方・方法:
教科書の解説を理解し掲載されているプログラム全てを追跡し、更に実際の問題にそれらプログラムを応用し、各種アルゴリズムを実習を通して学ぶ。
注意点:
C言語の知識は必須である。始めにC 言語のプログラミングの復習をする。但し、それでも不十分であれば各自で復習すること。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 C言語の復習(型、変数、演算、関数、論理演算、進数演算) 入出力関数や変数を用いて単純な演算、計算をすることができる。
2週 データ構造 データ構造について理解し、プログラムが作成できる。
3週 アルゴリズムと計算量の概念 アルゴリズムを理解し、計算量を求めることができる。
4週 スタック スタックおよびキューを理解し、プログラムが作成できる。
5週 キュー スタックおよびキューを理解し、プログラムが作成できる。
6週 連結リスト 連結リストを理解し、プログラムが作成できる。
7週 連結リスト 連結リストを理解し、プログラムが作成できる。
8週 中間試験
2ndQ
9週 木構造 木構造を理解し、プログラムが作成できる。
10週 単純な整列アルゴリズム 整列アルゴリズムを理解し、プログラムが作成できる。
11週 シェルソート シェルソートを理解し、プログラムが作成できる。
12週 クイックソート クイックソートを理解し、プログラムが作成できる。
13週 クイックソート クイックソートを理解し、プログラムが作成できる。
14週 その他の整列アルゴリズム その他の整列アルゴリズムを理解し、プログラムが作成できる。
15週 定期試験
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3前1
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前11,前12,前14
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前10

評価割合

試験演習・レポート相互評価態度ポートフォリオその他合計
総合評価割合70300000100
基礎的能力0000000
専門的能力70300000100
分野横断的能力0000000