授業毎に与える課題に対して、クロス開発したプログラムを実際にTeCマイコンで動作させ、授業時間内に完成させることができる。このような開発体験を通じて、コンピュータの仕組みや内部動作が理解できるようになる。
Outline:
1年次に履修した基礎コンピュータ工学の内容のさらなる応用について講義と演習を通して修得する。まずコンピュータの入出力手法を学び、入出力プログラムの動作を理解する。また、クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作の理解を深める。その後、様々な応用課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて、プログラム開発の実践力を身に付ける。
Style:
各回の授業では、前半に講義による課題の解説を行い、後半にTeCマイコンとパソコンを用いたプログラミング演習により理解度を確認する。翌週の講義の最初に演習の解説を行う。授業中に演習問題が完成しなかった分が次回までの宿題となる。
事前事後学習として、授業中に配布した学習シートによる演習およびプログラム作成演習を計約30時間行う。
定期試験は主に例題、演習課題から出題する。この科目は卒業までに必修得である。
Notice:
【関連科目】基礎コンピュータ工学(1年)、コンピュータシステム概論(3年)
最終成績評価式:(前期中間試験+前期末試験+後期中間試験+後期末試験)÷4
※新型コロナ感染症対策の学生の登校制限に伴い,以下の修正を行う.
・評価を(後期中間20%+後期末25%+課題30%+理解度小テスト20%+復習課題10%)に変更した.
|
|
|
Theme |
Goals |
1st Semester |
1st Quarter |
1st |
入出力の仕組み 【事前事後学習の内容(1時間)】学習シート |
シリアル入出力の原理とマイコン上でのプログラミング方法を学ぶ。パソコンと通信できることを確認する。[演習]
|
2nd |
入出力プログラム 【事前事後学習の内容(1時間)】学習シート |
入出力する文字コードについて学び、入出力プログラムを作成し、動作を確認する。[演習]
|
3rd |
クロス環境によるシステム操作 【事前事後学習の内容(1時間)】学習シート |
クロスアセンブラによるアセンブルの手順を説明し、クロスア環境によるシステム操作を学ぶ。[演習]
|
4th |
クロスアセンブラによるプログラミング 【事前事後学習の内容(1時間)】学習シート |
クロスアセンブラによる基本プログラミングを理解し、プログラムを動作させる方法を体得する。[演習]
|
5th |
掛算・割算プログラム 【事前事後学習の内容(1時間)】学習シート |
シフトによる掛算、繰返しによる掛算・割算プログラムを作る。[演習]
|
6th |
スタック操作 【事前事後学習の内容(1時間)】学習シート |
スタックの概念を解説し、スタック操作及びスタックを用いたレジスタ操作を学ぶ。[演習]
|
7th |
総合演習 【事前事後学習の内容(2時間)】学習シート |
入出力プログラム、基本プログラムに関する総合演習問題のプログラミングを行う。[演習]
|
8th |
中間試験 |
入出力プログラム、基本プログラム、スタック操作が理解できているか確認する。
|
2nd Quarter |
9th |
サブルーチン 【事前事後学習の内容(1時間)】学習シート |
サブルーチン化について学び、サブルーチンを用いた入出力プログラムを作る。[演習]
|
10th |
2進数表示 【事前事後学習の内容(1時間)】学習シート |
レジスタの内容を2進数に変換する方法を学び、2進数で表示するプログラムを作る。[演習]
|
11th |
16進数表示 【事前事後学習の内容(1時間)】学習シート |
レジスタの内容を16進数に変換する方法を学び、16進数で表示するプログラムを作る。[演習]
|
12th |
文字列操作 【事前事後学習の内容(1時間)】学習シート |
メモリ上の文字列を操作するプログラムを作る。[演習]
|
13th |
メモリダンプ 【事前事後学習の内容(1時間)】学習シート |
メモリの内容を16進数表示するプログラムを作る。[演習]
|
14th |
総合演習 【事前事後学習の内容(2時間)】学習シート |
サブルーチンを使った2進数、16進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
15th |
期末試験 |
サブルーチンを使ったプログラム、2進数、16進数変換、メモリ上の文字列の操作ができるかを確認する。
|
16th |
答案返却など
|
試験の解答と解説を行う。
|
2nd Semester |
3rd Quarter |
1st |
メモリ操作 【事前事後学習の内容(1時間)】学習シート |
連続したメモリ操作の手法について学び、プログラムの実行結果を確認する。[演習]
|
2nd |
メモリクリアとメモリコピー 【事前事後学習の内容(1時間)】学習シート |
メモリクリアとメモリコピーするプログラムを作る。[演習]
|
3rd |
文字列入力 【事前事後学習の内容(1時間)】学習シート |
キーボード入力した文字列を操作するプログラムを作る。[演習]
|
4th |
文字列編集 【事前事後学習の内容(1時間)】学習シート |
メモリ上の文字列を編集するプログラムを作る。[演習]
|
5th |
10進数表示 【事前事後学習の内容(1時間)】学習シート |
レジスタの内容を10進数に変換する方法を学び、10進数で表示するプログラムを作る。[演習]
|
6th |
10進数表示 【事前事後学習の内容(1時間)】学習シート |
レジスタの内容を符号付き10進数で表示するプログラムを作る。[演習]
|
7th |
総合演習 【事前事後学習の内容(2時間)】学習シート |
連続したメモリ操作、10進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
8th |
中間試験 |
連続したメモリ操作、文字列操作、10進数変換に関するプログラミングが理解できているか確認する。
|
4th Quarter |
9th |
ソフトタイマー 【事前事後学習の内容(1時間)】学習シート |
命令を繰返し実行して一定時間のソフトタイマーを作る。[演習]
|
10th |
音の出力 【事前事後学習の内容(1時間)】学習シート |
ソフトタイマーを使ってブザーとスピーカーから音を出力する方法を学ぶ。[演習]
|
11th |
電子オルゴール 【事前事後学習の内容(2時間)】学習シート |
音符データと電子オルゴールプログラムを作る。[演習]
|
12th |
コンソール割込み 【事前事後学習の内容(1時間)】学習シート |
割込みの概念を解説し、コンソール割込みによる割込み処理プログラムの動作を学ぶ。[演習]
|
13th |
タイマー割込み 【事前事後学習の内容(1時間)】学習シート |
タイマー割込みによる割込み処理プログラムを作る。[演習]
|
14th |
総合演習 【事前事後学習の内容(1時間)】学習シート |
タイマーサブルーチン、割込みに関する総合演習問題のプログラミングを行う。[演習]
|
15th |
期末試験 |
タイマー、割込み操作が理解できているかを確認する。
|
16th |
答案返却など |
試験の解答と解説を行う。
|