2.0 単位, 3・4 年次, 春BC 水1,2
新城 靖, 大山 恵弘
Unixのシステムコールを主な題材としてシステムプログラミング、および、ネットワーク・プログラミングについて講義する。計算機を用いた実習を課す。
対面
各自自分の PC、AC アダプタ、HDMI ケーブルを接続するためのアダプタ等を実習室に持参すること。
講義
・専門コンピテンス
3. 情報システム分野の専門能力
API (システムコールと標準ライブラリ)を使ってプログラムを作成できるようになる。
マニュアルの読み方を身につける。
ファイル、プロセス、パイプ、シグナルなどのOSの基本的な仕組みを扱えるようになる。
プロセスの生成や同期、シグナルの送受信を題材として並行プログラミングの基礎を学ぶ。
TCP/IPを用いたネットワーク通信を行うプログラムを作成できるようになる。
World Wide Web の CGI の仕組みを理解する。
スクリプト言語を用いたプログラムを作成できるようになる。
システムコール, 標準ライブラリ, 文字列, ファイル, 入出力, プロセス, パイプ, シグナル, TCP/IP, CGI
第-1回 端末(1)
第0回 端末(2)
| 第1回 | ガイダンス、実行環境、コンパイル、デバッグ | 担当: | 大山 恵弘 |
|---|---|---|---|
| 第2回 | 文字と文字列、標準入出力 | 担当: | 大山 恵弘 |
| 第3回 | ファイルアクセス、構造体の入出力 | 担当: | 大山 恵弘 |
| 第4回 | プロセス、リダイレクション、パイプ | 担当: | 大山 恵弘 |
| 第5回 | ファイルシステムへのアクセス、シグナル | 担当: | 大山 恵弘 |
| 第6回 | ネットワーク・プログラミング(クライアント側)、TCP/IP、ソケット | 担当: | 新城 靖 |
| 第7回 | ネットワーク・プログラミング(サーバ側(1)) | 担当: | 新城 靖 |
| 第8回 | ネットワーク・プログラミング(サーバ側(2))、並行処理 | 担当: | 新城 靖 |
| 第9回 | Web CGIプログラミング(1) | 担当: | 新城 靖 |
| 第10回 | Web CGIプログラミング(2)、スクリプト言語 | 担当: | 新城 靖 |
データ構造とアルゴリズムに関する知識があることを前提とする。また、2年次科目「コンピュータとプログラミング」の内容を理解していることが望ましい。
各回の授業で出題される課題へのレポートにより評価を行う。基準を満たさなかったレポートは、再提出を求めることがある。レポートに対してコメントを与える。
受講生は毎回の授業で示す課題についてレポートを作成し、設定された締切までに提出すること。レポートは締切後にも提出可能であるが、その評価は減点される。
開講学期は、春BCとなっているが、春Aの期間に、端末(シェル)の使い方について補講を行う。
教材
Web で教材を提示する。
講義のWebページ
https://www.coins.tsukuba.ac.jp/~syspro/2026/
参考書
1. W. Richard Stevens, Stephen A. Rago,"詳解UNIXプログラミング[第3版]", 翔泳社, 2014. ISBN-13: 9784798134888
2. 青木 峰郎,"ふつうのLinuxプログラミング 第2版", SBクリエイティブ, 2017. ISBN-13: 9784797386479
3. 三宅 英明, 大角 祐介,"新しいLinuxの教科書 第2版", SBクリエイティブ, 2024. ISBN-13: 9784815624316
4. 林 晴比古,"新Linux/UNIX入門 第3版", SBクリエイティブ, 2012. ISBN-13: 9784797369847
5. ひらまつ しょうたろう,"ゼロからわかる Linuxコマンド200本ノック", 技術評論社, 2023. ISBN-13: 9784297134259
新城 靖 金曜6限
3E303 yas@cs.tsukuba.ac.jp https://www.cs.tsukuba.ac.jp/~yas/
大山 恵弘 オフィスアワーは特に定めないが、事前連絡をしてから訪問すること
学術情報メディアセンター A416室 oyama@cs.tsukuba.ac.jp https://www.cs.tsukuba.ac.jp/~oyama/
TA 配置有り(2名)