概要:
プログラムによる具体的な問題の解決手法を学ぶ.多くの例題を通したプログラムの作成方法に慣れてもらい,プログラミングにおける考え方の基礎を固める.プログラムの基礎的な事柄から徐々に発展し,数学関数や公式,物理法則などを利用した現実世界の簡単な問題についてのシミュレーションを行い,結果を棒グラフなどのグラフィックスを用いて表示する.
授業の進め方・方法:
プログラミングに必要な共通基盤的な概念を学習するだけでなく,専門分野の応用に向けた基礎的な課題演習を実施する.講義では,基礎的な動作をするプログラムを示し,動作を解説した後,グループワークや調べ学習により,発展した内容の演習に取り組む.最低でもC 言語の基本文法を理解していることが前提となり,未学習の文法や関数についてはその都度説明する.
教科書や資料をよく読み,内容を理解しようと努力することが肝要である.プログラムを表面的に理解するのではなく,動作を深く考える癖をつけること.課題プログラムを作成する際は,教科書やノートのサンプルを丸写しせず,内容を理解した後,すべて自力で書き直してみること.
注意点:
教科書や資料をよく読み,内容を理解しようと努力することが肝要である.プログラムを表面的に理解するのではなく,動作を深く考える癖をつけること.課題プログラムを作成する際は,教科書やノートのサンプルを丸写しせず,内容を理解した後,すべて自力で書き直してみること.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
本講義で学習する内容を大まかにつかむ Office365, WebClass, C言語学習システムなどの利用方法を覚える
|
2週 |
2重ループと関数によるプログラミング |
2重ループが自在に使用できる 関数によるプログラムの記述ができる
|
3週 |
効率を考えたif文の記述方法と整数演算 |
実行効率を考えながらif文の記述ができる 整数演算を用いた応用ができる
|
4週 |
乱数の発生方法とドモルガンの定理 |
乱数発生方法を理解する ドモルガンの定理を応用できる
|
5週 |
簡単なアニメーション表示の仕組み 式を用いた勝敗の判定 |
アニメーション表示の原理を理解する 目的に応じた数式を作成できる
|
6週 |
処理の抽象化と関数分割 |
処理の抽象化を理解し,プログラムを関数に分割できる
|
7週 |
総合演習(1) 3山崩しにチャレンジ |
ポインタによる値の受け渡し方法について理解する
|
8週 |
〔中間試験〕 |
|
2ndQ |
9週 |
試験返却と解説 |
|
10週 |
入力のエラーチェック |
厳密なエラーチェックを理解する
|
11週 |
総合演習(2) N山崩しの関数作成にチャレンジ |
自分なりに工夫してN山崩しができる強い関数を作成する
|
12週 |
動的メモリ確保と日時の取り扱い |
動的メモリ確保関数と日付取得関数を使えるようになる
|
13週 |
情報の保存と取得(ファイル取得) |
テーブルや循環配列などの概念を理解する コマンドラインによるコンピュータの操作ができるようになる
|
14週 |
テキストファイルとCSV形式(〃) |
標準入出力ストリームの概念を理解する csvファイルによる出力とExcelへの取り込み方法を理解する
|
15週 |
〔前期末試験〕 |
|
16週 |
前期末試験の返却と解説 |
|
後期 |
3rdQ |
1週 |
コンピュータグラフィックスの基礎 |
四角や円などの基本的なグラフィックス描画関数が使えるようになる
|
2週 |
シミュレーション応用(1) グラフィックス演習 |
グラフィックスの座標変換の概念を理解する
|
3週 |
シミュレーション応用(2) 〃 |
sin(),cos()関数と座標変換を用いて現在時刻を時計の針として描画する
|
4週 |
シミュレーション応用(3) 〃 |
アニメーションの仕組みを理解し,リアルタイムに表示が変化する時計を作成する
|
5週 |
シミュレーション応用(4) |
作成した作品の発表会
|
6週 |
シミュレーション応用(5) 計算結果の可視化 |
温度(数値)情報を色情報に変換する方法を学習する
|
7週 |
シミュレーション応用(6) 〃 |
有限要素法などのシミュレーションの基本的な考え方を理解し,メッシュに分割して配列に保存する方法を理解する
|
8週 |
〔中間試験〕 |
|
4thQ |
9週 |
シミュレーション応用(7) 計算結果の可視化 |
熱伝導方程式を用いて実際の温度変化の様子を物理シミュレーションする
|
10週 |
シミュレーション応用(8) 〃 |
作成した作品の発表会
|
11週 |
シミュレーション応用(9) アルゴリズム |
挿入ソートとシェルソートの概念を理解する
|
12週 |
シミュレーション応用(10) 〃 |
線形探索j,番兵,二分探索,ハッシュの仕組みを理解する
|
13週 |
シミュレーション応用(11) 〃 |
モンテカルロ法による数値積分や確率計算を理解する
|
14週 |
シミュレーション応用(12) 〃 |
ソートの可視化やモンテカルロ法などの応用作品の発表会
|
15週 |
〔後期学年末試験〕 |
|
16週 |
学年末試験の返却と解説 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 数値計算の基礎が理解できる | 3 | 後2,後3,後6,後7,後9 |
コンピュータにおける初歩的な演算の仕組みを理解できる。 | 3 | 前2 |
データの型とデータ構造が理解できる | 2 | 前12,後7 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | 前3,前7 |
代入や演算子の概念を理解し、式を記述できる。 | 3 | 前3,前5,前7,後2,後3,後6 |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | 前2,前3,前4,前7,前11 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 前2,前6,前7,前11,前12,後1,後2,後4,後6,後9 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 前7,前10,前11,前14,後3,後4,後7,後9 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | 前3,前10 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 2 | 前13,後11,後12,後13 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 1 | 前13,後11,後12,後13 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 2 | 後11,後12,後13 |
計算機工学 | 基本的な論理演算を行うことができる。 | 2 | 前4 |