システム・プログラミング

授業科目区分

情報メディア学科
専門科目 ソフトウェア開発系
選択 2単位 2年次 後期



担当教員

小泉 真也

履修に必要な予備知識や技能

ある程度C言語を解読できること、またはプログラミング系の講義等を通じてC言語を学習していること。

履修条件

応用プログラミング ※応用プログラミングを通じてのC言語の取り扱いは必須要件とし、同講義の単位を取得していない場合は履修を認めないものとする。

その他この科目を履修するために必要な条件

学習教育の目標

「クラス」を利用したオブジェクト指向のプログラミングスタイルを身に着ける。 低水準プログラミングや、GUIプログラミングの書式および手続きを身に着ける。

授業の簡単な概要

プログラミング言語C++を通じて、クラス型オブジェクトによるオブジェクト指向プログラミングを学びます。また、低水準プログラミングの概念に触れ、GUIプログラミングの手続きも扱います。 プログラミングスタイルの理解だけではなく、オブジェクト指向を適用することによって、どのような点で開発の効率化が図れるかを考えていきます。

学習支援

内容が多いため、講義時間中は講義運営に協力願います。 各種質問は講義時間外に適宜対応します。

オフィスアワー

金曜日5限

学習内容

  1. ■オブジェクト指向とC++ 「オブジェクト指向」は、従来の「プロセス(手続き)指向」と何が違うのか。プログラミング言語C++について。
  2. ■デバッガ プログラムソースのバグフィクスが行えるように、プログラムが動作しない原因を理解し、デバッガを用いて問題点を特定する。
  3. ■C++の言語仕様 プログラミング言語Cとの相違点、「ストリーム」による入出力、「マニピュレーター」の理解。
  4. ■クラス データ構造としてのクラス、クラスを用いたプログラミング。「インスタンス」について。「カプセル化」について。
  5. ■クラスの性質 コンストラクタ/デストラクタ、データ操作、クラス型。「参照変数」について。
  6. ■オブジェクト指向の構成要素(1) カプセル化、ポリモーフィズム、インヘリタンス、、ダイナミックバインディングについて。 関数オーバーロード、デフォルト引数、
  7. ■オブジェクト指向の構成要素(2) 多重継承、仮想クラス、抽象クラス、テンプレート関数、テンプレートクラス
  8. ■C++その他の機能@ this ポインタ、演算子のオーバーロード、クラスの前方参照、friend
  9. ■C++その他の機能A 変数属性、動的メモリの割当(New/delete演算子)、名前空間
  10. ■C++その他の機能B データ型識別、データ型変換
  11. ■低レベル入出力 ファイルの読み書きの手続き(C、C++のストリーム、ファイルディスクリプタ、Windows API それぞれの違い)
  12. ■応用−プログラムの抽象化 基本的な C アルゴリズムに対するクラス設計の考え方
  13. ■GUIプログラミング@ Windows GUI
  14. ■GUIプログラミングA X11(Linux)GUI
  15. ■予備スケジュール

期末試験やレポートなどの留意事項

教科書

講義スライドを用います。

参考書

定めません。

NDC

達成度評価(評価方法:合計100点)

試験:     
レポート:   45
作品:     
成果発表:   
ポートフォリオ:
その他:

出席…55

上記割合以外に注意すべき事項:

出席を重視する。 プログラムの作成作業は完了の時間に個人差が大きいため、動作確認は原則時間外(レポート作成)で行うものとする。