科目名 |
情報ネットワークプログラミング |
担当教員 |
高田 喜朗 |
対象学年 |
2年 |
クラス |
学部:専門001 |
講義室 |
A−WS |
開講学期 |
2学期 |
曜日・時限 |
月4,木4 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
授業の目的
効果的な情報システム・通信システムを構築するためには,計算機自身の仕組みを深く理解することが必要である.本科目では,アセンブリ言語によるプログラミングを通して,「プログラム実行機械」である計算機の仕組みを学習する.
最終課題として,Lego Mindstorms RCXを用いてライントレーサ(線追跡ロボット)を作成する.ロボットのプログラム,および,プログラムをダウンロードするためのPC側プログラムの両方を自分たちの手で作成する.
本科目で学習する具体的な項目は以下のようになる. * 低級プログラミング言語とプログラム実行の仕組み - アセンブリ言語によるプログラミング - 命令セットアーキテクチャ * 制御型プログラムの作成法 - センサやモータを扱うプログラム - 簡単な通信手順に従って通信を行うプログラム * 中規模ソフトウェアの開発技術 - モジュール分割とリンケージエディタ - Makeによるコンパイル作業の制御 - バージョン管理システム |
授業の詳細2 |
授業の進め方
ライントレーサ開発のための一連の作業を4〜5人のグループで体験する.その中で,通信プログラムや制御プログラム,各種開発ツールなどについて,実践的に学習する.
各課題に対する報告書,および,口頭試問(ヒアリング)によって,理解度・達成度を評価する.
達成目標
以下の能力を修得すること. * 周辺装置から入力を受け取ったり制御したりするプログラムを作成できる. * 決められた通信手順に従う通信プログラムを作成できる. * 読みやすいプログラムを書くことの必要性を理解し,実践できる. * Makeやバージョン管理システムなどを使って効率よくソフトウェア開発を行える. * ソースコードを共同所有する開発形態に馴染んでいる. * 作業工程の記述と結果に対する考察を含む報告書を作成できる. |
授業の詳細3 |
授業計画
以下のような順序で授業を進める.項目はおおよその順序を表しているだけで,1項目が1回の実験時間に対応しているわけではない.
* RCX用アセンブリ言語 RCXに内蔵されているMCUであるH8/3292の命令セットアーキテクチャについて学ぶとともに,アセンブリ言語プログラミングの基礎について学ぶ.
* 16進数表示ルーチンの開発 RCX本体の液晶部に指定された数値を表示するプログラムを作成する.
* センサとD/A変換 RCXに内蔵のD/A変換器を使って光センサからの入力を読み取るプログラムを作成する.また,低域通過デジタルフィルタをプログラムして,安定した入力が得られるようにする.
* モータ制御 モータの回転方向を制御するプログラムを作成する.光センサからの入力に応じて,モータの回転を変えるプログラムを作成する.
* ライントレーサの作成 Legoブロックを組み立てて,ライントレーサを完成させる. |
授業の詳細4 |
テキスト: 「情報システム工学実験第2」の実験指導書を利用する.
成績評価: レポート提出と口頭試問(ヒアリング)により評価する.レポートにおいては,課題解決方法,結果,結果に対する考察,設計にあたり工夫した点などを述べること.ヒアリングでは,作成した課題プログラムについて,基本的なアルゴリズム,データ構造を説明すること.また,レポートの内容に関連する質疑応答も行う. ヒアリング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 |
|