Course Objectives
クロス開発したプログラムを実際にTeCマイコンで動作させることによってコンピュータの仕組みや内部動作が理解できるようになることを目標とする。
Rubric
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
クロス環境における開発の実践 | クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作を深く理解している。様々な応用課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて、プログラム開発を実践することができる。 | クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作を深く理解している。様々な基本課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて、プログラム開発を実践することができる。 | コンピュータの仕組みや内部動作を理解していない。様々な基本課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じたプログラム開発を実践することができない。 |
Assigned Department Objectives
Teaching Method
Outline:
1年次に履修した基礎コンピュータ工学の内容のさらなる応用について講義と演習を通して修得する。まずコンピュータの入出力手法を学び、入出力プログラムの動作を理解する。また、クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作の理解を深める。その後、様々な応用課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて、プログラム開発の実践力を身に付ける。
Style:
各回の授業では、前半に講義による課題の解説を行い、後半にプログラミング演習を行う。翌週の講義の最初に演習の解説を行う。理解度を確認するために項目毎に演習課題の一部を提出し、学習シートの役割とする。定期試験は主に例題、演習課題から出題する。
Notice:
【関連科目】基礎コンピュータ工学(1年)、コンピュータシステム概論(3年)、コンピュータアーキテクチャ(4年)
Course Plan
|
|
|
Theme |
Goals |
1st Semester |
1st Quarter |
1st |
入出力の仕組み |
シリアル入出力の原理とマイコン上でのプログラミング方法を学ぶ。パソコンと通信できることを確認する。[演習]
|
2nd |
入出力プログラム |
入出力する文字コードについて学び、入出力プログラムを作成し、動作を確認する。[演習]
|
3rd |
クロス環境によるシステム操作 |
クロスアセンブラによるアセンブルの手順を説明し、クロスア環境によるシステム操作を学ぶ。[演習]
|
4th |
クロスアセンブラによるプログラミング |
クロスアセンブラによる基本プログラミングを理解し、プログラムを動作させる方法を体得する。[演習]
|
5th |
掛算・割算プログラム |
シフトによる掛算、繰返しによる掛算・割算プログラムを作る。[演習]
|
6th |
スタック操作 |
スタックの概念を解説し、スタック操作及びスタックを用いたレジスタ操作を学ぶ。[演習]
|
7th |
総合演習 |
入出力プログラム、基本プログラムに関する総合演習問題のプログラミングを行う。[演習]
|
8th |
サブルーチン |
サブルーチン化について学び、サブルーチンを用いた入出力プログラムを作る。[演習]
|
2nd Quarter |
9th |
中間試験 |
入出力プログラム、基本プログラム、スタック操作が理解できているか確認する。
|
10th |
2進数表示 |
レジスタの内容を2進数に変換する方法を学び、2進数で表示するプログラムを作る。[演習]
|
11th |
16進数表示 |
レジスタの内容を16進数に変換する方法を学び、16進数で表示するプログラムを作る。[演習]
|
12th |
文字列操作 |
メモリ上の文字列を操作するプログラムを作る。[演習]
|
13th |
メモリダンプ |
メモリの内容を16進数表示するプログラムを作る。[演習]
|
14th |
総合演習 |
サブルーチンを使った2進数、16進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
15th |
期末試験 |
サブルーチンを使ったプログラム、2進数、16進数変換、メモリ上の文字列の操作ができるかを確認する。
|
16th |
答案返却など |
試験の解答と解説を行う。
|
2nd Semester |
3rd Quarter |
1st |
メモリ操作 |
連続したメモリ操作の手法について学び、プログラムの実行結果を確認する。[演習]
|
2nd |
メモリクリアとメモリコピー |
メモリクリアとメモリコピーするプログラムを作る。[演習]
|
3rd |
文字列入力 |
キーボード入力した文字列を操作するプログラムを作る。[演習]
|
4th |
文字列編集 |
メモリ上の文字列を編集するプログラムを作る。[演習]
|
5th |
10進数表示 |
レジスタの内容を10進数に変換する方法を学び、10進数で表示するプログラムを作る。[演習]
|
6th |
10進数表示 |
レジスタの内容を符号付き10進数で表示するプログラムを作る。[演習]
|
7th |
総合演習 |
連続したメモリ操作、10進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
8th |
中間試験 |
連続したメモリ操作、文字列操作、10進数変換に関するプログラミングが理解できているか確認する。
|
4th Quarter |
9th |
ソフトタイマー |
命令を繰返し実行して一定時間のソフトタイマーを作る。[演習]
|
10th |
音の出力 |
ソフトタイマーを使ってブザーとスピーカーから音を出力する方法を学ぶ。[演習]
|
11th |
電子オルゴール |
音符データと電子オルゴールプログラムを作る。[演習]
|
12th |
コンソール割込み |
割込みの概念を解説し、コンソール割込みによる割込み処理プログラムの動作を学ぶ。[演習]
|
13th |
タイマー割込み |
タイマー割込みによる割込み処理プログラムを作る。[演習]
|
14th |
総合演習 |
タイマーサブルーチン、割込みに関する総合演習問題のプログラミングを行う。[演習]
|
15th |
期末試験 |
タイマー、割込み操作が理解できているかを確認する。
|
16th |
答案返却など |
試験の解答と解説を行う。
|
Evaluation Method and Weight (%)
| 試験 | レポート | Total |
Subtotal | 80 | 20 | 100 |
プログラミングの知識とプログラム設計 | 80 | 0 | 80 |
プログラミングの実践的能力 | 0 | 20 | 20 |