プログラム設計 (大西 圭)
科目名: プログラム設計 (02) Programming for Systems Design
担当教員: 大西 圭 (大学院情報工学研究院電子情報工学研究系) ohnishi@cse.kyutech.ac.jp
情報科目 必修科目 2単位
2年 前期 金曜3限目 金曜4限目 AV講義室
授業の概要
ソフトウェア設計の基本的な方法論と、実際のソフトウェア開発に広く利用されるC言語によるプログラミング技法について講義する。また、講義したプログラミング技法の実際的な使用を伴う課題を与え、演習を行う。
カリキュラムにおけるこの授業の位置付け
「プログラミング」、「データ構造とアルゴリズム」の履修を前提とする。
授業項目 (授業計画)
- (1) 構造を持ったデータの入力処理
- (2) 構造体と配列の利用
- (3) 動的メモリ管理
- (4) グラフィックス処理
- (5) 要求分析と仕様定義
- (6) ソフトウェアの構造化設計
- (7) 分割統治法、段階的詳細化
- (8) 関数定義によるプログラムの機能分割
- (9) 分割コンパイルの自動化
- (10) 構造化プログラミング
- (11) アルゴリズムの選択と設計
- (12) 抽象データ型
- (13) データ構造の選択と設計
- (14) テスト、デバッグ、改良
- (15) 期末試験
- (2) 構造体と配列の利用
授業の進め方
講義と並行して計算機演習を行う。
授業の達成目標 (学習・教育目標との関連)
この授業は、電子情報工学科の学習・教育目標(B-1-1) に掲げられている「計算機ソフトウェアを構成するための基本アルゴリズム、データ構造を理解し、プログラミングに用いることができる」のために、講義を通じて、プログラム設計の方法論の存在とその考え方を理解させることを目指す。また、学習・教育目標(C-2-2) に掲げられている「計算機を使ってソフトウェアにより実現できる応用技術を習得し、理解している」のために、演習を通して、基本的なプログラミング手法を目的のために応用する能力を習得させることを目指す。さらに、学習・教育目標(D-3) に掲げられている「構想したものを図,式,プログラム等より表現する能力の習得(プログラム等作成能力)」のために、プログラミング対象の分析とそれに基づく設計と実装の演習を通じて、問題解決のために構想したものをプログラムにより表現する経験をさせることを目指す。
具体的には以下の項目を目標とする。
- (1) 構造化設計の考え方を理解する。
- (2) C言語による構造化プログラミング技法を習得する。
- (3) 仕様を満たすプログラム作成のプロセスを経験する。
- (2) C言語による構造化プログラミング技法を習得する。
成績評価の基準および評価方法
上記に掲げる具体的な達成目標のうち、(1)(2)については、期末試験により評価する(50%)。(2)(3)については、演習課題に対するレポートの内容により評価する(50%)。
キーワード
プログラミング、C言語、設計
教科書
九州工業大学の学習支援サービス上で資料を公開する。
参考書
- B.W.カーニハン他著:プログラムング言語C 第2版(共立出版)
- 伏見 正則著:最新 情報システムの開発(実教出版)