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

科目基礎情報

学校 久留米工業高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 データ構造とアルゴリズム
科目番号 0339 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 制御情報工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 教科書:湯田他, アルゴリズムとデータ構造(コロナ社)。参考書:Narasimha Karumanchi, 入門 データ構造とアルゴリズム (オライリージャパン)
担当教員 丸山 延康

到達目標

1.重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。
2.簡単な応用問題に対し、有効なアルゴリズムを作成できる。
3.CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解し、応用できる。重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を一定程度に理解し、応用できる。重要なアルゴリズムの特性やデータ構造、アルゴリズムに関する基本的な技法を理解、応用できない。
評価項目2簡単な応用問題に対し、有効なアルゴリズムを作成できる。簡単な応用問題に対し、有効なアルゴリズムを一定程度に作成できる。簡単な応用問題に対し、有効なアルゴリズムを作成できない。
評価項目3CやC 等のプログラミング言語を用いてアルゴリズムを実現できる。CやC 等のプログラミング言語を用いてアルゴリズムを一定程度に実現できる。CやC 等のプログラミング言語を用いてアルゴリズムを実現できない。

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

JABEE C-1 説明 閉じる

教育方法等

概要:
本授業では,典型的、重要なアルゴリズムやデータ構造,及びアルゴリズムに関する重要な概念や技法、またアルゴリズムを実現するプロセスを理解させ、情報工学・情報科学の基幹技術について素養とスキルを持たせることを目標とする。
授業の進め方・方法:
教科書に基づいた講義は主である。授業内容の進行に伴い試問や問題解説を行う。授業外の課題や練習問題を課す。
注意点:
中間試験(40%)、期末試験(60%)の総合成績で評価を行う。
総合成績が60点以上を合格とする。総合成績が60点未満の学生には1回再試験を設ける。
再評価試験は、全範囲として100点満点で60点以上を合格とし、60点とする。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 アルゴリズムとアルゴリズムの性能評価・計算量・O記法 アルゴリズムとアルゴリズムの性能評価・計算量・O記法を理解できる。
2週 データの構造及び表現法 データの構造及び表現法を理解できる。
3週 配列による順配置、ポインタによるリンク配置 配列による順配置、ポインタによるリンク配置の概念を理解でき、応用できる。
4週 順配置によるリスト、ポインタによる連結リストの実現 順配置によるリスト、ポインタによる連結リストの実現を理解でき、応用できる。
5週 双方連結リスト 双方向連結リストを理解でき、応用できる。
6週 スタックのデータ構造と実現 スタックのデータ構造と実現を理解でき、応用できる。
7週 キューのデータ構造と実現、リンクバッファーによるキューの実現 キューのデータ構造と実現、リンクバッファーによるキューの実現を理解でき、応用できる。
8週 木の概念、2分木、2分木の表現と走査 木の概念、2分木、2分木の表現と走査を理解でき、応用できる。
2ndQ
9週 数式を表す木、木の表現 数式を表す木、木の表現を理解でき、応用できる。
10週 線形探索、2分探索、ハッシュ法 線形探索、2分探索、ハッシュ法を理解でき、応用できる。
11週 文字列の探索 文字列の探索を理解でき、応用できる。
12週 木の探索、2分探索木、B木 木の探索、2分探索木、B木を理解でき、応用できる。
13週 選択によるソート、交換によるソート 選択によるソート、交換によるソートを理解でき、応用できる。
14週 挿入によるソート、併合によるソート 挿入によるソート、併合によるソートを理解でき、応用できる。
15週 外部ソート 外部ソートの概念と方法を理解でき、応用できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力人文・社会科学英語英語運用能力の基礎固め英語のつづりと音との関係を理解できる。1
英語の標準的な発音を聴き、音を模倣しながら発声できる。2
専門的能力分野別の専門工学機械系製図図面の役割と種類を理解できる。2
製図用具を正しく使うことができる。3
線の種類と用途を説明できる。3
品物の投影図を正確に書くことができる。3
製作図の書き方を理解できる。1
図形を正しく描くことができる。1
図形に寸法を記入することができる。1
公差と表面性状の意味を理解し、図示することができる。1
部品のスケッチ図を書くことができる。1
情報系プログラミングプロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。1
与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。1
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。1
主要な言語処理プロセッサの種類と特徴を説明できる。1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。1
ソフトウェアアルゴリズムの概念を説明できる。2
与えられたアルゴリズムが問題を解決していく過程を説明できる。2
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。2
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。2
整列、探索など、基本的なアルゴリズムについて説明できる。2
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。2
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを理解している。2
リスト構造、スタック、キューなどの基本的なデータ構造の概念と操作を説明できる。2
計算機工学整数・小数をコンピュータのメモリー上でディジタル表現する方法を理解している。1
基数が異なる数の間で相互に変換できる。1
基本的な論理演算を行うことができる。1
与えられた簡単な組合せ論理回路の機能を説明することができる。1
五大装置それぞれの役割とこれらの間でのデータの流れを説明できる。1
情報通信ネットワークローカルエリアネットワークの概念を説明できる。1
インターネットの概念を説明できる。1
情報数学・情報理論ブール代数に関する基本的な概念を説明できる。1
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。2
少なくとも一つの具体的なオフィススイートを使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。2
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。2
コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。1
コンピュータを扱っている際に遭遇しうる脅威に対する代表的な対策について説明できる。1
メディア情報の主要な表現形式や処理技法について説明できる。1

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合10000000100
基礎的能力500000050
専門的能力500000050
分野横断的能力0000000