検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和元年度以前入学者 | オブジェクト指向プログラミング入門 | ||||
---|---|---|---|---|---|
平成28年度以前入学者 | 現代数学応用 | ||||
教員名 | 北原鉄朗 | ||||
単位数 | 2 | 学年 | 2 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 選択必修 |
授業の形態 | オンライン授業(Zoomによるライブ配信)を9回、課題研究を6回の予定 |
---|---|
授業概要 | 1年次に学んだProcessingを用いて、オブジェクト指向プログラミングの基本的な考え方を学ぶ |
授業のねらい・到達目標 | ・オブジェクト指向プログラミングの考えを理解し、見通しのよいプログラムを書けるようになる。 ・オブジェクト指向プログラミングの様々な用語を正確に理解し、プログラム設計に関して正しい言葉遣いで議論できるようになる。 この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 |
授業の方法 | ・Zoomを使った学習内容の解説を中心に講義を進める。 ・授業内で、演習(コンピュータ実習など)や小テストを適宜挿入する。 ・コンピュータ実習は、受講者が自ら用意したPC上で行うものとする。 ・演習や小テストは、Blackboard、Zoomのチャット機能、Slackなどを使ってその場で解答してもらうことで双方向性を確保する。 ・課題研究の回では、レポート課題を課す。提出されたレポートの完成度が低いものには再提出を課す場合がある。 ・課題研究とは別に、適宜ミニ課題を出す場合がある。 |
授業計画 | |
---|---|
1 |
本科目の到達目標および授業方法の確認、Processingの復習(オンライン授業)
【事前学習】「オブジェクト指向」とは何かを、基本情報技術者試験の参考書など手持ちの資料で調べること (2時間) 【事後学習】1年次に学んだProcessingのプログラミング方法に関して、忘れていることを復習しておくこと (2時間) |
2 |
クラスとインスタンス(1) クラス、インスタンス、メソッド、フィールド(オンライン授業)
【事前学習】1年次に学んだ「関数」の発展形でもあるので、関数についてあらかじめ復習しておくこと (2時間) 【事後学習】授業内で学んだクラス、インスタンス、メソッド、フィールドについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
3 |
クラスとインスタンス(2) 複数のクラス、複数のインスタンスを扱うプログラム(オンライン授業)
【事前学習】前回学んだクラス、インスタンス、メソッド、フィールドについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだ複数のクラス、複数のインスタンスを扱うプログラムについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
4 |
クラスとインスタンス(3) 複数のクラス、複数のインスタンスを扱うプログラムに関する課題研究
【事前学習】第2回~第3回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
5 |
クラスとインスタンス(4) コンストラクタ、引数付きコンストラクタ(オンライン授業)
【事前学習】第2回〜第3回で学んだクラス、インスタンス、メソッド、フィールドについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだコンストラクタ、引数付きコンストラクタについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
6 |
クラスとインスタンス(5) コンストラクタに関する課題研究
【事前学習】第5回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
7 |
クラスとインスタンス(6) staticなメソッド、staticなフィールド(オンライン授業)
【事前学習】第2回〜第6回で学んだクラス、インスタンス、メソッド、フィールド、コンストラクタについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだstaticなメソッド、staticなフィールドについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
8 |
クラスとインスタンス(7) 参照の値渡し(オンライン授業)
【事前学習】第2回〜第7回で学んだクラス、インスタンス、メソッド、フィールド、コンストラクタ、staticキーワードについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだ参照の値渡しについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
9 |
クラスとインスタンス(8) static、参照の値渡しに関する課題研究
【事前学習】第7回~第8回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
10 |
継承(1) スーパークラスとサブクラス(オンライン授業)
【事前学習】第2回〜第3回で学んだクラスとインスタンスについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだスーパークラスとサブクラスについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
11 |
継承(2) 抽象クラス、抽象メソッド、UML(オンライン授業)
【事前学習】前回学んだスーパークラスとサブクラスについて不明点をなくしておくこと (2時間) 【事後学習】授業内で学んだ抽象クラス、抽象メソッド、UMLについて復習し、次回の小テストに対応できるようにしておくこと (2時間) |
12 |
継承(3) 継承に関する課題研究
【事前学習】第10回~第11回で学んだ内容をあらかじめ復習し、理解を深めておくこと (2時間) 【事後学習】課された課題に取り組み、レポートを執筆して期日までに提出すること (2時間) |
13 |
OOPを使ったリファクタリング(1) グループワークによるリファクタリング(オンライン授業)
【事前学習】これまで学んだすべての内容をあらかじめ復習し、不明点をなくしておくこと (2時間) 【事後学習】授業内でクラス設計が終わらなかった場合は、グループで連絡を取り合い、クラス設計を完了させること (2時間) |
14 |
OOPを使ったリファクタリング(2) リファクタリングに関する課題研究(設計編)
【事前学習】これまで学んだ内容を一通り復習し、理解を深めておくこと (2時間) 【事後学習】第13回のグループワークでの議論に基づいてクラスを設計し、レポートを執筆して期日までに提出すること (2時間) |
15 |
OOPを使ったリファクタリング(3) リファクタリングに関する課題研究(実装編)
【事前学習】これまで学んだ内容を一通り復習し、理解を深めておくこと (2時間) 【事後学習】第13回のグループワークでの議論に基づいてクラスを実装し、レポートを執筆して期日までに提出すること (2時間) |
その他 | |
---|---|
教科書 | なし |
参考書 | 使用しない |
成績評価の方法及び基準 | レポート(70%)、授業参画度(30%) 授業参画度は、小テストおよび授業内演習やミニ課題の提出状況をもとに評価する。 |
オフィスアワー | メールやSlackなどで随時質問を受け付ける。 |