概要:
身近な家電品などさまざまなものにコンピュータが組み込まれており、最近ではさらにIoTが多く導入されている。また、電気工学や電子工学の様々な問題を解くのに多くの計算を必要とするし、実験データの処理にもコンピュータを利用することが多い。製品の開発、現象の解析、実験結果の処理などあらゆる場面でコンピュータを使うが、目的にあわせてコンピュータ上で処理をするには、プログラムが必要となる。
この講義では、プログラミング言語として現在最も普及しているC言語を用いて,プログラミングの基礎を学ぶ。特に電気電子システム工学科で今後学ぶ様々な課題を解く手法としてプログラミングが利用する方法を検討する。また、IoTシステムの概略を理解し、マイコンとクラウドサービスを利用したIoTを構築する。さらにIoTの応用方法を検討する。
授業の進め方・方法:
各回の授業は、補助教材の説明と演習(教科書の例題と演習)を例に取り組む。また、課題として数学、物理、電気・電子回路、論理回路、組込みシステムなどから例題をだし、それをプログラムを用いて解くことを基本に進める。プログラムは、その授業時間に学ぶ内容だけでなく、それまでに学習した内容を理解していないと理解できない。例題、補助教材の内容を復習しながら、演習課題のプログラムを作成・実行する実習を行う。毎回課題があり、課題の結果(実行例)とプログラムソースなどをメールで提出する。
プログラミングの応用方法、使用例として、IoTシステムの概略を理解し、マイコンとクラウドサービスを利用したIoTシステムを構築する。さらにIoTの応用方法を検討、提案する。
注意点:
演習課題は授業時間中に出すので、欠席が目立つ場合や授業への取り組み方に問題がある場合には、課題提出が難しくなるので注意すること。また、演習課題は単にプログラミングができるだけでは解けないので、関連する諸科(特に物理、数学、電気回路)目十分な予復習をして授業に臨んでほしい。
本科目は本来、面接授業として実施を予定していたものであるが、新型コロナウイルス感染症の拡大による緊急事態において、必要に応じ遠隔授業として実施するものである。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
プログラミングについて IoTの概略および要素 |
プログラミングを通して、様々な計算、情報収集、機器操作ができることを理解する。 IoTの概略および用いられるセンサー、マイコン、クラウドサービスの働きを理解し、説明できる。 課題:IoTシステムの基本操作の習得
|
2週 |
IoTシステムの構築 |
簡単なIoTシステムを構築し、利用できる。また応用方法を提案できる。 課題:IoTシステムの応用方法の提案
|
3週 |
IoTシステムの応用 |
提案したIoTシステムの応用方法の概要を他人に説明できる。 課題:応用方法のプレゼン
|
4週 |
変数の読込・表示と演算(1) |
変数の種類(型)や定義、変数の読み込みや表示補法と演算のルールを含むプログラムを理解する。 参考:1,2,7章 課題:2次方程式の実数解
|
5週 |
変数の読込・表示と演算(2) |
変数の種類(型)や定義、変数の読み込みや表示補法と演算のルールを含むプログラムを理解する。 参考:1,2,7章 課題:オームの法則の計算
|
6週 |
プログラムの流れと分岐:if文、switch文 |
プログラムの流れを制御(分岐)命令であるif文、switch文を理解する。 参考:3章 課題:2次方程式の解の判別(実数解、二重解、虚数解)
|
7週 |
前期中間試験 |
試験時間:50分
|
8週 |
前期中間試験の解説 |
前期中間試験の解答を行い、問題および解答の内容を理解する。
|
2ndQ |
9週 |
プログラムの流れと繰り返し処理(1):do文、while文、for文 |
プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。 参考:4章 課題:指数関数、2次関数などの値の計算
|
10週 |
プログラムの流れと繰り返し処理(2):do文、while文、for文 |
プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。 参考:4章 課題:正弦波交流電圧の瞬時値の表示
|
11週 |
配列(1) |
配列変数を理解する。 参考:5章 課題:基礎的な配列を用いた演算
|
12週 |
配列(2) |
配列変数を理解する。 参考:5章 課題:合成抵抗の計算
|
13週 |
演習:アルゴリズムの基礎 |
計算の手法、プログラムの流れが異なっていても同じ演算ができることを理解する。 課題:順列、数列の和、場合の数の計算
|
14週 |
まとめと演習(1) |
前期の学習内容を確認する。 電気回路などの問題を解くためのプログラムを作成する。 課題:直流回路の分圧・分流の計算
|
15週 |
まとめと演習(2) |
前期の学習内容を確認する。 電気回路などの問題を解くためのプログラムを作成する。 課題:正弦波交流の瞬時値の計算
|
16週 |
前期末試験 17週:前期末試験の解説と発展授業 |
試験時間:50分 17週:前期末試験の解説
|
後期 |
3rdQ |
1週 |
前期の復習と演習 |
前期の授業内容を復習し、学習内容の確認を行う。
|
2週 |
関数を含むプログラミング(1) |
関数の機能と使い方を理解する。 参考:6,8章 課題:場合の数を計算する関数とパスカルの三角形の表示
|
3週 |
関数を含むプログラミング(2) |
関数の機能と使い方を理解する。 参考:6,8章 課題:分圧・分流を計算する関数
|
4週 |
いろいろなプログラム(1) |
電気回路で出てきたいろいろな課題をプログラムで解いてみよう。 課題:交流電圧の瞬時値を計算する関数
|
5週 |
いろいろなプログラム(2) |
電気回路で出てきたいろいろな課題をプログラムで解いてみよう。 課題:RC・RL直列回路の瞬時値計算
|
6週 |
いろいろなプログラム(3) |
電気回路で出てきたいろいろな課題をプログラムで解いてみよう。 課題:RLC直列回路の瞬時値計算
|
7週 |
後期中間試験 |
試験時間:50分
|
8週 |
後期中間試験の解説 |
後期中間試験の解答を行い、問題および解答の内容を理解する。
|
4thQ |
9週 |
基数変換と論理演算 |
変数の型を復習し、10進数を2、8、16進数に変換するプログラムを理解する。 参考:7章 課題:2、8、16進数へ変換するプログラムの作成
|
10週 |
関数を含むプログラムの復習 |
中間試験までの範囲を復習するとともに関数を複数含むプログラムの動作の復習を行う。 課題:カレンダーを表示。時刻の表示。
|
11週 |
ポインタ(1):文字列と配列 |
ポインタの使い方、考え方を理解する。 参考:9~13章 課題:文字列の改変
|
12週 |
ポインタ(2):ファイルの読み書き |
テキストファイルから文字列、データの読み込みの方法を理解する。 参考:9~13章 課題:オシロスコープで取得したデータファイル(テキストファイル)を読み込む
|
13週 |
ポインタ(3):ファイルの読み書き |
テキストファイルから文字列、データの書き込みの方法を理解する。 参考:9~13章 課題:取得したデータを演算して出力する
|
14週 |
まとめと演習(1) |
1年間の学習内容を確認する。 電気回路、物理、数学などの問題を解くためのプログラムを作成する。
|
15週 |
まとめと演習(2) |
1年間の学習内容を確認する。 電気回路、物理、数学などの問題を解くためのプログラムを作成する。
|
16週 |
前期末試験 17週:前期末試験の解説と発展授業 |
試験時間:50分 17週:前期末試験の解説
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | 後9 |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | 前1,前2,前3 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後12,後13,後14,後15 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前4,前5,前6,前9,前10,前11,前12,前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14,後15 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前4,前5,前6,前9,前10,前11,前12,前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14,後15 |