樋口三郎の授業情報@龍谷大学先端理工学部数理・情報科学課程

樋口三郎の授業情報@龍谷大学先端理工学部数理・情報科学課程

応用プログラミング☆実習後半(樋口) aka ネットワークプログラミング

2017年度だけお願いして担当させていただいた授業で, 学生さんの認知過程への樋口の直観が不足しているので, 学生さんにはいろいろ迷惑かけています. ごめんなさい.

樋口はふだんはもっと上のレイヤーでプログラムしていて, PHPJavaScriptプロトコル HTTP だけにどっぷりつかってる(Webエンジニアとも言う)のですが, この授業では CでTCP/IPソケットプログラミングをしています*1. ソケットプログラミングは2000年代の情報工学科の典型的な学部実験テーマでしょう. 検索してたら東大物理学科の物理実験でもこんなことやってたみたいですけど加速器物理かな? 最近は, だんだん Light weight 言語でもっと上のレイヤーでプログラミングすることが増えてきたので, こういう内容を正面からやるというのは貴重な体験かもしれません.

数理情報学科のカリキュラムの中の位置づけとしては, 「大規模な実用的プログラムを作れるようになる」が学習目標ですが, 大規模な, や, 実用的, のところは括弧付きのおままごとになりそうになるところを踏みとどまっています. 後半のさらに後半では, プロトコルに合意したサーバチームとクライアントチームが壁で隔てられた状態でプログラムして, あとで結合テスト(?)するという, 分業制のプログラム開発過程を体験しようとしています.

その意味ではネットワークプログラミングは手段, 題材に過ぎないのですが, ネットワークやコンピュータの知識の上での他科目との関係としては, 計算機システムII(2年後期)のOSやプロセス管理の理解を利用し, 一方, 細かいプロトコルの話や階層モデルの話は, 今後あるネットワーク構成論(3年後期)に頼っています. もちろんCプログラミングの構造体, ポインタ, 文字列処理というあたりは, プログラミング及び実習(2年前期), アルゴリズム及び実習(2年後期)に頼っています.

参考書

最近出て入手が容易でソケットプログラミングを扱っているもの

ネットワークプログラミングという題名だったり, システムプログラミングという名前の本の1章になっていたり, します.

日本人学習者向けの丁寧な演習ガイド

例解UNIXプログラミング教室

例解UNIXプログラミング教室

  • 作者: 冨永和人,権藤克彦
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2007/09/28
  • メディア: 単行本(ソフトカバー)
  • 購入: 6人 クリック: 185回
  • この商品を含むブログ (22件) を見る
基礎からわかるTCP/IP ネットワーク実験プログラミング―Linux/FreeBSD対応

基礎からわかるTCP/IP ネットワーク実験プログラミング―Linux/FreeBSD対応

決定版

この授業向けには牛刀かもしれません.

UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI

UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI

  • 作者: W.リチャードスティーヴンス,W.Richard Stevens,篠田陽一
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 1999/07
  • メディア: 単行本
  • 購入: 8人 クリック: 151回
  • この商品を含むブログ (35件) を見る
asin:4320120841:detail ))

プログラミングでなくプロトコルや物理的な背景を知りたい人向け

インターネットプロトコル (IT Text)

インターネットプロトコル (IT Text)

*2
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

*3
基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版

基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版

*1:ふだんATに乗ってるドライバーがMTしかないって言われたようなもの. 免許は持ってますけど.

*2:ネットワーク構成論の参考書

*3:雑誌の連載をまとめたもの. ソケットプログラミングにも1章分ふれています.