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

科目基礎情報

学校 津山工業高等専門学校 開講年度 令和08年度 (2026年度)
授業科目 アルゴリズムとデータ構造
科目番号 0049 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 総合理工学科(情報システム系) 対象学年 3
開設期 通年 週時間数 2
教科書/教材 教科書: 松原雅文,山田敬三「Cによるアルゴリズムとデータ構造」(森北出版)
担当教員 菊地 洋右

到達目標

学習目的:代表的なアルゴリズムやデータ構造の仕組みについて説明できる,または説明を読めばその名称が答えられる。アルゴリズムの効率を考える際に重要となる時間計算量などの基本的概念や用語を説明できる。

到達目標
1.アルゴリズムとは何かを説明できる。
2.ソート,探索に関する代表的なアルゴリズムを説明できる。
3.スタック,キュー,二分木などのデータ構造を説明できる。
4.文字列検索アルゴリズムを説明できる。
5.グラフ構造について説明できる。

ルーブリック

不可
評価項目1計算量の表記とその定義を活用して実践的なプログラムの計算量を評価できる。計算量の表記とその定義を活用して代表的なプログラムの計算量を評価できる。計算量の表記とその定義について説明できる。左記に達していない。
評価項目2ソートおよび探索のアルゴリズムを活用した実践的なプログラムを実装できる。ソートおよび探索のアルゴリズムを活用できる。ソートおよび探索のアルゴリズムについて説明できる。左記に達していない。
評価項目3スタック,キュー,2分木などのデータ構造を活用した実践的なプログラムを実装できる。スタック,キュー,2分木などのデータ構造を活用できる。スタック,キュー,2分木などのデータ構造について説明できる。左記に達していない。
評価項目4文字列検索アルゴリズムを活用した実践的なプログラムを実装できる。文字列検索アルゴリズムを活用できる。文字列検索アルゴリズムについて説明できる。左記に達していない。
評価項目5グラフ構造を活用して実践的な問題を評価できる。グラフ構造を活用して代表的な問題を評価できる。グラフ構造について説明できる。左記に達していない。

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

教育方法等

概要:
一般・専門の別:専門

学習の分野:情報システム・プログラミング・ネットワーク

基礎となる学問分野:総合系/情報学/計算基盤/ソフトウェア

学習教育目標との関連:本科目は総合理工学科学習教育目標「③基盤となる専門性の深化」に相当する科目である。

授業の概要:コンピュータを使って問題解決をする場合,使用するアルゴリズムとデータ構造が異なると問題解決の効率が違ってくる。本科目では,これらの選択能力や設計能力の基礎を修得するため,代表的なアルゴリズムとデータ構造を題材にそれらの仕組み等を学習する。
授業の進め方・方法:
授業の方法:板書を中心に,学生の理解度を確かめながら講義を行う。また,理解が深まるよう,関連した演習を課す。

成績評価方法:4回の試験をT1,T2,T3,T4とし、T1≧T2≧T3≧T4とする。評価はαT1+βT2+γT3+δT4で行う。ここで、評価対象の学生の授業への出席率が80%以上のときα=0.5, β=0.3, γ=0.15, δ=0.05、出席率が70%以上80%未満のときα=0.4, β=0.3, γ=0.2, δ=0.1、 60%以上70%未満のときα=0.3, β=0.3, γ=0.2, δ=0.2とする。再試験は原則行わない。ただし,定期試験の結果をもって単位認定を正当に結論できないと判断した場合には再試験を行い,その結果次第で期末成績を見直すことがありうる。単位認定を正当に結論できないと判断する基準は以下の3つのうち2つij以上に当てはまるときとする。1.試験の得点で90点以上の者がいない。2.試験の得点で80点以上の者が受講者の3割未満。3.試験のある問に対して、すべての学生の得点が0である。
再試験実施にあたっては,状況に応じて受験条件や受験準備の方法などについて指示するので,アナウンスに注意すること。原則として,いずれの試験にも教科書・ノートの持込を許可しないが,状況によっては許可することもありうる。再再試験は行わない。
ルーブリックに基づいて定期試験を作成するが, 定期試験がルーブリックの評価項目を必ずしも網羅しているとは限らない。
注意点:
履修上の注意:学年の課程修了のためには履修(欠席時間数が所定授業時間数の3分の1以下)が必須である。

履修のアドバイス:本科目はこれまでに履修してきたプログラミングに関する科目と深く関連している。本科目で学習した内容を積極的に活用したプログラムを書くことでより理解が深まる。

基礎科目:総合理工基礎(1年),プログラミング基礎(2)

関連科目:データベース(5年),ICTプログラミング応用(4),情報数理(4)

受講上のアドバイス:授業開始時刻を過ぎての入室は遅刻とする。遅刻2回で欠課1回として取り扱う。1授業単位ごとに確認する。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス〔科目の概要,目的,評価方法,注意事項等〕 本科目の位置づけを理解する。
2週 オーダー記法 オーダー記法について説明できる。
3週 配列とリスト リスト構造について説明できる。
4週 ソートの概要とバブルソート クイックソートについて説明できる。
5週 インサーションソート、セレクションソート マージソートについて説明できる。
6週 リニアサーチ リニアサーチについて説明できる。
7週 バイナリサーチ バイナリサーチについて説明できる。
8週 (前期中間試験)
2ndQ
9週 前期中間験の答案返却と試験解説 自分の知識で不足している箇所を認識し,改善する。
10週 スタックとキュー スタックとキューについて説明できる。
11週 ツリー構造1 代表的な木構造について説明できる。
12週 ツリー構造2 代表的な木構造について説明できる。
13週 ツリー構造3 代表的な木構造について説明できる。
14週 シェルソート シェルソートについて説明できる。
15週 (前期末試験)
16週 前期末試験の答案返却と試験解説 自分の知識で不足している箇所を認識し,改善する。
後期
3rdQ
1週 クイックソート クイックソートについて説明できる。
2週 ヒープソート ヒープソートについて説明できる。
3週 マージソート マージソートについて説明できる。
4週 バケットソート バケットソートについて説明できる。
5週 ハッシュ ハッシュについて説明できる。
6週 逆ポーランド記法 逆ポーランド記法について説明できる。
7週 木構造の走査 木構造の走査について説明できる。
8週 (後期中間試験)
4thQ
9週 後期中間試験の答案返却と試験解説 自分の知識で不足している箇所を認識し,改善する。
10週 グラフ構造 グラフ構造について説明できる。
11週 ダイクストラ法 ダイクストラ法について説明できる。
12週 最小全域木 最小全域木とそのアルゴリズムについて説明できる。
13週 文字列照合
文字列照合とそのアルゴリズムについて説明できる。
14週 まとめ アルゴリズムとデータ構造の学習内容全体について説明できる。
15週 (後期末試験)
16週 後期末試験の答案返却と試験解説 自分の知識で不足している箇所を認識し,改善する。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェアアルゴリズムの概念を理解し、与えられたアルゴリズムが問題を解決していく過程を説明できる。4
計算量によってアルゴリズムを比較・評価できることを説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解し、基本的なデータ構造の概念と操作を説明できる。4

評価割合

試験発表相互評価自己評価課題小テスト合計
総合評価割合10000000100
基礎的能力0000000
専門的能力10000000100
分野横断的能力0000000