2014年度シラバス(熊本高等専門学校 熊本キャンパス)
科目コードHI511
科目名システムプログラミング(System Programming) 単位数2単位
対象学科人間情報システム工学科対象学年5年開講期間通年
科目区分専門応用科目必修・選択選択履修/学修学修
授業形式講義規定授業時数60実時間数50
教員名(所属)
藤井慶(人間情報システム工学科)教員室
3号棟2階
使用教科書
渡辺知恵美 「システムプログラミング入門―UNIXシステムコール、演習による理解」、サイエンス社
参考書
Robert Love 「Linuxシステムプログラミング」、オライリージャパン
科目の位置付けと関連科目4年「オペレーティングシステム」との関連が深い。
科目の概要オペレーティングシステムが提供する各種システムコールを用いたソフトウェア開発およびその開発手法について学ぶ。主開発環境はLinuxとC言語である。
授業方針講義と演習とを適宜切り替えながら授業を進める。

授業項目

時間

達成目標(習得すべき内容)

システムプログラミングの基礎
8
LinuxとC言語を用いてシステムプログラミングを行う際にmakeコマンドを用いたコンパイルおよびその開発環境を整備できる。
高水準ファイル入出力
2
テキストファイルの読み書きを行える。バイナリファイルの読み書きを行える。
低水準ファイル入出力
4
低水準ファイル入出力を用いたファイルの読み書きを行える。バッファリングについて理解できる。
ディレクトリ制御
4
ディレクトリおよびファイルの情報を取得・変更できる。
仮想アドレス空間
4
仮想アドレス空間において関数や変数がどのように配置されるか説明できる。
メモリ管理
4
動的なメモリ確保およびそれを利用したプログラムを作成できる。スタックオーバーフロー、メモリリークについて説明できる。
割り込み制御
4
割り込みの仕組みを理解し、各割り込みに反応するプログラムを実装できる。
時間管理
4
秒単位、マイクロ秒単位、ナノ秒単位での時刻取得、スリープ、タイマーを利用できる。
プロセス管理
4
fork()を用いプロセスの生成、終了、親子プロセス間の同期を制御できる。
共有メモリとセマフォ
4
共有メモリを用いたプロセス間通信を行える。セマフォによる排他制御について理解できる。
プロセス間通信
4
パイプを用い親子プロセス間で通信できる。
ソケット通信
8
ソケットを用いコンピュータ間通信するプログラムを実装できる。
スレッド
6
マルチスレッド、排他制御を用いたプログラムを実装できる。
評価方法及び総合評価レポートにより評価する。小テストを実施した場合は小テスト一回分を一通のレポートとみなして評価する。最終評価は各レポート評点の平均で求め、60%以上の得点率で合格とみなす。各レポートの提出期限には2種類あり、提出日が最初の期日を超えた場合提出遅れとして減点の上受理するが、後の期日を超えた場合はそのレポートを受理しない。
学習方法各課題の実装が授業時間内に終わらなかった場合、自学学習の時間で終わらせること。
学生へのメッセージシステムプログラミングは一般のアプリケーション開発に比べると一見地味で細かい話が多くなる。緻密に動作するプログラムを検討・開発するような場合に有効な事柄であるため、興味を持って取り組んで欲しい。
学修単位への対応本科目は50分の授業に対して放課後・家庭で40分程度の自学学習が課せられます。
本校教育目標との対応
(2)
JABEE学習教育目標との対応
B-1