応用プログラミング

科目基礎情報

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

到達目標

【学習・教育目標】
 (C)情報工学あるいは電子工学の分野で,人間性豊かなエンジニアとして活躍するための知識を獲得すること。

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

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
データ構造の説明データ構造各々の特徴を理解し、具体的な応用例を説明できる.データ構造各々の特徴を説明できる.データ構造の特徴を説明できない.
アルゴリズムの実装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週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4

評価割合

試験課題合計
総合評価割合6040100
基礎的能力000
専門的能力6040100