プログラミング演習Ⅱ

科目基礎情報

学校 長岡工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング演習Ⅱ
科目番号 0125 科目区分 専門 / 選択
授業形態 演習 単位の種別と単位数 履修単位: 1
開設学科 電子制御工学科 対象学年 5
開設期 集中 週時間数
教科書/教材 配布プリント
担当教員 高橋 章

到達目標

(科目コード:31350、英語名:Exercises in Programming II)
本科目は夏季集中講義として実施する。
この科目は長岡高専の教育目標の(D)と主体的に関わる。この科目の到達目標と、成績評価上の重み付け、各到達目標と長岡高専の学習・教育到達目標との関連を、到達目標、評価の重み、関連する目標の順で次に示す。
1.2次元および3次元の座標変換について基礎事項を理解する。30%(c1,c2)
2.C言語の基本事項を実践的に利用する手法を身につける。30%(d2,d3)
3.3次元コンピュータグラフィックスに関する基礎事項を理解する。40%(d1,e2,g2)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安未到達レベルの目安
評価項目1数学的な座標変換の扱いを理解し、プログラミングすることができる。座標変換を用いるプログラムの演習課題を全て完成できる。座標変換を用いるプログラムの演習課題の60%以上を完成できる。左記に達していない。
評価項目2C言語による実践的なコンピュータグラフィックスプログラミングを行うことができる。C言語によるコンピュータグラフィックスプログラミングの基礎事項を理解し、代表的なプログラムを完成させることができる。コンピュータグラフィックスプログラミングにおける代表的なプログラムのいくつかを完成させることができる。左記に達していない。

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

教育方法等

概要:
2次元/3次元コンピュータグラフィックスの基礎事項に関して学習し、それらを実現するためのC言語プログラミング演習を行なう。
〇関連する科目:情報処理I(2年次履修)、情報処理II(3年次履修)、プログラミング演習I(前年度履修)
授業の進め方・方法:
C言語の応用プログラミングを行なう。エディタやコンパイラの基本的な使用方法を十分復習し、2次元・3次元の座標変換を扱うため、ベクトルや行列について基礎事項を事前に十分復習しておくことが望ましい。
注意点:
4年次に離散数学、数値解析、アルゴリズムとデータ構造、プログラミング演習Iの過半数を履修していることが望ましい。プログラム開発を計画的に進め、期限までに完成させるための勤勉さが必須である。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 2次元グラフィックスプログラミング(1) OpenGLプログラミング開発環境を準備し、ソースコードをコンパイルできる。
2週 2次元グラフィックスプログラミング(2) 2次元の座標系で図形を描画するために必要な数学的知識を身につける。
3週 2次元グラフィックスプログラミング(3) 2次元図形のアニメーション描画ができる。
4週 3次元グラフィックスプログラミング(1) OpenGLの投影モデルを理解する。
5週 3次元グラフィックスプログラミング(2) 3次元の座標系で正射影を用いて物体を描画するために必要な数学的知識を身につける。
6週 3次元グラフィックスプログラミング(3) 3次元のワイヤフレームモデルの描画ができる。
7週 3次元グラフィックスプログラミング(4) マウスやキーボードを用いたユーザインタフェースを実装できる。
8週 3次元グラフィックスプログラミング(5) 階層モデルを用いた物体描画ができる。
2ndQ
9週 3次元グラフィックスプログラミング(6) 3次元物体のアニメーション描画ができる。
10週 3次元グラフィックスプログラミング(7) 3次元のサーフェイスモデルの描画ができる。
11週 3次元グラフィックスプログラミング(8) 3次元物体を定義するためのジオメトリ情報とトポロジ情報を理解する。
12週 3次元グラフィックスプログラミング(9) カリングや奥行判定を加えた描画プログラムを作成できる。
13週 3次元グラフィックスプログラミング(10) 照光処理に必要な数学的知識を身につける。
14週 3次元グラフィックスプログラミング(11) 照光処理を用いた物体描画プログラムを作成できる。
15週 総合課題プログラミング 2Dまたは3Dグラフィックスを用いた応用的なプログラムを完成させることができる。
16週 報告書作成 自分が学習し、修得できた内容をわかりやすく整理して報告することができる。
後期
3rdQ
1週
2週
3週
4週
5週
6週
7週
8週
4thQ
9週
10週
11週
12週
13週
14週
15週
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力数学数学数学角を弧度法で表現することができる。3
三角関数の性質を理解し、グラフをかくことができる。3
2点間の距離を求めることができる。3
内分点の座標を求めることができる。3
2つの直線の平行・垂直条件を利用して、直線の方程式を求めることができる。3
ベクトルの定義を理解し、ベクトルの基本的な計算(和・差・定数倍)ができ、大きさを求めることができる。3
平面および空間ベクトルの成分表示ができ、成分表示を利用して簡単な計算ができる。3
平面および空間ベクトルの内積を求めることができる。3
問題を解くために、ベクトルの平行・垂直条件を利用することができる。3
空間内の直線・平面・球の方程式を求めることができる(必要に応じてベクトル方程式も扱う)。3
行列の定義を理解し、行列の和・差・スカラーとの積、行列の積を求めることができる。3
逆行列の定義を理解し、2次の正方行列の逆行列を求めることができる。3
行列式の定義および性質を理解し、基本的な行列式の値を求めることができる。3
線形変換の定義を理解し、線形変換を表す行列を求めることができる。3
合成変換や逆変換を表す行列を求めることができる。3
平面内の回転に対応する線形変換を表す行列を求めることができる。3
工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。3
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4
定数と変数を説明できる。4
整数型、実数型、文字型などのデータ型を説明できる。4
演算子の種類と優先順位を理解し、適用できる。4
算術演算および比較演算のプログラムを作成できる。4
データを入力し、結果を出力するプログラムを作成できる。4
条件判断プログラムを作成できる。4
繰り返し処理プログラムを作成できる。4
一次元配列を使ったプログラムを作成できる。4
情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。2
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。3
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4
基数が異なる数の間で相互に変換できる。4
基本的な論理演算を行うことができる。4
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。4
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。4
プロセッサを実現するために考案された主要な技術を説明できる。4
メモリシステムを実現するために考案された主要な技術を説明できる。4
入出力を実現するために考案された主要な技術を説明できる。4
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。3
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。3
形式言語の概念について説明できる。3
コンパイラの役割と仕組みについて説明できる。3
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。4
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。4
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4

評価割合

レポート発表相互評価態度ポートフォリオその他合計
総合評価割合90000010100
基礎的能力400000040
専門的能力5000001060
分野横断的能力0000000