検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
科目名 | オブジェクト指向プログラミング | ||||
---|---|---|---|---|---|
教員名 | 北原鉄朗 | ||||
単位数 | 2 | 学年 | 3 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 選択必修 |
授業概要 | オブジェクト指向プログラミングの各技法を学び、これらを活用したプログラミングを習得する。 |
---|---|
授業のねらい・到達目標 | 今日広く使われているプログラミング言語のほとんどが「オブジェクト指向」という考え方の基に設計されている。オブジェクト指向プログラミングには、多くのカタカナ語が出現し、正確に理解し、使いこなすことは必ずしも簡単ではない。本科目では、2年次科目「オブジェクト指向プログラミング入門」で学んだ内容を復習しつつ、より進んだ内容を学び、実践的な状況での演習を行うことで、オブジェクト指向プログラミングを活用したプログラムを理解し、自ら作成できるようになることを目的とする。 この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応しています。 |
授業の方法 | コンピュータ教室などにおいて、担当教員による説明とプログラミング演習を織り交ぜながら授業を進行する。 授業資料は電子的に配布し、プログラミング演習は各受講者が持参したPC上で行うことを前提とする。 本授業の事前・事後学習は,各2時間の学習を目安とする。 |
授業計画 | |
---|---|
1 |
本科目の到達目標および授業方法の確認、Processingの復習 【事前学習】1年次に学んだProcessingによるプログラミングについて一通り復習しておくこと 【事後学習】Processingによるプログラミングのうち理解度の低い箇所を自ら復習し、次回の小テストに対応できるようにしておくこと |
2 |
クラスとインスタンス(1) クラス、インスタンス、メソッド、フィールド 【事前学習】2年次科目「オブジェクト指向プログラミング入門」で学んだクラス、インスタンス、メッドの考え方およびRubyでの書き方を復習しておくこと 【事後学習】Processingによるクラス、インスタンス、メソッド、フィールドを復習し、次回の小テストに対応できるようにしておくこと |
3 |
クラスとインスタンス(2) コンストラクタ、引数付きコンストラクタ 【事前学習】2年次科目「オブジェクト指向プログラミング入門」で学んだコンストラクタの考え方およびRubyでの書き方を復習しておくこと 【事後学習】Processingにおけるコンストラクタ、引数付きコンストラクタを復習し、次回の小テストに対応できるようにしておくこと |
4 |
クラスとインスタンス(3) staticなメソッド/フィールドとstaticでないメソッド/フィールド 【事前学習】複数のインスタンスを作成した場合のフィールド(変数)の値の管理のされ方について、Rubyでの場合をあらかじめ復習しておくこと 【事後学習】Processingにおけるstaticなメソッド/フィールドとstaticでないメソッド/フィールドを復習し、次回の小テストに対応できるようにしておくこと |
5 |
継承(1) スーパークラスとサブクラス 【事前学習】2年次科目「オブジェクト指向プログラミング入門」で学んだスーパークラスとサブクラスの考え方およびRubyでの書き方を復習しておくこと 【事後学習】Processingにおけるスーパークラスとサブクラスを復習し、次回の小テストに対応できるようにしておくこと |
6 |
継承(2) 抽象クラスと抽象メソッド、UML 【事前学習】前回の内容の理解を前提に授業を進めるので、あらかじめ復習しておくこと 【事後学習】抽象クラスと抽象メソッド、UMLを復習し、次回の小テストに対応できるようにしておくこと |
7 |
演習(クラスとインスタンス・継承) 【事前学習】第2回〜第6回で学んだ内容の演習を行うので、あらかじめ復習しておくこと 【事後学習】授業内で作成できなかったプログラムの作成を再度チャレンジすること |
8 |
Javaプログラミング(1) Java入門 【事前学習】Processingプログラミングに関する知識を前提に、Javaプログラミングの入門を行うので、Processingプログラミングをあらかじめ復習しておくこと 【事後学習】Javaプログラムの作成方法を復習し、次回以降のJavaプログラミングをスムーズに行えるようになっておくこと |
9 |
Javaプログラミング(2) プリミティブ型とクラス型 【事前学習】1年次に、Processingでは数値型(int型、double型など)と配列型とで関数の引数に渡したときの振る舞いが異なることを学んだはずなので、そのことを復習しておくこと 【事後学習】Javaにおけるプリミティブ型とクラス型の違いを復習し、次回の小テストに対応できるようにしておくこと |
10 |
カプセル化(1) publicなメソッド/フィールドとprivateなメソッド/フィールド 【事前学習】1・2年次にProcessingおよびC言語で学習したグローバル変数とローカル変数の考え方に関連するので、あらかじめ復習しておくこと 【事後学習】publicなメソッド/フールドとprivateなメソッド/フィールドの違いを復習し、次回の小テストに対応できるようにしておくこと |
11 |
カプセル化(2) setterメソッド、getterメソッド 【事前学習】privateなメソッド/フィールドはクラスの外からアクセスできないが、アクセスする必要が生じた時にどうすれびょいか、あらかじめ考えておくこと 【事後学習】setterメソッド、getterメソッドを復習し、次回の小テストに対応できるようにしておくこと |
12 |
カプセル化(3) なぜカプセル化するのか、ポリモーフィズム基礎 【事前学習】カプセル化にどんなメリットがあるのかをあらかじめ考えておくこと 【事後学習】ポリモーフィズムの考え方を復習し、次回の小テストに対応できるようにしておくこと |
13 |
カプセル化(4) ポリモーフィズム実践 【事前学習】ポリモーフィズムの考え方をあらかじめ復習しておくこと 【事後学習】ポリモーフィズムの考え方を活用したプログラミングについて復習し、次回の小テストに対応できるようにしておくこと |
14 |
演習(Javaプログラミング・カプセル化) 【事前学習】第8回〜第13回で学んだ内容の演習を行うので、あらかじめ復習しておくこと 【事後学習】授業内に作成できなかったプログラムの作成に再度チャレンジすること |
15 |
試験と解説 【事前学習】第1回〜第14回で学んだ内容をよく復習しておくこと 【事後学習】試験においてできなかった問題をよく復習しておくこと |
16 |
【事前学習】 【事後学習】 |
17 |
【事前学習】 【事後学習】 |
18 |
【事前学習】 【事後学習】 |
19 |
【事前学習】 【事後学習】 |
20 |
【事前学習】 【事後学習】 |
21 |
【事前学習】 【事後学習】 |
22 |
【事前学習】 【事後学習】 |
23 |
【事前学習】 【事後学習】 |
24 |
【事前学習】 【事後学習】 |
25 |
【事前学習】 【事後学習】 |
26 |
【事前学習】 【事後学習】 |
27 |
【事前学習】 【事後学習】 |
28 |
【事前学習】 【事後学習】 |
29 |
【事前学習】 【事後学習】 |
30 |
【事前学習】 【事後学習】 |
その他 | |
---|---|
教科書 | なし |
参考書 | なし |
成績評価の方法及び基準 | 試験(70%)、授業参画度(30%) 授業参画度は、授業内で行う小テストの他、授業内演習の提出状況などを用いて算出する。 |
オフィスアワー | 研究室にて対応。詳細は初回授業時に告知する。 |
備考 | 授業資料は電子的に配布し、プログラミング演習は各受講者が持参したPC上で行うことを前提とする。 |