概要:
ロボットをはじめとする様々な機械制御及びその物理シミュレーションから実験データの解析等,プログラミング技術は欠かす事は出来ない.マイコンボードarduino(以下単にarduinoと呼ぶ)を使用してハードウェア制御のプログラミング技術を学ぶ。Arduinoのプログラミングはハードウェア制御に適しているC言語に近い言語で行われ,この言語でのプログラミングの基礎およびハードウェアの制御方法を習得することを目的とする.また,演習と課題レポートを実施し,知識の定着とプログラミング・デバッグ技術の向上を図る.
授業の進め方・方法:
授業は,プリントを配布し解説を行い、それらに関するプログラムをかく実習の時間で構成される。適宜、課題プリントを配布し,要点をまとめさせ,理解を促すようになっている。実習では,arduinoを使用してマイコンボード上で動作を確認する。時間内に適切な表現でプログラムを完成させることを評価する。時間が足りない場合は宿題とする場合もある。
注意点:
1.試験や課題レポート等は、JABEE 、大学評価・学位授与機構、文部科学省の教育実施検査に使用することがあります。
2.授業参観される教員は当該授業が行われる少なくとも1週間前に教科目担当教員へ連絡してください。
3.情報処理基礎内scratchやロボコードでの制御構造を復習をしておくと理解が深まります.
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス |
主要な言語の種類と特徴を説明できる. 一般的にコンピュータ上でプログラムはどのように実行されるのかが説明できる. 機械語と高級言語およびコンパイラの動作について説明できる. Arduinoの開発環境上でプログラムがどのように実行されるか説明できる.
|
2週 |
基本的文法、数の扱い,型,変数,演算子 |
arduinoプログラミングの基本的な書き方,実行環境を学び,計算機での数の扱いについて理解し実践できる.定数や変数について説明できる.変数の型宣言とスコープについてその意味を説明できる.基本的な演算子について理解する.
|
3週 |
基本演算子,条件分岐,シリアルポート経由の出力 |
シリアルポートを使っての出力方法について理解し書けるようになる.基本的な演算子について実践できる.If文およびswitch文を使った簡単な条件分岐がかける.データの流れについて説明できる.
|
4週 |
ポインタ、配列 |
ポインタ、配列をつかった変数について理解し,プログラムをかけるようになる
|
5週 |
for,whileによる繰り返し
|
for,while文による繰り返し、break,continue脱出プログラムが作成できる.
|
6週 |
定期的に実行するプログラミング 時間関数の使い方 |
定期的にシリアルポートに出力するプログラムを作成することができる. 開始からの経過時間を取得しシリアルポートに出力するプログラムを作成することができる.
|
7週 |
文字列操作 |
文字列の取り出し、挿入、置換を行うプログラムを作成することができる
|
8週 |
シリアルポートから入力する |
シリアルポートを使ったユーザーからの文字列入力方法について理解し書けるようになる.
|
4thQ |
9週 |
繰返し処理,数学関数を扱うプログラム |
繰返し処理を用いて簡単な数学の問題をとくプログラムをかけ,そのアルゴリズムを説明できる.
|
10週 |
LEDを制御する1 |
LEDを点滅させるプログラムを作成できる
|
11週 |
LEDを制御する2 |
PWM制御によるLEDの明るさを変化させるプログラムを作成できる
|
12週 |
スイッチ入力 |
LEDを点滅させるプログラムを作成できる
|
13週 |
アナログ入力 |
アナログ信号(電圧値)を読み取りその値によりLEDの明るさを変化させるプログラムが作成できる
|
14週 |
割り込み1 |
割り込みの概念を説明でき、時刻割り込み処理プログラムが書ける
|
15週 |
割り込み2 |
外部割込み処理プログラムが書ける
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 2 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 2 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 2 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 2 | |
定数と変数を説明できる。 | 2 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 2 | |
演算子の種類と優先順位を理解し、適用できる。 | 2 | |
算術演算および比較演算のプログラムを作成できる。 | 2 | |
データを入力し、結果を出力するプログラムを作成できる。 | 2 | |
条件判断プログラムを作成できる。 | 2 | |
繰り返し処理プログラムを作成できる。 | 2 | |
一次元配列を使ったプログラムを作成できる。 | 2 | |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 2 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 2 | |
主要な計算モデルを説明できる。 | 2 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 2 | |
小数を2進数、10進数、16進数で表現できる。 | 2 | |
基本的な論理演算を行うことができる。 | 2 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 2 | |
システムプログラム | コンパイラの役割と仕組みについて説明できる。 | 2 | |
正規表現と有限オートマトンの関係を説明できる。 | 2 | |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 2 | |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 2 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 2 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 2 | |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 2 | |
基礎的な論理回路を構築し、指定された基本的な動作を実現できる。 | 2 | |