シラバス参照

 
最終更新日:2021/03/23  

GB31401   システムプログラム

2.0 単位, 3・4 年次, 春AB水1,2
新城 靖, 大山 恵弘

授業概要

UnixのシステムコールやJavaのAPIを主な題材としてシステムプログラミング、ネットワーク・プログラミング、および、オブジェクト指向プログラミングについて講義する。計算機を用いた実習を課す。

備考

その他の実施形態

授業方法

講義

学位プログラム・コンピテンスとの関係

・専門コンピテンス
3. 情報システム分野の専門能力

授業の到達目標(学修成果)

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プログラミング(1)
第10回 Web CGIプログラミング(2)、スクリプト言語

履修条件

データ構造とアルゴリズムに関する知識があることを前提とする。また、システムプログラミング序論(新カリキュラムではコンピュータとプログラミング)の内容を理解していることが望ましい。

成績評価方法

レポートにより評価を行う。基準を満たさなかったレポートは、再提出を求めることがある。

学修時間の割り当て及び授業外における学修方法

授業の資料は、講義のWebページ、Manaba、Microsoft Stream, および Microsoft Teams で配布する。受講生は、Microsoft Stream に配信された授業の動画を自宅で事前に視聴し、授業時間中に実習室 3C113、または、自宅で課題に取り組むこと。教員と TA は授業時間に実習室、および、Microsoft Teams で質問を受け付ける。教員は授業時間に受講生を呼び出すことがある。

受講生は授業時間内に授業内容に関する小テストを受けること。

受講生は毎回の授業で示す課題についてレポートを作成し、設定された締切までに提出すること。レポートは締切後にも提出可能であるが、その評価は減点される。

教材・参考文献・配付資料等

教材
Web で教材を提示する。

講義のWebページ
https://www.coins.tsukuba.ac.jp/~syspro/2021/

1. 「詳解UNIXプログラミング[第3版]」,翔泳社 https://www.tulips.tsukuba.ac.jp/search/?q=9784798134888
2. 「ふつうのLinuxプログラミング 第2版」,SBクリエイティブ社 https://www.tulips.tsukuba.ac.jp/search/?q=9784797386479

オフィスアワー等(連絡先含む)

新城 靖  金曜6限 3E303
1001626 http://www.cs.tsukuba.ac.jp/~yas/
大山 恵弘  木曜3限 学術情報メディアセンターA416
100001375 https://www.cs.tsukuba.ac.jp/~oyama/

その他(受講生にのぞむことや受講上の注意点等)

他の授業科目との関連

ティーチングフェロー(TF)・ティーチングアシスタント(TA)

TA 配置有り(2名)