検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和元年度以前入学者 | オブジェクト指向プログラミング | ||||
---|---|---|---|---|---|
教員名 | 北原鉄朗 | ||||
単位数 | 2 | 学年 | 3 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 選択必修 |
授業の形態 | オンライン授業(Zoomにおるライブ配信)を11回、課題研究を4回の予定 |
---|---|
授業概要 | オブジェクト指向プログラミングの各技法を学び、これらを活用したプログラミングを習得する。 |
授業のねらい・到達目標 | 今日広く使われているプログラミング言語のほとんどが「オブジェクト指向」という考え方の基に設計されている。オブジェクト指向プログラミングには、多くのカタカナ語が出現し、正確に理解し、使いこなすことは必ずしも簡単ではない。本科目では、2年次科目「オブジェクト指向プログラミング入門」で学んだ内容を復習しつつ、より進んだ内容を学び、実践的な状況での演習を行うことで、オブジェクト指向プログラミングを活用したプログラムを理解し、自ら作成できるようになることを目的とする。 この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 |
授業の方法 | ・Zoomを使った学習内容の解説を中心に講義を進める。 ・授業内で、演習(コンピュータ実習など)や小テストを適宜挿入する。 ・コンピュータ実習は、受講者が自ら用意したPC上で行うものとする。 ・演習や小テストは、Blackboard、Zoomのチャット機能、Slackなどを使ってその場で解答してもらうことで双方向性を確保する。 ・課題研究の回では、レポート課題を課す。提出されたレポートの完成度が低いものには再提出を課す場合がある。 ・課題研究とは別に、適宜ミニ課題を出す場合がある。。 |
授業計画 | |
---|---|
1 |
本科目の到達目標および授業方法の確認、Processingの復習(オンライン授業)
【事前学習】1年次に学んだProcessingによるプログラミングについて⼀通り復習しておくこと (2時間) 【事後学習】】Processingによるプログラミングのうち理解度の低い箇所を⾃ら復習し、次回の⼩テストに対応でき るようにしておくこと (2時間) |
2 |
クラスとインスタンス(1) クラス、インスタンス、メソッド、フィールド、コンス(オンライン授業)
【事前学習】2年次科⽬「オブジェクト指向プログラミング⼊⾨」で学んだクラス、インスタンス、メソッド、コンストラクタの考え⽅ およびRubyでの書き⽅を復習しておくこと (2時間) 【事後学習】Processingによるクラス、インスタンス、メソッド、フィールド、コンストラクタを復習し、次回の⼩テストに対応で きるようにしておくこと (2時間) |
3 |
クラスとインスタンス(2) staticなメソッド/フィールドとstaticでないメソッド/フィールド(オンライン授業)
【事前学習】複数のインスタンスを作成した場合のフィールド(変数)の値の管理のされ⽅について、Rubyでの場 合をあらかじめ復習しておくこと (2時間) 【事後学習】Processingにおけるstaticなメソッド/フィールドとstaticでないメソッド/フィールドを復習し、次 回の⼩テストに対応できるようにしておくこと (2時間) |
4 |
クラスとインスタンス(3) 課題研究
【事前学習】第2回~第3回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
5 |
継承(1) スーパークラスとサブクラス(オンライン授業)
【事前学習】2年次科⽬「オブジェクト指向プログラミング⼊⾨」で学んだスーパークラスとサブクラスの考え⽅お よびRubyでの書き⽅を復習しておくこと (2時間) 【事後学習】Processingにおけるスーパークラスとサブクラスを復習し、次回の⼩テストに対応できるようにして おくこと (2時間) |
6 |
継承(2) 抽象クラスと抽象メソッド、UML(オンライン授業)
【事前学習】前回の内容の理解を前提に授業を進めるので、あらかじめ復習しておくこと (2時間) 【事後学習】抽象クラスと抽象メソッド、UMLを復習し、次回の⼩テストに対応できるようにしておくこと (2時間) |
7 |
継承(3) 課題研究
【事前学習】第5回~第6回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
8 |
Javaプログラミング(1) Java入門(オンライン授業)
【事前学習】Processingプログラミングに関する知識を前提に、Javaプログラミングの⼊⾨を⾏うので、Processingプログラミングをあらかじめ復習しておくこと (2時間) 【事後学習】Javaプログラムの作成⽅法を復習し、次回以降のJavaプログラミングをスムーズに⾏えるようになっ ておくこと (2時間) |
9 |
Javaプログラミング(2) プリミティブ型とクラス型(オンライン授業)
【事前学習】1年次に、Processingでは数値型(int型、double型など)と配列型とで関数の引数に渡したときの振 る舞いが異なることを学んだはずなので、そのことを復習しておくこと (2時間) 【事後学習】Javaにおけるプリミティブ型とクラス型の違いを復習し、次回の⼩テストに対応できるようにしておく こと (2時間) |
10 |
カプセル化(1) publicなメソッド/フィールドとprivateなメソッド/フィールド(オンライン授業)
【事前学習】1・2年次にProcessingおよびC⾔語で学習したグローバル変数とローカル変数の考え⽅に関連するの で、あらかじめ復習しておくこと (2時間) 【事後学習】publicなメソッド/フールドとprivateなメソッド/フィールドの違いを復習し、次回の⼩テストに対 応できるようにしておくこと (2時間) |
11 |
カプセル化(2) setterメソッド、getterメソッド(オンライン授業)
【事前学習】privateなメソッド/フィールドはクラスの外からアクセスできないが、アクセスする必要が⽣じた時 にどうすれびょいか、あらかじめ考えておくこと (2時間) 【事後学習】setterメソッド、getterメソッドを復習し、次回の⼩テストに対応できるようにしておくこと (2時間) |
12 |
カプセル化(3) 課題研究
【事前学習】第10回~第11回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
13 |
カプセル化(4) なぜカプセル化するのか、ポリモーフィズム基礎(オンライン授業)
【事前学習】カプセル化にどんなメリットがあるのかをあらかじめ考えておくこと (2時間) 【事後学習】ポリモーフィズムの考え⽅を復習し、次回の⼩テストに対応できるようにしておくこと (2時間) |
14 |
カプセル化(5) ポリモーフィズム実践(オンライン授業)
【事前学習】ポリモーフィズムの考え⽅をあらかじめ復習しておくこと (2時間) 【事後学習】ポリモーフィズムの考え⽅を活⽤したプログラミングについて復習し、次回の⼩テストに対応できるようにしておくこと (2時間) |
15 |
カプセル化(6) ポリモーフィズムに関する課題研究
【事前学習】第13回~第14回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
その他 | |
---|---|
教科書 | なし |
参考書 | なし |
成績評価の方法及び基準 | レポート(70%)、授業参画度(30%) 授業参画度は、授業内で行う小テストの他、授業内演習やミニ課題の提出状況などをもとに評価する。 |
オフィスアワー | メールやSlackなどで適宜質問を受け付ける。 |