科目名 情報工学実験V
単位数 1.5
担当者 情報工学専攻 准教授 舟阪 淳一(代表教員)、准教授 小畑博靖、准教授 河野 英太郎、講師 新浩一、助教 窪田昌史、助教 児島彰、助教 小林 真
履修時期 後期(第3ターム)
履修対象 3年
講義形態 実験
講義の目的 情報工学実験I・IIで使用したロボットカーのマイコンボードを、より高機能・高性能なマイコンであるRaspberry Piに置き換え、Raspberry Piからのロボット制御や、Android端末やWebサーバとの双方向通信を学ぶ。まず、Raspberry Piを使ったモータ制御、通信技術などの要素技術を習得するために、Android端末やPCを利用したプログラミングを行う。また、WebサーバをPC上に構築し,さらにロボットカーから集めた情報をWebサーバ上で処理するシステムを構築する。Android端末やWebサーバとの通信,ロボットカー制御を組み合わせた課題では、複数人数のチームによりスコアを競う。実験で学ぶ具体的なスキルとしては、組込みプログラミング(Python)、Androidプログラミング(Java言語)、周辺デバイス制御、無線通信、通信プロトコル(TCP/IPや上位プロトコル)、アルゴリズムとデータ構造、Webサーバ構築技術、サーバ情報処理、Linux制御技術,セキュリティ技術などがある。
到達目標 ・実機におけるプログラミングを通して,簡単なコンピュータのアーキテクチャ(マイコン)の動作を具体化できる。【技能1】
・利用者(ユーザ)になるためではなく、モノを作る技術や理論を体系的に習得する。【知識2,技能1】
・コンテストを通じて習得した技術をシステムとして表現できる。【表現力,主体性,思考力・判断力,協働性】
受講要件 プログラミングIII、コンピュータアーキテクチャ を受講していることが望ましい。
履修取消の可否
履修取消不可の理由 必修科目のため、履修取消は原則不可です。
事前・事後学修 事前学修:実験資料を読んでおく。また、分からない専門用語などがあれば、調べておく。
事後学修:実験で学んだ内容や取り組んだ課題についてまとめ、レポートを作成する。
講義内容 1.ガイダンス、ロボットの説明、r3piや周辺機器との接続,開発環境の説明
2.Raspberry Piによるロボットカー制御
3.Raspberry PiとAndroid端末の双方向通信:Raspberry Pi
4.Raspberry PiとAndroid端末の双方向通信:Android端末
5.Webサーバの構築とロボットカーからWebサーバへの情報送信
6.課題:システム設計、要求仕様分析、実装
7.課題:単体テスト、統合テスト、デバッグ
8.課題:コンテスト(団体戦)
期末試験実施の有無 実施しない
評価方法・基準 ・授業参加度 5%
・コンテストでのプレゼンテーション 20%
・レポート 75%
教科書等 教科書:
資料を授業の際に配付する。

参考書:
(1) 「Pythonによるアルゴリズム入門」,酒井和哉著,オーム社,2020
(2) 「Androidアプリ開発の教科書 Java対応 (第3版)」,齊藤 新三 (著),山田 祥寛 (監修),翔泳社, 2023
(3) 「Android Studioパーフェクトガイド Kotlin/Java対応版」, 横田 一輝 (著), 技術評論社
(4) 「TECHNICAL MASTER はじめてのAndroidアプリ開発 Java編」,山田 祥寛 (著),秀和システム, 2022
(5) 「技術レポート作成と発表の基礎技法(改訂版)」,野中謙一郎他著,コロナ社,2018
また、コンピュータ基礎、プログラミングI,II、コンピュータアーキテクチャ、情報ネットワーク、ネットワークプロトコルなどの講義で使用した教科書や参考書。
なお、Raspberry Pi については多くの情報がWebからも入手できる。
担当者プロフィール 担当者の詳しいプロフィールは以下の情報科学研究科のホームページを参照してください。
http://www2.info.hiroshima-cu.ac.jp/about/organization/staff.html
実験内容やレポートなどに関する、学生の個別学習相談を随時受け付けています。
教員の所在は、学内サイネージ等に掲示されていますので、確認の上、研究室を訪ねてみてください。
講義に関連する実務経験 ・小畑博靖:2002年4月〜2003年3月 KDDI株式会社に勤務(情報システム開発業務に従事)
・窪田昌史:1993年4月〜1995年1月 日本IBM株式会社に勤務(情報システム開発業務に従事)
課題や試験に対するフィードバック ・提出したレポートは後日講評する。
アクティブ・ラーニング PBL
キーワード 組込みプログラミング(Python),Androidプログラミング(Java言語),周辺デバイス制御,無線通信,通信プロトコル(TCP/IPや上位プロトコル),アルゴリズムとデータ構造,Webサーバ構築技術,サーバ情報処理,Linux制御技術,セキュリティ技術
備考