概要:
「プログラミング基礎」で学んだ内容を基礎とし,Linux上でプログラム開発を行うための方法を学び,C言語による高度なプログラミング技法(構造体やポインタを用いたプログラミング)の修得を目指す。Arduinoマイコンモジュールを制御するための基礎技術を学び制御プログラムの記述手法を修得する。体験的な学習を通じて,論理的思考能力の修得および問題解決能力の向上を目指す。
授業の進め方・方法:
演習内容について,教科書やプリントを用いて,1時間程度説明する。残りの時間を使って,コンピュータを用いた演習を行う。演習は動作確認を行うことで終了する。演習の内容を報告書にまとめ,次の回までに提出する。定期試験も実施する。
注意点:
単位認定には,すべての報告書が提出されていることが必要条件となる。定期試験を40%,平素の学習状況(課題等。自主性,積極性に欠ける場合には減点することもある)を20%,報告書(内容,提出期限の順守状況)を40%の割合で総合的に評価する。報告書には,作業を通じて理解できた内容,考察が含まれていること。学年の評価は前学期と後学期の平均とする。
初めから,教えてもらうつもりでは,問題を解決する能力の向上は望めない。授業中はノートをとり,わからない内容については積極的に質問すること。他の学生と相談することは構わないが,各自が主体的に取り組むことが必要である。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
授業の進め方,評価方法などについて理解する。 エディタの基本操作,実行可能プログラムの作成法, ディレクトリの基本操作などについて理解する。
|
2週 |
リスト |
リストの構造と特徴を理解する。セルを構造体と再帰的定義により定義する。ディレクトリの作成と移動が行える。
|
3週 |
リスト |
セルの追加,表示,挿入,削除,探索を行うプログラムを記述する。
|
4週 |
2分木 |
2分木の構造と特徴を理解する。ノードを構造体と再帰的定義により定義する。ディレクトリの作成と移動が行える。
|
5週 |
2分木 |
後行順探索を行うプログラムを記述する。
|
6週 |
2分木 |
再帰的手続きによる後行順探索のプログラムを記述する。
|
7週 |
グラフ |
グラフの構造と特徴を理解する。ノードを構造体と再帰的定義により定義する。ディレクトリの作成と移動が行える。
|
8週 |
グラフ |
グラフの探索を行うプログラムを記述する。
|
2ndQ |
9週 |
ファイル処理 |
逐次ファイルの構造と操作法を理解する。ファイルのオープン,データの読み込み,ファイルのクローズを行うプログラムを記述する。ディレクトリの作成と移動が行える。
|
10週 |
ファイル処理 |
データの書き込みと読み込みを行うプログラムを記述する。
|
11週 |
Arduinoマイコンモジュールの概要とプログラム開発環境の使用方法について学ぶ |
Arduinoモジュールの構造と機能概要およびプログラム開発環境の使い方を理解する。
|
12週 |
出力ポートの活用手法について学ぶ |
出力ポートに接続されたLEDの点灯制御手法を理解する。制御プログラムを実装する。
|
13週 |
入力ポートの活用手法について学ぶ |
入力ポートに接続されたスイッチの活用手法を理解する。制御プログラムを実装する。
|
14週 |
PWM制御による電力制御について学ぶ |
PWM制御により電力を制御する手法を理解する。制御プログラムを実装する。
|
15週 |
モータドライブ回路とモータの回転制御手法について学ぶ |
ハーフブリッヂ回路,フルブリッジ回路の構造と動作原理を理解する。モータドライブIC制御プログラムを実装する。
|
16週 |
期末試験 |
1週から15週までに学んだ知識が定着していることを確認する。
|
後期 |
3rdQ |
1週 |
Arduino活用総合演習1 |
数名のグループで課題解決型演習を行う。自ら課題を設定し,Arduinoを中心とした装置により課題解決を検討する。課題解決手法を提案する。
|
2週 |
Arduino活用総合演習2 |
課題解決のための装置を設計する。
|
3週 |
Arduino活用総合演習3 |
課題解決のための装置を製作する。
|
4週 |
Arduino活用総合演習4 |
課題解決のための装置を製作する。
|
5週 |
Arduino活用総合演習。相互評価 |
各グループの作品を相互評価する。
|
6週 |
リアルタイム処理 |
リアルタイム処理の基本を理解する。
|
7週 |
リアルタイム処理 |
タイマー割り込み処理を実装する。
|
8週 |
リアルタイム処理 |
多重割り込み処理を実装する。
|
4thQ |
9週 |
リアルタイム処理 |
スレッド処理を実装する。
|
10週 |
シリアル通信 |
ホストPCから制御する。
|
11週 |
シリアル通信 |
ホストPCへデータを送る。
|
12週 |
シリアル通信 |
双方向通信を活用する。
|
13週 |
総合演習 |
簡単な組み込みシステムをシステム設計する。
|
14週 |
総合演習 |
簡単な組み込みシステムを開発する。
|
15週 |
総合演習 |
開発したシステムを評価し改造する。
|
16週 |
学年末試験 |
1週から15週までに学んだ知識が定着していることを確認する。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | |
定数と変数を説明できる。 | 4 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | |
演算子の種類と優先順位を理解し、適用できる。 | 4 | |
算術演算および比較演算のプログラムを作成できる。 | 4 | |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | |
条件判断プログラムを作成できる。 | 4 | |
繰り返し処理プログラムを作成できる。 | 4 | |
一次元配列を使ったプログラムを作成できる。 | 4 | |
計測制御 | 自動制御の定義と種類を説明できる。 | 2 | |
フィードバック制御の概念と構成要素を説明できる。 | 2 | |
伝達関数を説明できる。 | 2 | |
ブロック線図を用いて制御系を表現できる。 | 2 | |
電気・電子系分野 | 制御 | 伝達関数を用いたシステムの入出力表現ができる。 | 3 | |
ブロック線図を用いてシステムを表現することができる。 | 3 | |
システムの過渡特性について、ステップ応答を用いて説明できる。 | 3 | |
システムの定常特性について、定常偏差を用いて説明できる。 | 3 | |
システムの周波数特性について、ボード線図を用いて説明できる。 | 3 | |
フィードバックシステムの安定判別法について説明できる。 | 3 | |