南山大学

 
指定
期間
春学期
単位
年次
1
担当者
山本 晋一郎
講義題目
開講キャンパス サテライトキャンパス
授業概要  一般に、他人が書いたソフトウェアに触れることにより、読み易くて保守し易いソフトウェアを書くことの重要さが理解できる。また、コメントや設計ドキュメントの重要さについても実感させられる。この講義では、C言語に代表される手続き型プログラミング言語を対象として、他人が書いた中規模ソフトウェアを理解するための手法について演習を通じて学ぶ。また、ソースプログラムの品質について学習し、グループでソフトウェアを開発するときに重要な役割を果たすコーディング規約についても学ぶ。さらに、将来の変更を予想することの重要性と変更への準備方法についても学ぶ。
学修目標 1. 中規模ソフトウェアを理解するための手法を理解する。
2. 自分が作成した設計工程や実装工程の成果物を他人の視点で客観的に観察する能力を身に付ける。
3. コーディング規約について理解し、実践する能力を身に付ける。
4. 変更への対応を容易にするためのコーディング手法を理解する。
5. セキュリティへ配慮したコーディング手法を身に付ける。
授業計画 第1〜2週  スタイル
第3〜4週  設計と実装
第5〜6週  インターフェイス
第7〜8週  デバッグ
第 9 週  テスト
第 10 週  性能
第11〜12週  移植性
第13〜14週  セキュリティ
第 15 週  定期試験
評価方法 授業中に出題する演習課題と期末レポートを総合的に評価する。
テキスト Braian W.Kernighan, Rob Pike: プログラミング作法、アスキー(200)

【参 考 書】Diomidis Spinellis: コード・リーディング、毎日コミュニケーションズ(2004)
Diomidis Spinellis: コード・クオリティ、毎日コミュニケーションズ(2007)
MISRA-C研究会: 組込み開発者におくるMISRA-C、日本規格協会(2004)
その他