プログラミング言語構造論
Object Oriented Programming

授業科目区分

専門科目
専門科目 情報テクノロジーコース

わくラボの使用について:使用しない
情報テクノロジーコース必修 2単位 2年次 前期


担当教員

小泉真也

研究室のホームページ,SNSなど

NDC

007.64 / 007.61

科目分類コード

1102 01

オフィスアワー

この科目のキーワード

オブジェクト指向プログラミング, C++, Java, C#

説明に使用する言語

主として日本語を使用する

使用する教材の言語

日本語で記述された資料を使用する

この科目に必要な日本の文化・事情の知識について

到達目標

大規模なソフトウェア開発においては、コードの記述の効率化と、プログラミング資源の保守が重要となります。 本講義では、主にオブジェクト指向を軸として、プログラミング言語の様式を種別的な観点から理解し、それぞれの様式がどのように構文化されるかを学習します。

ディプロマポリシーとの関連性

情報メディア基礎力:情報メディアの技術的および社会的な変化に対応し得る基盤となる知識とスキル

授業の簡単な概要

C++、Java、C# などで記述したプログラムの読解を通じて、オブジェクト指向の構成要素と、ジェネリックや関数型の一部の様式を学びます。

学習内容

  1. プログラミング言語の「構造」とは
  2. プログラミングのスタイル、オブジェクト指向プログラミング
  3. 「オブジェクト」とは、クラス…「ソフトウェアのような」データ構造
  4. データ型、foreach制御構文
  5. C++, Java, C# 実行ファイル生成手順と各言語の動作
  6. クラスの性質−コンストラクタ・デストラクタ(ファイナライザ)
  7. インヘリタンス(継承)・その1
  8. ポリモーフィズム(多態性)・その1
  9. インヘリタンス(継承)・その2、ポリモーフィズム(多態性)・その2
  10. 属性(その1)、データ型変換、Object型
  11. ジェネリックプログラミング(総称型・汎用型)
  12. クラスの種別、初期化子、C#特有のデータ構造、型推論、匿名型
  13. その他のオブジェクト指向言語・その1
  14. その他のオブジェクト指向言語・その2
  15. システム内部の動作・GUI概要

授業時間外での学修

講義資料に基づく予復習の時間として4時間:例題は、書き写しではなく、動作の過程を追った読解を求めます。

成績評価の基準と方法

(S)オブジェクト指向プログラミングを成す四つの要素を理解し、難易度の高い問題に対して、根拠・論拠を示し、考察に基づいた適切な結果を導くこと。
(A)オブジェクト指向プログラミングを成す四つの要素を理解し、簡単な問題に対して、根拠・論拠を示し、考察に基づいた適切な結果を導くこと。
(B)オブジェクト指向プログラミングを成す四つの要素に対して適用の取り組みを避けず、簡単な問題に対して、根拠・論拠を示して適切な結果を導き、考察におおよその努力が認められること。
(C)オブジェクト指向プログラミングを成す四つの要素に対して適用の取り組みを避けず、簡単な問題に対して、適切な結果を導くこと。

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

試験:      / 100
レポート:    100 / 100
小テスト(中間テストなど含む): / 100
小レポート(中間レポートなどを含む): / 100
作品:      / 100
ポートフォリオ: / 100
その他:

教科書・テキスト

LMS(WEB)上で配布します。

参考図書・参考文献等

■平澤章 、”オブジェクト指向でなぜつくるのか 第2版”、日経BP
■Bjarne Stroustrup(著)、柴田望洋(翻訳)、”プログラミング言語C++ 第4版 (日本語)”、SBクリエイティブ
■谷本心ほか、”Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで”、技術評論社
■WINGSプロジェクト 江 賢 (著), 山田祥寛 (監修)、”基礎からしっかり学ぶC#の教科書 改訂新版 (マイクロソフト関連書)”、日経BP
■そのほか、キーワードに関連する図書館の蔵書を参考。

履修もしくは取得していなければいけない科目

プログラミング基礎の単位を取得していること。

学習支援

質問は、LMSやメール等で逐次受付けます。レポートに対しては、適宜、改善点を提示します。

授業に関連する実務経験

企業に所属・大学での研究で、ソフトウェア開発の経験あり(C++, Java, Basic系、MASM)

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

プログラミング基礎の講義を通じて、プログラミング言語Cの読解およびプログラミングスキルを有すること。