応用プログラミング

科目基礎情報

学校 仙台高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 応用プログラミング
科目番号 1032 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 総合工学科Ⅰ類 対象学年 3
開設期 後期 週時間数 2
教科書/教材 アルゴリズムとデータ構造 第2版,藤原暁宏著,森北出版
担当教員 安藤 敏彦

到達目標

配列やリスト、スタック,キュー,木などデータ構造の説明ができ、探索、ソートなどの主要なアルゴリズムの実装ができる.また、計算量の考え方を使って複数のアルゴリズムの間の比較ができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
データ構造の説明データ構造各々の特徴を理解し、具体的な応用例を説明できる.データ構造各々の特徴を説明できる.データ構造の特徴を説明できない.
アルゴリズムの実装C言語でアルゴリズムを実装し、他の課題について応用できる.C言語でアルゴリズムを実装してプログラムを作成できる.C言語でアルゴリズムを実装することができない.
複数のアルゴリズムの間の比較複数のアルゴリズムを計算量をもとに比較することができる.いくつかのアルゴリズムの計算量をオーダ記法で評価できる.オーダ記法による評価ができない.

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

教育方法等

概要:
基本的なデータ構造の概念と操作を理解し,問題に対し適切なデータ構造を選択する重要性を学ぶ。
また,基本的なアルゴリズムを理解し,コンピュータプログラムとして実装・評価していく。
授業の進め方・方法:
毎回、講義および演習を行う。講義資料はBlackboardにアップロードし、自宅からも閲覧できるようにしておく.
注意点:
学習内容には抽象度の高い概念が含まれる。これらの概念を定着させ,実現するために,演習内容に習熟するよう留意すること。また,アルゴリズムの内容とデータ構造を正しく理解するために,積極的にそれらを用いて習熟するよう留意すること。
自学自習として,各回の授業内容,達成項目及び教科書内容を確認しておくこと。学習内容に含まれる概念を理解するために,教科書等に掲載されている例題を基に十分復習すること。理解を確実にするため,各回の授業内容に関連する例題や練習問題を実行し解くこと。

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 アルゴリズムの基礎 アルゴリズムの意味と、アルゴリズムの評価について理解できる。
アルゴリズムの表記法について理解できる。
2週 基本データ構造と基本概念1 配列、連結リストについて理解できる。
3週 基本データ構造と基本概念2 スタックとキューについて理解できる。
4週 基本データ構造と基本概念3 木構造について理解できる。
再帰について理解できる.
5週 データの探索1 線形探索について理解できる.
2分探索法について理解できる.
6週 データの探索2 ハッシュ法について理解できる.
7週 後期中間試験
8週 後期中間試験の返却、解説
4thQ
9週 ソートアルゴリズム1 選択ソート,挿入ソートについて理解できる。
10週 ソートアルゴリズム2 ヒープソートについて理解できる.
11週 ソートアルゴリズム3 クイックソートについて理解できる。
12週 ソートアルゴリズム4 ソートアルゴリズムの間の特徴を比較できる.
13週 応用課題1 アルゴリズムを設計するための設計手法について理解できる.
14週 応用課題2 アルゴリズムを設計するための設計手法について理解できる.
15週 後期期末試験の返却
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング主要な言語処理プロセッサの種類と特徴を説明できる。3
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
整列、探索など、基本的なアルゴリズムについて説明できる。3
時間計算量によってアルゴリズムを比較・評価できることを説明できる。3
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。3
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。3
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3

評価割合

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