プログラミング応用

科目基礎情報

学校 明石工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング応用
科目番号 5424 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 機械工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 新・明解C言語 入門編 第2版(柴田望洋,SBクリエイティブ)
担当教員 榎本 隆二

到達目標

(1)ポインタ、関数、ファイル入出力、構造体の基本概念を理解し、これらを用いたプログラムを作成することができる。
(2)非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法の理解と応用する能力、およびこれらの解法プログラムを作成することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1ポインタ、関数、ファイル入出力、構造体の基本概念を理解し、これらを用いたプログラムを作成することができる。ポインタ、関数、ファイル入出力、構造体の基本概念を理解できる。ポインタ、関数、ファイル入出力、構造体の基本概念を理解できない。
評価項目2非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解し、これらを用いたプログラムを作成することができる。非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解できる。非線形方程式の反復解法、連立一次方程式の解法、関数補間法、関数近似法、常微分方程式の解法を理解できない。

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

教育方法等

概要:
この科目は企業で宇宙防衛システムの設計を担当していた教員が指導する講義である。コンピュータを利用して工学の諸問題を解析するためには、プログラミング技法や数値解析法を習得することが必須である。本授業では、C 言語の高度なプログラミング技法と C 言語を用いて工学に関わる具体的な数値解析法を修得することを目的としている。本科目は、授業で保証する学習時間と、予習・復習及び課題レポート作成に必要な標準的な自己学習時間の総計が、90時間に相当する学習内容である。
授業の進め方・方法:
パワーポイントによる講義を実施することで、視覚的に理解しやすくし、講義の残り時間や講義外で演習とするプログラムを作成する。
注意点:
自ら積極的にコンピュータを利用しようとする姿勢が大切である。課題は自力で行い、提出期限を厳守すること。
合格の対象としない欠席条件(割合) 1/3以上の欠課

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 C 言語の復習
基本事項、数学関数、制御構造、繰り返し処理や配列などについて復習する。
基本事項、数学関数、制御構造、繰り返し処理や配列などを使ってプログラム開発できる。
2週 ポインタと関数(1)
ポインタの基礎やポインタの制御などについて説明する。
ポインタや関数をプログラム開発に活用できる。
3週 ポインタと関数(2)
ポインタと配列の関係、ポインタ配列、多重間接参照、関数に配列を渡す方法について説明する。
ポインタ配列、多重間接参照、関数への配列渡しをプログラム開発に活用できる。
4週 ファイルとストリーム
ファイルシステムの基礎、ファイルの読み出しと書き込み方法について説明する。
コマンドライン引数によって入出力ファイル名を指定したプログラムを開発できる。
5週 総合演習(1)
入出力ファイルを活用した簡単な数値計算を行い、計算結果をグラフ出力する。
簡単な数値計算プログラムを開発できる。
6週 内挿公式と数値微分(1)
差分商、ラグランジュの内挿公式について説明する。
ラグランジュの内挿公式を使ったデータ解析ができる。
7週 内挿公式と数値微分(2)
ラグランジュの内挿公式を数値微分に応用する方法を説明する。
与えられた関数の数値微分を行い、その精度を比較できる。
8週 補完多項式と数値積分
ニュートン・コーツ型の積分公式とその実装法を説明する。
補完多項式と数値積分を用いて面積、体積、各種モーメント量を計算できる。
2ndQ
9週 総合演習(2)
入出力ファイルを活用したやや複雑な数値計算を行い、計算結果をグラフ出力する。
数値積分を使ったやや複雑な数値計算プログラムを開発できる。
10週 連立一次方程式と最小2乗法(1)
ガウス・ジョルダン法による連立1次方程式の解法、行列の積、逆行列の計算法を説明する。
簡単な行列計算を含むプログラムを開発できる。
11週 連立一次方程式と最小2乗法(2)
行列形式の最小2乗法とカーブフィット問題、多変量解析への応用を説明する。
カーブフィットを使ってノイズが混入したデータから真値を推定できる。
12週 非線形方程式と常微分方程式(1)
非線形方程式および常微分方程式の代表的な解法を説明する。
非線形微分方程式の特異点を求めて解軌道を計算できる。
13週 非線形方程式と常微分方程式(2)
常微分方程式の解軌道の解析法を説明する。
複数の特異点をもつ非線形常微分方程式の解軌道の様相を解析できる。
14週 総合演習(3)
入出力ファイルを活用した複雑な数値計算を行い、計算結果をグラフ出力する。
非線形常微分方程式に関する複雑な数値計算プログラムを開発できる。
15週 総合演習(4)
模擬試験問題を説明する。
本講義で学んだ内容について、その要点を理解している。
16週 期末試験

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。4前3,前4,前5,前6,前7,前11,前13,前15
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4前1,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
定数と変数を説明できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
整数型、実数型、文字型などのデータ型を説明できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
演算子の種類と優先順位を理解し、適用できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
算術演算および比較演算のプログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
データを入力し、結果を出力するプログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
条件判断プログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
繰り返し処理プログラムを作成できる。4前1,前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15
一次元配列を使ったプログラムを作成できる。4前1,前3,前5,前6,前7,前9,前10,前11,前12,前13,前14,前15

評価割合

試験(またはレポート課題)演習課題合計
総合評価割合6040100
基礎的能力20020
専門的能力404080