システム制御プログラミング
System Control Programming

授業科目区分

専門科目
専門科目 数理情報系

わくラボの使用について:使用しない
選択科目 2単位 2年次 前期


担当教員

張江洋次朗

研究室のホームページ,SNSなど

NDC

007.6/007.61/007.64

科目分類コード

60050

オフィスアワー

時間割決定後に授業等で連絡します。

この科目のキーワード

低水準プログラミング, ネットワーク・プログラミング, Python, Unix, IoT

説明に使用する言語

日本語・英語を併用する, 主として日本語を使用する

使用する教材の言語

日本語・英語で記述された資料を使用する

この科目に必要な日本の文化・事情の知識について

到達目標

・基礎学力および情報メディア技術の知識を,様々な実問題に活用し解決することができるようになる
・基礎的な通信プロトコルを理解し,サーバ・ホスト間の通信プログラムの記述ができるようになる
・プログラミングの原理を理解し,アセンブリ言語を用いた基礎的なプログラミング能力を習得する
・論理的推論に基づき自らの発想・思考をプレゼンテーションすることができる

ディプロマポリシーとの関連性

情報メディア基礎力:情報メディアの技術的および社会的な変化に対応し得る基盤となる知識とスキル, 専門能力:情報メディアの開発とその多面的な活用ができる能力

授業の簡単な概要

IoTの普及に伴い,小型機器や組み込みマイコンなどの,ハードウェアやOSに近いプログラミングの関心が高まっている.この授業では,低水準プログラミングやネットワークプログラミングの基礎技術の習得を目指す.
具体的には,UnixにおけるARMアセンブラを用いた学習,Pythonを用いた通信プログラミング,これらの知識を基礎としてRaspberry Piとの通信の実装である.講義の形態をとるが,同時的に演習の指示を行いながら授業を展開する.

学習内容

  1. 授業概略と開発環境の導入
  2. アセンブラ概略と基本的な入出力
  3. 低水準プログラミング―基本的な命令と関数コール
  4. 低水準プログラミング―仮想メモリと割り込み
  5. プログラミング言語Pythonの導入
  6. Pythonを用いたアルゴリズム記述
  7. Raspberry Piの導入
  8. Raspberry PiによるI/O操作
  9. TCP/IPプロトコルの基礎
  10. Pythonを用いたソケット通信の基礎
  11. Raspberry Piをクライアントとするサーバ間通信(1)
  12. Raspberry Piをクライアントとするサーバ間通信(2)
  13. Pythonによるファイル転送
  14. IoTの基本構造とシステムデザイン
  15. IoTによるシステム・サービスの紹介
  16. 予備日

授業時間外での学修

基本的に授業時間外の学修は,予習と復習をあわせて1コマあたり4時間を必要とする

成績評価の基準と方法

全3回の提出課題によって評価を行う.
(S)授業の内容を理解し,基本的な課題にくわえて,応用的な課題について解答することができる.グループ学習において自身の役割を理解し,積極的に参加できている.
(A)授業の内容を理解し,基本的な課題にくわえて,応用的な課題について解答することができる.
(B)授業の内容を理解し,基本的な課題について解答することができる
(C)授業の内容を理解し,基本的な課題について概ね解答することができる

達成度評価(評価方法:合計100点)

試験:      0/100 / 100
レポート:    70/100 / 100
小テスト(中間テストなど含む): 0/100 / 100
小レポート(中間レポートなどを含む): 0/100 / 100
作品:      0/100 / 100
ポートフォリオ: 0/100 / 100
その他:

グループワークにおける意見・態度 30/100

教科書・テキスト

特に指定はしない

参考図書・参考文献等

購入することを強制はしないが,学習を進める上で役立つ本を参考書として以下に挙げる.

・低レベルプログラミング, Igor Zhirkov著, 翔泳社, 5280円.
・入門 Python 3, Bill Lubanovic著, オライリージャパン, 4070円.
・みんなのRaspberry Pi入門 第4版, リックテレコム, 2970円.
・インターネットプロトコル, 阪田史郎著, オーム社, 3080円.

履修もしくは取得していなければいけない科目

特になし

学習支援

課題の設問でわからないことなどがあれば,無回答や中途半端な状態で提出することはせず,必ず質問をすること.適宜,修正や改善の指導を行う.

授業に関連する実務経験

2016年2017年 総務省SCOPEにおける見守り実験システム運用

その他この科目を履修するために必要な条件

プログラミング言語やUnixの操作に関する知識が基盤となるが,授業で適宜補足を行う