応用プログラミング

科目基礎情報

学校 一関工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 応用プログラミング
科目番号 0009 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 未来創造工学科(情報・ソフトウェア系) 対象学年 3
開設期 通年 週時間数 2
教科書/教材 教科書 新訂 新C言語入門-シニア編-, 林晴比古, SBクリエイティブ, 2700(+税)円
担当教員 豊田 計時

到達目標

1.様々なプログラミング言語の基礎ともなっているC++言語を実用的なレベルで使える様になる.
2.基本的なアルゴリズムを理解することで,応用的なプログラムを自ら作成できるようにする.
3.アルゴリズムの一般性を理解することで,C++言語以外のプログラミング言語に応用することができる.
【キーワード】プログラミング、C言語、アルゴリズム、データ構造

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
円や四角の基本図形を描く円や四角の基本図形を描く円や四角の基本図形をほぼ描ける円や四角の基本図形を描けない
座標系を決める(原点、レンジ、描画点数を決める)グリッドを描く、目盛りを打つ座標系を決める(原点、レンジ、描画点数を決める)グリッドを描き、目盛りを打てる座標系を決める(原点、レンジ、描画点数を決める)グリッドをほぼ描き、目盛りを打てる座標系を決める(原点、レンジ、描画点数を決める)グリッドを描き、目盛りを打てない
各種関数を描く各種関数を描ける各種関数をほぼ描ける各種関数を描けない
回転行列を描く回転行列を描ける回転行列をほぼ描ける回転行列を描けない
物理現象を描く物理現象を描ける物理現象をほぼ描ける物理現象を描けない
微分方程式への応用減衰振動を表現したプログラムを自ら設計し作成できる。減衰振動を表現したプログラムを作成できる。減衰振動について理解できない。
プログラム開発過程、プログラム作成演習与えられた問題に関する適切な問題解決法を導き、プログラム開発過程に基づいたグループ開発により、問題へのソリューションとなるプログラムを作成できる。また、制作物に関する適切なプレゼンテーションができる。与えられた問題に関する適切な問題解決法を導き、グループ開発により、問題へのソリューションとなるプログラムを作成できる。また制作物に関する適切なプレゼンテーションができる。与えられた問題に関する適切な問題解決法を導くことが出来ない。

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

教育方法等

概要:
プログラミング・情報処理の内容を更に進め,C言語を用いたプログラミング及び,情報処理のより実践的な技術を身につける。
授業の進め方・方法:
プログラミングの技術力向上のためには多くの演習問題を解く必要がある.したがって,本講義では多くの演習を行いながら進め,最後にまとめとしてグループによるプログラム制作演習をしてもらう.また、ほぼ毎週課題を課すので提出日を守って提出すること。
注意点:
注意点】本授業では、多くの課題が課されるが、それらは全て以下の評価基準に含まれていることに注意すること。
【事前学習】moodleの該当箇所をよく読み学習内容を理解してから望むこと.
【評価法・評価基準】
・前期については、以下の通りとする:
課題(80%)、小テスト(20%)で評価する。

・後期については以下の通りとする:
中間試験(40%)、課題(20%)、制作プログラム等(20%)、制作資料(10%)、相互評価平均(10%)で評価する。
期末試験と作品制作によりC言語によるプログラミングの基礎の理解の程度を評価する。ただし,演習時間を多く取っているため授業態度の著しく悪いものや課題の未提出が25%を超えたものについては評価対象としないものとする。

・総合成績=(前期成績+後期成績)÷2

なお、前期と後期を総合した、総合成績60点以上を単位修得とする。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 基本図形(直線、円、四角)を描く
 基本図形
基本図形(直線、円、四角)を描ける
2週 円を動かす(トラックバーを使う)
  円・四角形を自由に動かす 課題
円を動かす(トラックバーを使う)ことができる
3週 座標系を決める(原点、レンジ、描画点数を決める)
 グリッドを描く、目盛りを打つ
座標系を決める(原点、レンジ、描画点数を決める)ことができる
4週 グラフの縦軸の倍率を変える
 グリッドと目盛拡張
グラフの縦軸の倍率を変えることができる
5週 カラーテーブルを作る(3原色混合) カラーテーブルを作る(3原色混合)ことができる
6週 数学 2次関数を描く
 2次方程式のグラフ
数学 2次関数を描くことができる
7週 数学 3次関数を描く
 3次方程式のグラフ
数学 3次関数を描くことができる
8週 中間試験
2ndQ
9週 答案返却・解説
 数学 三角関数を描く
数学 三角関数を描くことができる
10週 数学 確率密度関数を描く 数学 確率密度関数を描くことができる
11週 数学 らせんを描く 数学 らせんを描くことができる
12週 数学 回転行列を描く 数学 回転行列を描くことができる
13週 数学 リサージュを描く 数学 リサージュを描くことができる
14週 物理 バウンドボールを描く 物理 バウンドボールを描くことができる
15週 物理 モンキーハンティングを描く 物理 モンキーハンティングを描くことができる
16週 期末試験
後期
3rdQ
1週 配列の応用(入射波) 配列の応用(入射波)が理解できる.
2週 配列の応用(反射波) 配列の応用(反射波)が理解できる.
3週 配列の応用(定在波) 配列の応用(定在波)が理解できる.
4週 微分方程式の応用(振動) 微分方程式の応用(振動)が理解できる.
5週 微分方程式の応用(減衰振動) 微分方程式の応用(減衰振動)が理解できる.
6週 再帰処理の応用(IIRフィルタ)1 再帰処理の応用(IIRフィルタ)1が理解できる.
7週 再帰処理の応用(IIRフィルタ)2 再帰処理の応用(IIRフィルタ)2が理解できる.
8週 まとめ
4thQ
9週 中間試験
10週 プログラム開発過程、プログラム作成演習(グループに分かれこれまでの学習内容を用いてプログラムの設計,実装,評価の演習を行う)1 プログラム開発過程について理解し、これまで学習してきたことを用いた応用的プログラムの作成ができる.
11週 プログラム開発過程、プログラム作成演習(グループに分かれこれまでの学習内容を用いてプログラムの設計,実装,評価の演習を行う)2 プログラム開発過程について理解し、これまで学習してきたことを用いた応用的プログラムの作成ができる.
12週 プログラム開発過程、プログラム作成演習(グループに分かれこれまでの学習内容を用いてプログラムの設計,実装,評価の演習を行う)3 プログラム開発過程について理解し、これまで学習してきたことを用いた応用的プログラムの作成ができる.
13週 プログラム開発過程、プログラム作成演習(グループに分かれこれまでの学習内容を用いてプログラムの設計,実装,評価の演習を行う)4 プログラム開発過程について理解し、これまで学習してきたことを用いた応用的プログラムの作成ができる.
14週 プログラム開発過程、プログラム作成演習(グループに分かれこれまでの学習内容を用いてプログラムの設計,実装,評価の演習を行う)5 プログラム開発過程について理解し、これまで学習してきたことを用いた応用的プログラムの作成ができる.
15週 制作物のプレゼンテーション 課題制作物についてのプレゼンテーションが出来る.
16週 後期のまとめ 期末試験の解答・まとめを自己確認できる.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
整列、探索など、基本的なアルゴリズムについて説明できる。3
時間計算量によってアルゴリズムを比較・評価できることを説明できる。3
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。3
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。3
ソフトウェアを中心としたシステム開発のプロセスを説明できる。3
計算機工学基本的な論理演算を行うことができる。3
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4

評価割合

中間試験課題制作プログラム等作成資料相互評価合計
総合評価割合4020201010100
基本図形を描ける10000010
各種関数を描ける10000010
物理現象を描ける10500015
定在波を描ける10500015
減衰振動を描ける050005
再帰処理を描ける050005
グループワークでプログラミングできる0020101040