検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和2年度以降入学者 | オブジェクト指向プログラミング | ||||
---|---|---|---|---|---|
教員名 | 北原鉄朗 | ||||
単位数 | 2 | 学年 | 3・4 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 選択必修 |
授業形態 | 対面授業 |
---|---|
Canvas LMSコースID・コース名称 | Q059241730 2024オブジェクト指向プログラミング(北原鉄朗・前・金3) |
授業概要 | 今日広く使われているプログラミング言語のほとんどが「オブジェクト指向」という考え方の基に設計されている。オブジェクト指向プログラミングには、多くのカタカナ語が出現し、正確に理解し、使いこなすことは必ずしも簡単ではない。本科目では、2年次科目「オブジェクト指向プログラミング入門」で学んだ内容を復習しつつ、より進んだ内容を学び、実践的な状況での演習を行うことで、オブジェクト指向プログラミングを活用したプログラムを理解し、自ら作成できるようになることを目的とする。 |
授業のねらい・到達目標 | ・オブジェクト指向プログラミングに関する概念を正確に理解することができる。 ・オブジェクト指向プログラミングの概念を活用してプログラムを設計することができる。 ・オブジェクト指向プログラミングの概念を活用して設計・実装したプログラムの良し悪しを考察することができる。 この科目は文理学部(学士(理学))のディプロマポリシー DP3-5及びカリキュラムポリシー CP3-5に対応している。 ・仮説に基づく課題や問題を提示し,客観的な情報を基に,論理的・批判的に考察できる。(A-3-3) ・問題を分析し,複数の解決策を提示した上で,問題を解決することができる。(A-4-3) ・責任と役割を担い,新しい問題に取り組む意識を持ち,そのために必要な情報科学の知識・情報を収集することができる。(A-5-3) |
授業の形式 | 講義、演習 |
授業の方法 | ・教員による学習内容の解説とプログラミング実習を中心に授業を進める。 ・授業内で随時小テストを行う場合がある。また、授業後に適宜ミニ課題を課す。 ・チーム単位でのプログラミング演習を課す。この演習では、レポートの作成および提出を課す。 レポート課題は、個別に点数をフィードバックするほか、講評を文書にて行う。 |
履修条件 | 2年次の「オブジェクト指向プログラミング入門」の内容を十分に理解していること。 |
授業計画 | |
---|---|
1 |
・本科目の到達目標および授業方法の確認 ・「オブジェクト指向プログラミング入門」の復習(クラスとインスタンス、コンストラクタ) (A-3-3~A-5-3) 【事前学習】YouTubeに公開した「オブジェクト指向プログラミング入門」の動画教材を見て復習しておくこと (2時間) 【事後学習】「オブジェクト指向プログラミング入門」におけるクラスとインスタンス、コンストラクタに関するプログラミング演習を行い、理解を深めること (2時間) 【授業形態】対面授業 |
2 |
「オブジェクト指向プログラミング入門」の復習(継承、抽象クラス)(A-3-3~A-5-3)
【事前学習】YouTubeに公開した「オブジェクト指向プログラミング入門」の動画教材を見て復習しておくこと (2時間) 【事後学習】「オブジェクト指向プログラミング入門」における継承、抽象クラスに関するプログラミング演習を行い、理解を深めること (2時間) 【授業形態】対面授業 |
3 |
「オブジェクト指向プログラミング入門」の復習(授業内試験とその解説を通じて理解を深める)(A-3-3~A-5-3)
【事前学習】第1回、第2回の内容を十分に復習しておくこと (2時間) 【事後学習】出来の悪かった問題を復習すること (2時間) 【授業形態】対面授業 |
4 |
Java入門(A-3-3~A-5-3)
【事前学習】授業資料をあらかじめ読んでおくこと。Dockerを使ったUbuntuの起動方法を確かめておくこと (2時間) 【事後学習】Javaプログラミングに関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
5 |
カプセル化(1) privateなメソッド/フィールドとpublicなメソッド/フィールド(A-3-3~A-5-3)
【事前学習】第4回までの内容を復習しておくこと (2時間) 【事後学習】privateなメソッド/フィールドとpublicなメソッド/フィールドに関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
6 |
カプセル化(2) イミュータブルなクラス(A-3-3~A-5-3)
【事前学習】第5回までの内容を復習しておくこと (2時間) 【事後学習】イミュータブルなクラスに関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
7 |
ポリモーフィズム(1) 実装を継承せずにメソッド構成(API)のみを継承する
【事前学習】「オブジェクト指向プログラミング入門」で学んだ抽象クラスや抽象メソッドについて復習しておくこと (2時間) 【事後学習】インタフェースに関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業、同時双方向型授業 |
8 |
ポリモーフィズム(2) インタフェースを使ったポリモーフィズム実践 (A-3-3~A-5-3)
【事前学習】第7回の内容を復習しておくこと (2時間) 【事後学習】ポリモーフィズム実践に関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
9 |
実例から学ぶOOP(1) データ構造篇 (A-3-3~A-5-3)
【事前学習】「実例から学ぶOOP」(データ構造篇)の資料をあらかじめ読んで内容を把握しておくこと (2時間) 【事後学習】「実例から学ぶOOP」(データ構造篇)に関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
10 |
実例から学ぶOOP(2) Swing篇 (A-3-3~A-5-3)
【事前学習】「実例から学ぶOOP」(Swing篇)の資料をあらかじめ読んで内容を把握しておくこと (2時間) 【事後学習】「実例から学ぶOOP」(Swing篇)に関するミニ課題に取り組むこと (2時間) 【授業形態】対面授業 |
11 |
総合演習(1) 作成するプログラムの話し合いとクラス設計(A-3-3~A-5-3)
【事前学習】一緒に演習に取り組む相手とどのようなプログラムを作成するか、あらかじめ話し合っておくこと (2時間) 【事後学習】クラス設計に関してレポートを提出すること (2時間) 【授業形態】対面授業 |
12 |
総合演習(2) クラス設計の再検討 (A-3-3~A-5-3)
【事前学習】フィードバックに基づいてクラス設計をどう修正するか考えておくこと (2時間) 【事後学習】授業内で終わらなかったクラス設計について終わらせておくこと (2時間) 【授業形態】対面授業 |
13 |
総合演習(3) 実装の開始 (A-3-3~A-5-3)
【事前学習】記述までにプログラムが完成するように、実装を少しずつ進めておくこと (2時間) 【事後学習】必要に応じてクラス設計を見直しながら、実装を進めておくこと (2時間) 【授業形態】対面授業 |
14 |
総合演習(4) 実装の仕上げとレポート作成 (A-3-3~A-5-3)
【事前学習】期日までにプログラムが完成するように、実装を進めておくこと (2時間) 【事後学習】期日までにレポートを仕上げて提出すること (2時間) 【授業形態】対面授業 |
15 |
授業内試験と解説(第1回~第14回の内容に関して試験を通じて理解を深める)
【事前学習】第1回~第14回で学んだ内容を復習して理解を深めておくこと (2時間) 【事後学習】試験問題のうち出来が悪かったものについて復習すること (2時間) 【授業形態】対面授業 |
その他 | |
---|---|
教科書 | 使用しない |
参考書 | 使用しない |
成績評価の方法及び基準 | 試験(50%)、レポート(40%)、授業参画度(10%) ・試験には、授業内に実施する各種テストを含める。 ・レポート課題は1回課す予定である。 ・授業参画度は、授業内のコンピュータ実習や毎回の事前学習・事後学習の提出状況から判断する。 |
オフィスアワー | Slackで随時質問を受け付ける。個人的な内容を含まない質問は、授業ごとに用意されたチャンネルに投稿することを原則とする。 対面での質問や相談を希望する場合は、事前にSlack等で連絡をした上で必要に応じて受け付ける。 |