プログラミング特論

科目基礎情報

学校 熊本高等専門学校 開講年度 2017
授業科目 プログラミング特論
科目番号 CI413 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 制御情報システム工学科 対象学年 4
開設期 通年 週時間数 1
教科書/教材 平田富夫,アルゴリズムとデータ構造<改訂 C言語版>,森北出版株式会社
担当教員 野尻 紘聖

到達目標

 3年次までに習得したプログラミング技術に基づき,世の中のさまざまな問題をコンピュータにより解決するために必要な各種データ構造の特徴を理解し,それらを意識したアルゴリズム(解法の手順)を問題に適用できる高度なプログラミング能力を身に付けることが目標である.
 さらに,リレーショナルデータベースを理解し,データベース言語を用いて世の中の問題解決に役立つツールを作成することが目標である.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
アルゴリズムの基本概念とデータ構造任意の課題を解決するため,適切なデータ構造の選定およびアルゴリズムを的確に表現し,計算量を求めることができる. 任意の課題に対して,リスト,スタックとキュー,木構造,グラフをプログラミング言語で表現できる.アルゴリズムの表現法や計算量について説明できる. リスト,スタックとキュー,木構造,グラフの構造と特徴について,それらの基礎的な語句を用いて説明できる.アルゴリズムの表現法や計算量について説明できない. リスト,スタックとキュー,木構造,グラフの構造と特徴について,それらの基礎的な語句を用いて説明できない.
ソート(整列)とサーチ(探索)与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を,それらの違いを含めて具体的に説明でき,コンピュータにより各手法を実現できる.与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を,それらの違いを含めて説明できる.与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を説明できない.
アルゴリズムの設計⼿法再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を具体的に説明でき,任意の問題をコンピュータにより解くことができる.再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を説明できる.再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を説明できない.
リレーショナルデータベースの基礎世の中で利用されているデータベースシステムとその関連技術を説明でき,GUIを含めた簡単なデータベースシステムを構築できる.データベースの概念と基礎的な語句を説明でき,データベース⾔語を用いて簡単なデータベースの作成・操作ができる.データベースの概念と基礎的な語句を説明できず,データベース⾔語を用いることができない.

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

教育方法等

概要:
 世の中のさまざまな問題をコンピュータにより解決するためには,何らかのデータ処理が必要である.コンピュータで処理しやすいように,データの集まりと各データ間の結合関係を表現(モデル化)したものがデータ構造であり,それを意識したアルゴリズム(解法の手順)を問題に適用することで効率のよい処理が可能となる.
 本授業では,3年次までに習得したプログラミング技術に基づき,さまざまな問題解決に必要なデータ処理の知識およびプログラミング能力を身に付けることを目的とする.
授業の進め方・方法:
本授業は多くのアルゴリズムを座学により理解し,適宜,演習とプレゼンテーションを行うことで知識の定着を図る.

授業中,または家庭でプログラムを何度も見返しながら,考え,それを実現する力を身に付ける.
注意点:
90分の授業に対して90分程度に相当する放課後・家庭での自学学習,およびレポート課題を課す.

本授業で学習する内容は3年次に学習するプログラム通論と関連があるため,十分に復習しておくことが望まれ,自ら学ぶ姿勢が求められる.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
アルゴリズムの基本概念
本科目の学習内容や目標,評価方法について理解する.
配列,ポインタ,構造体などの知識を確認する.
アルゴリズムとデータ構造の関係,アルゴリズムの表現法や計算量について説明できる.
2週 データ構造(1) リスト,スタックとキュー,木構造,グラフについて理解し説明できる.
3週 データ構造(2) 同上
4週 データ構造(3) 同上
5週 データ構造(4) 同上
6週 サーチ(探索) 文字列などのデータを探索する各手法を説明でき,コンピュータによりそれらを実現できる.
7週 サーチ(探索) 同上
8週 前期中間試験 各種データ構造や探索アルゴリズムに関する演習問題を解くことができる.
2ndQ
9週 ソート(整列) 与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方やそれらの違いを説明でき,コンピュータにより各⼿法を実現できる.
10週 ソート(整列) 同上
11週 ソート(整列) 同上
12週 ソート(整列) 同上
13週 ソート(整列) 同上
14週 ソート(整列)とサーチ(探索) 与えられたデータを特定の順序に並べ替え,必要なデータを探索するプログラムを実現できる.
15週 前期期末試験 整列アルゴリズムに関する演習問題を解くことができる.
16週 定期試験答案返却
ソート(整列)とサーチ(探索)の課題プレゼンテーション
後期
3rdQ
1週 アルゴリズムの設計⼿法 再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法が説明でき,任意の問題をコンピュータにより解くことができる.
2週 アルゴリズムの設計⼿法 同上
3週 アルゴリズムの設計⼿法 同上
4週 リレーショナルデータベースの基礎(1) データベースの概念と基礎的な語句を説明でき,データベース言語を用いて簡単なデータベースの操作ができる.
5週 リレーショナルデータベースの基礎(2) 同上
6週 リレーショナルデータベースの基礎(3) 同上
7週 リレーショナルデータベースの基礎(4) 同上
8週 後期中間試験 アルゴリズムの設計手法に関する演習問題を解くことができる.
4thQ
9週 リレーショナルデータベースの実践(1) 与えられた課題についてデータベースを設計および各種言語を用いてそのシステムを実現できる.
10週 リレーショナルデータベースの実践(2) 同上
11週 リレーショナルデータベースの実践(3) 同上
12週 リレーショナルデータベースの実践(4) 同上
13週 リレーショナルデータベースの実践(5) 同上
14週 リレーショナルデータベースの実践(6) 同上
15週 後期期末試験 データベースに関する演習問題を解くことができる.
16週 定期試験答案返却
最終課題のプレゼンテーション

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。5

評価割合

試験レポート発表合計
総合評価割合603010100
基礎的能力0000
専門的能力603010100
分野横断的能力0000