プログラミング

科目基礎情報

学校 岐阜工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミング
科目番号 0152 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 新・明解C 言語で学ぶアルゴリズムとデータ構造(柴田望洋・ソフトバンククリエイティブ)を教科書とする.また,第2学年のプログラミングの教科書も必要に応じて使用する.
担当教員 出口 利憲

到達目標

① C言語のプログラムを理解できる。
② C言語の簡単なプログラムを作成できる。
③ 有用なアルゴリズムを理解する。
④ データの表現方法を理解する。
⑤ 実際にアルゴリズムやデータ表現を利用する。
⑥ コンピュータを用いて,実際にプログラムを作成し,実行できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1C 言語のプログラム理解に関する 問題を正確(8 割以上)に解くこ とができるC 言語のプログラム理解に関する 問題をほぼ正確(6 割以上)に解 くことができるC 言語のプログラム理解に関する 問題を解くことができない
評価項目2C 言語のプログラム作成に関する 問題を正確(8 割以上)に解くこ とができるC 言語のプログラム作成に関する 問題をほぼ正確(6 割以上)に解 くことができるC 言語のプログラム作成に関する 問題を解くことができない
評価項目3アルゴリズムの理解に関する問題 を正確(8 割以上)に解くことが できるアルゴリズムの理解に関する問題 をほぼ正確(6 割以上)に解くこ とができるアルゴリズムの理解に関する問題 を解くことができない
評価項目4データの表現方法に関する問題を 正確(8 割以上)に解くことがで きるデータの表現方法に関する問題を ほぼ正確(6 割以上)に解くこと ができるデータの表現方法に関する問題を 解くことができない
評価項目5アルゴリズムやデータ表現を実際に利用し,これについて正確(8割以上)に説明することができるアルゴリズムやデータ表現を実際に利用し,これについてほぼ正確6 割以上)に説明することができアルゴリズムやデータ表現を実際に利用し,これについて説明することができない
評価項目6実際にプログラムを作成・実行し,これについて正確(8割以上)に説明することができる実際にプログラムを作成・実行し,これについてほぼ正確(6割以上)に説明することができる実際にプログラムを作成・実行し,これについて説明することができない

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

教育方法等

概要:
C言語のプログラミングを通じて,手続型のプログラミングの基本的な概念を習得する。
授業の進め方・方法:
英語導入計画:なし
注意点:
第2学年 のプログラミングの知識が必要なので,十分復習しておくこと。積極的に演習に取り組み,レポートを提出すること。教科書の例題等のプログラムを作成して,理解を深めるとよい。
学習・教育目標:(E)100%

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 文字列 文字列を扱うための変数の宣言方法を説明できる。
2週 文字列の配列 文字列操作関数について説明できる。
3週 演習(文字列)(ALのレベルC) 文字列を用いたプログラムが作成できる。
4週 ファイルへの出力 ファイル操作のための手順について説明できる。
5週 ファイルからの入力 ファイル操作関数について説明できる。
6週 演習(ファイル) ファイルへの入出力を行うプログラムを作成できる。
7週 ポインタと動的メモリ割当 ポインタについて説明できる。また、動的メモリ割り当てのための関数について説明できる。
8週 前期中間試験
2ndQ
9週 抽象データ型,スタック,キュー 抽象データ型について説明できる。スタックおよびキューの操作を説明できる。
10週 分割コンパイルと言語処理系(ALのレベルB) プログラム開発に必要なツールがわかる
11週 演習(スタック・キュー)(ALのレベルC) スタックとキューのプログラムを作成できる。
12週 線形サーチ 線形サーチのアルゴリズムを説明できる。
13週 2分サーチ 2分サーチのアルゴリズムを説明できる。
14週 演習(サーチ)(ALのレベルC) 線形サーチと2分サーチのプログラムを作成できる。
15週 期末試験の解答の解説と前期のまとめ
16週
後期
3rdQ
1週 単純ソート法 単純選択法のアルゴリズムを説明できる。
2週 演習(単純ソート法)(ALのレベルC) 単純選択法のプログラムを作成できる。
3週 再帰呼び出し 再帰呼び出しのプログラムを作成できる。
4週 高速ソート法(ALのレベルB) クイックソートのアルゴリズムを説明できる。
5週 演習(高速ソート法)(ALのレベルC) クイックソートのプログラムを作成できる。
6週 リスト リストについて説明できる。
7週 後期中間試験
8週 連結リスト 連結リストの操作について説明できる。
4thQ
9週 演習(連結リスト)(ALのレベルC) 連結リストのプログラムを作成できる。
10週 連結リストの応用 連結リストを用いたマージソートのアルゴリズムを説明できる。
11週 演習(連結リストの応用)(ALのレベルC) 連結リストを用いたマージソートのプログラムを作成できる。
12週 木構造1 二分探査木について説明できる。
13週 木構造2 木の走査について説明できる。
14週 演習(木構造)(ALのレベルC) 二分探査木のプログラムを作成できる。
15週 期末試験の解答の解説と総まとめ
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
システムプログラムコンパイラの役割と仕組みについて説明できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4

評価割合

中間試験期末試験レポート合計
総合評価割合200200200600
得点(前期)100100100300
得点(後期)100100100300