科目名[英文名]
プログラミングⅠ   [Computer ProgrammingⅠ]
区分 工学部専門科目  選択必修   単位数 2 
対象学科等   対象年次 14  開講時期 1学期 
授業形態 1学期  時間割番号 021608
責任教員 [ローマ字表記]
清水 昭伸   [SHIMIZU Akinobu]
所属 工学部 研究室   メールアドレス

概要
【目的】プログラミングは単にソフトウェアを開発するためだけでなく,アルゴリズム(課題に対する解法)を理解するためにも重要である.この講義では最も多く用いられているプログラミング言語の1つであるC言語を用いて,プログラミングを行う上での基本的な知識・技術を修得することを目的とする.
【概要】本講義では身近な題材に基づき,読み手に分かりやすく,修正や拡張が容易な良いプログラムや解説を書く姿勢を修得することを目指す.扱うトピックとしては入出力,代入,繰返し,判定,配列・添字,関数,ポインタ,数値計算,データ構造など多岐にわたるが,これらの項目を単に理解するだけでなく,同様の結果をより効率よく,あるいはりよ精度よく求める方法など,他の科目を学習する上でも必要な知識・技術を併せて習得してほしい.なお,C言語の文法の網羅的な説明は行わない.
到達基準
1. 与えられた課題に対してC言語でプログラミングするための基本的な考え方を理解できる.
2. 制御構造,配列,関数,ポインタ,構造体など,プログラミングに必要な機能を利用できる.
3. 変数の有効範囲や関数引数の値渡しとポインタ渡しの違いを理解できる.
4. ファイルの簡単な操作を行うことができる.
5. 数値計算を精度よく行うための基本的な考え方が理解できる.
履修案内のカリキュラムマップを参照してください.
授業内容
1. イントロダクション
主題:コンピュータとプログラミング
2. 詩や歌の表示
主題:プログラミングの基本
Cの機能:変数,演算子,ループ
3. 最大公約数
主題: アルゴリズム
Cの機能:代入,判定と制御構造
4. 平方根を求める
主題:ニュートン法
Cの機能:書式制御
5. 血液型による相性占い
主題:プログラムの抽象化
Cの機能:配列変数
6. 再び相性占い
主題:構造化プログラミング
Cの機能:関数と引数
7. データの整列
主題:関数による変数の値書換え
Cの機能:ポインタ変数,変数の有効範囲
8. ベクトルと行列
主題:配列引数,計算量
Cの機能:配列引数
9. 二次方程式
主題:数値計算における桁落ち,情報落ち
10. 簡単な統計処理
主題:ファイルに対する入出力
Cの機能:ファイル
11. 物理シミュレーション
主題:数値計算による積分(区分求積法)
12. 円周率を求める
主題:計算回数と誤差
13. 再び円周率を求める
主題:計算の精度と効率
14. 多倍長計算
主題:データ構造
Cの機能:構造体
15. 迷路の探索
主題:漸化式,再帰プログラミング
Cの機能:関数の再帰的呼出し

なお,この間に中間試験および期末試験を行う予定であるが,新型コロナの感染状況によっては,試験の一部を課題にする可能性がある.
履修条件・関連項目
本科目は必修科目であり,プログラミングI演習,プログラミングII,プログラミングII演習と密接に関連する.演習は行わないため,同時期に開講するプログラミングI演習の課題に十分に取り組むこと.また,授業時間30時間に加え,テキスト各章末に示されている演習課題を用いて本学の標準時間数に準ずる予習と復習を行うこと.
テキスト・教科書
テキスト「プログラミングI」を使用する.
参考書
成績評価の方法
対面講義が可能な場合:中間試験および期末試験で評価する.
対面講義が実施できない場合:原則として,平常点に加え,毎回出題される課題に対するレポートに基づき評価する.
教員から一言
プログラムの作成では,できるだけ簡潔でなおかつ分かりやすいものを目標とすること.1つの解法やプログラムに満足することなく,さらなる改善が可能ではないかと常に考察すること.アルゴリズムの計算量についても配慮し,プログラムが対象としている問題の大きさが数倍になっても十分対応できるように工夫すること.
キーワード
プログラミング,プログラム,C言語
オフィスアワー
原則として,授業終了後.
備考1
備考2
参照ホームページ
google classroom(クラスコード:xlxq2uj)
開講言語
日本語
語学学習科目
更新日付
2022/04/01 8:29:55