2.0 単位, 3・4 年次, 春ABC 水1,2
新城 靖, 大山 恵弘
UnixのシステムコールやJavaのAPIを主な題材としてシステムプログラミング、ネットワーク・プログラミング、および、オブジェクト指向プログラミングについて講義する。計算機を用いた実習を課す。
土曜日は開講せず(シラバス参照のこと)
講義
・汎用コンピテンス
2. 批判的・創造的思考力
4. 広い視野と国際性
・専門コンピテンス
3. 情報システム分野の専門能力
6. 実践的技術力と問題解決能力
7. 情報専門技術者としての倫理
API (システムコールとライブラリ)を使ったプログラム作成法を学ぶ。
マニュアルの読み方を身につける。
文字列、ファイル、時刻などの基本的なオブジェクトを扱えるようになる。
プロセス生成やシグナルを題材として並行プログラミングの基礎を学ぶ。
TCP/IPを用いたネットワーク通信を行うプログラムを作成できるようになる。
World Wide Web の CGI の仕組みを理解する。
スクリプト言語を用いたプログラムを作成できるようになる。
システムコール, ライブラリ, シグナル, TCP/IP, CGI
第1回 | ガイダンス、実行環境、コンパイル、デバッグ | ||
---|---|---|---|
第2回 | 文字と文字列、標準入出力 | ||
第3回 | ファイルアクセス | ||
第4回 | プロセス、リダイレクション、パイプ | ||
第5回 | シグナル | ||
第6回 | ネットワーク・プログラミング(クライアント側)、TCP/IP、ソケット | ||
第7回 | ネットワーク・プログラミング(サーバ側(1)) | ||
第8回 | ネットワーク・プログラミング(サーバ側(2)) | ||
第9回 | Web CGIプログラミング | ||
第10回 | スクリプト言語、Ruby、クロスサイトスクリプティング攻撃 |
データ構造とアルゴリズムに関する知識があることを前提とする。また、システムプログラミング序論(新カリキュラムではコンピュータとプログラミング)の内容を理解していることが望ましい。
レポートにより評価を行う。基準を満たさなかったレポートは、再提出を求めることがある。
授業毎に示す課題についてレポートを作成し、締切までに提出すること。
教材
Web で教材を提示する。
講義のWebページ
https://www.coins.tsukuba.ac.jp/~syspro/2020/
1. W. Richard Stevens, Stephen A.Rago 著, 大木敦雄 監訳,「詳解UNIXプログラミング[第3版]」,翔泳社
2. 青木 峰郎,「ふつうのLinuxプログラミング 第2版」,SBクリエイティブ社
3. 山口和紀・古瀬一隆・中村敦司・新城 靖・西山博泰・林 謙一・金谷英信・鈴木孝幸・端山貴也,「The Unix Super Text第2版」,技術評論社
新城 靖 金曜6限
3E303 1001626 http://www.cs.tsukuba.ac.jp/~yas/
大山 恵弘 木曜3限
学術情報メディアセンターA416 100001375 https://www.cs.tsukuba.ac.jp/~oyama/
TA 配置有り(2名)