情報処理

科目基礎情報

学校 熊本高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 情報処理
科目番号 0153 科目区分 一般 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 機械知能システム工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 配布資料
担当教員 小島 俊輔,米沢 徹也,藤本 洋一,村田 美友紀

到達目標

1.基本的なアルゴリズムで記述されたプログラムを理解し記述することができる.
2.現実世界の事象をシミュレートする100行程度のプログラムを関数を使って記述できる.
3.コンピュータグラフィックスを使用して計算結果をわかりやすく表示することができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1探索や整列など基本的なアルゴリズムのプログラムを資料などを参考にすることなく記述できる探索や整列など基本的なアルゴリズムのプログラムを資料などを参考にして記述することができる基本的なアルゴリズムの動作を説明できない
評価項目2現実世界の事象をシミュレートするプログラムを適切な大きさの関数に分割して記述できる現実世界の事象をシミュレートするプログラムを資料などを参考にして記述できる現実世界の事象とプログラムとの対応関係が理解できない
評価項目3計算結果をアニメーションCGなどによりわかりやすく描画するプログラムを記述することができる計算結果をCGで描画するプログラムを記述することができるCGプログラムの動作を説明できない

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

教育方法等

概要:
プログラムによる具体的な問題の解決手法を学ぶ.多くの例題を通したプログラムの作成方法に慣れてもらい,プログラミングにおける考え方の基礎を固める.プログラムの基礎的な事柄から徐々に発展し,数学関数や公式,物理法則などを利用した現実世界の問題についてのシミュレーションを行い,結果をグラフィックスを用いて表示する.
授業の進め方・方法:
講義はすべて反転授業にて実施する.基礎的な動作をするプログラムを資料とビデオにより解説するので,必ず自宅学習してくること.講義の時間は基本的なプログラムの動作をペアワークやグループワークなどで確認し,課題に取り組んでもらう.さらに余力のある学生は,応用問題や発展問題に挑戦する.
注意点:
プログラムを表面的に眺めるのではなく,動作を深く考えることが必要である.課題プログラムを作成する際は,資料のサンプルプログラムを自力で書き直してみること.プログラムの動作や計算の過程を理解した上で記述することが肝要である.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
整数と実数の演算
プログラムにおける整数と実数の特徴や性質を理解する
2週 複数のif文の組み合わせ 複数のif文を組み合わせた複雑な条件のプログラムを記述できる
3週 for, whileによる多重ループ 2重ループ以上のプログラムが記述できる
4週 関数分割 関数に分割されたプログラムの動作を理解する
5週 文字列の取り扱い 文字列が単なる配列であることを理解し,応用プログラムを記述できる
6週 数値計算 浮動小数点の誤差を踏まえたプログラムを記述できる
7週 整列 挿入ソートやシェルソートのプログラムを記述できる
8週 探索 線形探索や二分探索のプログラムを記述できる
2ndQ
9週 基本的なデータ構造 スタックやリストなどの基本的なデータ構造を利用できる
10週 ファイル入出力 ファイル入出力のプログラムを記述できる
11週 メモリ管理 new, delete によるメモリ管理が理解できる
12週 乱数 疑似乱数を作成し,乱数を応用したプログラムを記述できる
13週 応用問題(1) これまでに学習した内容を踏まえた応用問題のプログラムが作成できる(1)
14週 応用問題(2) これまでに学習した内容を踏まえた応用問題のプログラムが作成できる(2)
15週 〔前期期末試験〕
16週 試験問題の返却と解答
後期
3rdQ
1週 コンピュータグラフィックスの基礎 線,矩形,円などの基本的なコンピュータグラフィックスを描画することができる
2週 時計の製作(1)
直交座標系と座標系の変換
直交座標系からグラフィックス座標系への変換ができる
3週 時計の製作(2)
極座標変換
曲座標変換の考え方を理解し,時計の針や目盛の描画に応用できる
4週 時計の製作(3)
アニメーションCGの作成方法
アニメーションCGを描画するプログラムを作成することができる
5週 時計の製作(4)
作品製作
基本プログラムを修正しオリジナル動作をするプログラムを作成できる
6週 グラフの描画(1)
ファイルデータによる棒グラフの描画
ファイルからデータを読み取り,棒グラフとして描画することができる
7週 グラフの描画(2)
片方向通信による折れ線グラフの描画
サーバからデータを取得し,折れ線グラフとして描画することができる
8週 グラフの描画(3)
双方向通信によるレーダチャートの描画
サーバやIoT機器との間で取得したい情報をリアルタイムに送受信しレーダチャートで描画することができる
4thQ
9週 グラフの描画(4)
作品製作
基本プログラムを修正しオリジナル動作をするプログラムを作成できる
10週 温度シミュレーション(1)
数値から色への変換
数値情報を色情報に変換できる
11週 温度シミュレーション(2)
2次元配列とセル描画
2次元配列を2次元のCG平面にマッピングするプログラムを作成できる
12週 温度シミュレーション(3)
有限差分法による温度シミュレーション
有限差分法の計算方法を理解できる
13週 温度シミュレーション(4)
作品製作
基本プログラムを修正しオリジナル動作をするプログラムを作成できる
14週 課題プログラム作成演習 課題を自ら設定しオリジナルプログラムを作成することができる
15週 〔学年末試験〕
16週 試験問題の返却と解答

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前1,前2,前3,前6,後2,後3,後6,後7,後8,後10,後11,後12,後14
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前4,前5,前6,前7,後2,後3,後6,後7,後8,後10,後11,後12,後14
変数の概念を説明できる。3前1,前2,前3,前4,前5,前6,前7,前8,後2,後6,後7,後8,後10,後12,後14
データ型の概念を説明できる。3前2,前3,前5,前6,前7,後8,後11,後12,後14
制御構造の概念を理解し、条件分岐を記述できる。3前2,前7,前8,後3,後12,後14
制御構造の概念を理解し、反復処理を記述できる。3前3,前7,前8,後3,後11,後12,後14
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後6,後7,後8,後10,後11,後12,後14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前10,前13,前14,後1,後2,後3,後4,後6,後7,後8,後10,後11,後12,後14
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。2前7,後1,後2,後3,後4,後6,後7,後8,後10,後11,後12,後14
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。2前7,前8,前13,前14,後11,後12,後14
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。2前7,前8,前13,前14,後11,後14
ソフトウェアアルゴリズムの概念を説明できる。2前7,前8,前9
与えられたアルゴリズムが問題を解決していく過程を説明できる。2前7,前8
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。2前7,前8,前9,前12
整列、探索など、基本的なアルゴリズムについて説明できる。2前7,前8
時間計算量によってアルゴリズムを比較・評価できることを説明できる。1前7,前8,前9
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。2前6,前9
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。2前9
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。2前9

評価割合

試験課題相互評価態度ポートフォリオその他合計
総合評価割合50500000100
基礎的能力2520000045
専門的能力2525000050
分野横断的能力0500005