科目名 |
情報ネットワークプログラミング |
担当教員 |
酒居 敬一 |
対象学年 |
2年 |
クラス |
学部:専門001 |
講義室 |
A−WS |
開講学期 |
2学期 |
曜日・時限 |
火4,金4 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
授業の目的
効果的な情報システム・通信システムを構築するためには,計算機自身の仕組みを深く理解すること,および最新の効率的なソフトウェア作成技術を修得することの両方が必要である.
本科目では,「情報システム工学実験第1」で学習した基本的なアルゴリズムやデータ構造,およびそれに基づくプログラム記述法を前提とした上で,プログラム実行機械としての計算機の仕組みと近代的なソフトウェア作成技術の両方に視点を置いて,プログラム開発実験を行う.これにより,ソフトウェア技術者に求められる基盤的知識と能力を習得することを目的とする.
最終課題として,Lego Mindstorms RCXを用いてライントレーサ(線追跡ロボット)を作成する.ロボットのプログラム,および,プログラムをダウンロードするためのPC側プログラムの両方を自分たちの手で作成する.
本実験では具体的には以下のような項目について学習する. * 制御型プログラムの作成法 - センサやモータを扱うプログラム - 簡単な通信手順に従って通信を行うプログラム - 割り込み処理の基礎的なプログラム |
授業の詳細2 |
授業の進め方
ライントレーサ開発のための一連の作業を4〜5人のグループで体験する.その中で,アセンブリ言語によるプログラミング,通信プログラムや制御プログラム,各種開発ツールなどについて,実践的に学習する.
各課題に対する報告書,および,口頭試問(ヒアリング)によって,理解度・達成度を評価する.
達成目標
以下の能力を修得すること. * 周辺装置から入力を受け取ったり制御したりするプログラムを作成できる. * 決められた通信手順に従う通信プログラムを作成できる. * 読みやすいプログラムを書くことの必要性を理解し,実践できる. * 作業工程の記述と結果に対する考察を含む報告書を作成できる. * センサやアクチュエータを取り扱うことができる. * リアルタイム処理の基礎を理解できる. |
授業の詳細3 |
以下のような順序でRCXを用いて授業を進める.1項目が1回の実験時間に対応しているわけではない.
*RCX用アセンブリ言語 RCXに内蔵されているMCUであるH8/3292の命令セットアーキテクチャについて学ぶとともに,アセンブリ言語プログラミングの基礎に\ ついて学ぶ.
*16進数表示ルーチンの開発 RCX本体の液晶部に指定された数値を表示するプログラムを作成する.
*センサとD/A変換 RCXに内蔵のD/A変換器を使って光センサからの入力を読み取るプログラムを作成する.また,低域通過デジタルフィルタをプログラム して,安定した入力が得られるようにする.
*モータ制御 モータの回転方向を制御するプログラムを作成する.光センサからの入力に応じて,モータの回転を変えるプログラムを作成する.
*ライントレーサの作成 Legoブロックを組み立てて,ライントレーサを完成させる.
*割り込み処理 リアルタイム処理のための基礎を学ぶ. |
授業の詳細4 |
テキスト: 実験指導書を配布する.
また,副教科書として以下を使用する. 『プログラミング言語C 第2版』,B.W. Kernighan, D.M. Ritchie著(共立出版)
参考書: 『プログラミング作法』,B.W. Kernighan, R. Pike著(アスキー) 『アルゴリズムとデータ構造』,石畑清著(岩波書店) 『やさしいコンピュータ科学』,A.W. Biermann著(アスキー)
成績評価: 全ての実験はA-WSに用意された環境で行い,レポート提出とヒアリング(口頭による理解度確認)により評価する.レポートにおいては,課題解決 方法,結果,結果に対する考察,設計にあたり工夫した点などを述べること.ヒアリングでは,本課題で作成したプログラムについて ,基本的なアルゴリズム,データ構造を説明すること.また,レポートの内容に関連する質疑応答も行う. ヒアリング55点,レポート45点とし,全課題の合計が60点以上あれば合格とする. AA: 90点以上100点以下 A: 80点以上90点未満 B: 70点以上80点未満 C: 60点以上70点未満 F: 60点未満
履修上の注意: 本実験の履修を希望する場合には,「情報システムプログラミング」「情報システム工学実験第2」を同時に履修すること.
備 考: 履修前の受講が望ましい科目=「アルゴリズムとデータ構造1」「計算機言語第1」 履修の前提となる必須科目=「情報システム工学実験第1」 同時履修すべき科目=「情報システムプログラミング」「情報システム工学実験第2」 |
授業の詳細5 |
|
授業の詳細6 |
|
授業の詳細7 |
|
授業の詳細8 |
|
授業の詳細9 |
|
授業の詳細10 |
|