1. コンピュータの基本構成やメモリ技術,入出力装置の代表例について適切に説明できる.
2. アセンブリ言語を用いて簡単なプログラムを作成できる.
3. C言語を用いたプログラムにより,測定データを適切に処理できる.
概要:
本授業では,コンピュータアーキテクチャと数値計算プログラミング技法を扱う.前期には,AVRマイコンを題材としてマイクロコンピュータの基本構成や命令体系,メモリ技術,外部機器との接続法などの,実験実習Ⅲ で必要な知識を修得する.後期にはC言語プログラムにより,数値微分や数値積分,移動平均による平滑化,最小二乗法による近似式算出などの数値計算プログラムを作成する.これらの内容を通じて,電子計算機のハードウェアとソフトウェアをより深く理解することが本授業の目的である.
授業の進め方・方法:
前期は講義形式で授業を進める.2回に1回程度,小テストを実施して理解度を確認する.
後期はプログラミング演習形式となる.毎回課題が出題され,前半でアルゴリズムや課題内容の説明を受け,後半で各自課題に取り組む.
注意点:
本授業で扱うコンピュータアーキテクチャやアセンブリ言語,C言語は,現代のコンピュータ環境からは非常に低機能に感じられるかも知れない.しかし,高機能で複雑な動作も,単純で低機能な要素を組み合わせて実現されていることに気付いて欲しい.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス,マイクロコンピュータの基礎(1) |
授業全体の概要を把握し,コンピュータの歴史を説明できる.
|
2週 |
マイクロコンピュータの基礎(2) |
コンピュータの基本構成を説明できる.
|
3週 |
マイクロコンピュータの基礎(3) |
AVRマイコンの構成を説明できる.
|
4週 |
アセンブリ言語の基礎(1) |
アセンブリ言語における命令の表記法を説明できる.
|
5週 |
アセンブリ言語の基礎(2) |
アセンブリ言語におけるプログラム記述法を説明できる.
|
6週 |
AVR命令(1) |
データ転送命令について説明できる.
|
7週 |
AVR命令(2) |
ビット操作命令や算術論理演算命令について説明できる.
|
8週 |
前期中間試験 |
前期1週~7週の授業内容について試験問題を解くことができる.
|
2ndQ |
9週 |
AVR命令(3) |
分岐命令について説明できる.
|
10週 |
AVR命令(4) |
その他の命令について説明できる.
|
11週 |
メモリ技術(1) |
AVRマイコンにおけるメモリの活用法を説明できる.
|
12週 |
メモリ技術(2) |
半導体メモリの種類やメモリ関連技術を説明できる.
|
13週 |
入出力インタフェース(1) |
入出力インタフェースの種類や特徴を説明できる.
|
14週 |
入出力インタフェース(2) |
代表的なシリアル通信の仕組みを説明できる.
|
15週 |
前期定期試験 |
前期9週~14週の内容について試験問題を解くことができる.
|
16週 |
前期のまとめ
|
前期の授業内容について適切に説明できる.
|
後期 |
3rdQ |
1週 |
後期ガイダンス,プログラム作成法の確認 |
後期の授業内容を把握し,簡単なプログラムを作成できる.
|
2週 |
数値微分 |
数値微分プログラムを作成できる.
|
3週 |
数値積分(1) |
台形公式による数値積分プログラムを作成できる.
|
4週 |
数値積分(2) |
シンプソンの公式による数値積分プログラムを作成し,性能を評価できる.
|
5週 |
電気回路シミュレーション(1) |
RLC直列回路のインピーダンスを算出できる.
|
6週 |
電気回路シミュレーション(2) |
RLC直列回路の共振特性を数値計算して算出できる.
|
7週 |
電気回路シミュレーション(3) |
RLC直列回路の共振特性を数値計算してグラフ化できる.
|
8週 |
電気回路シミュレーション(4) |
RLC直列回路の共振特性を詳細に数値計算してグラフ化できる.
|
4thQ |
9週 |
データの平滑化(1) |
移動平均法による基礎的な平滑化プログラムを作成できる.
|
10週 |
データの平滑化(2) |
移動平均法による効率的な平滑化プログラムを作成できる.
|
11週 |
近似関数の算出(1) |
最小二乗法により一次式を推定するプログラムを作成できる.
|
12週 |
近似関数の算出(2) |
最小二乗法により二次式を推定するプログラムを作成できる.
|
13週 |
近似関数の算出(3) |
最小二乗法により指数関数やべき関数を推定するプログラムを作成できる.
|
14週 |
C言語によるマイコンプログラミング |
C言語を用いるマイコンプログラミング法を説明できる.
|
15週 |
まとめ |
授業内容について適切に説明できる.
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 情報 | 基本的なアルゴリズムを理解し、図式表現できる。 | 3 | |
プログラミング言語を用いて基本的なプログラミングができる。 | 3 | |
情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | |
代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
ソフトウェア | 時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 2 | |
アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 2 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 2 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 2 | |
計算機工学 | コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 3 | |
プロセッサを実現するために考案された主要な技術を説明できる。 | 3 | |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 3 | |
入出力を実現するために考案された主要な技術を説明できる。 | 3 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 3 | |
システムプログラム | コンパイラの役割と仕組みについて説明できる。 | 2 | |
情報数学・情報理論 | コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 3 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |