2024年度 学院等開講科目 情報理工学院 情報工学系
オブジェクト指向プログラミング
- 開講元
- 情報工学系
- 担当教員
- 小林 隆志 / 森口 草介
- 授業形態
- 講義/演習 (対面型)
- メディア利用科目
- -
- 曜日・時限
(講義室) - 月3-4 (M-B07(H101),情報工学系計算機室) / 木3-4 (M-B07(H101),情報工学系計算機室)
- クラス
- -
- 科目コード
- CSC.T273
- 単位数
- 110
- 開講時期
- 2024年度
- 開講クォーター
- 4Q
- シラバス更新日
- 2025年3月17日
- 使用言語
- 日本語
シラバス
授業の目的(ねらい)、概要
本講義では,オブジェクト指向プログラミングについて,その基本的な考え方やその原理となっている計算のメカニズムについて説明する.保守性と再利用性の向上につながるオブジェクト指向言語の特徴と設計原則について学ぶ.プログラミング言語としてJava言語を用いたプログラミング演習を通じて,階層化されたクラス定義による抽象化とプログラミング技法を利用する能力を身につけること
を目指す.
到達目標
本講義を履修することによって以下の能力を修得する.
(1) オブジェクト指向のプログラムが書ける
(2) 継承と委譲による保守性の高いプログラミングができる
(3) Java言語の基本的な文法を身に付ける.
(4) Java言語の代表的なAPIを利用できる.
キーワード
クラスとオブジェクト,継承,多態性,動的束縛,カプセル化,委譲
学生が身につける力
- 専門力
- 教養力
- コミュニケーション力
- 展開力 (探究力又は設定力)
- 展開力 (実践力又は解決力)
授業の進め方
講義室での座学講義と計算機室でのプログラミング演習を交互に行う.
授業計画・課題
授業計画 | 課題 | |
---|---|---|
第1回 | 導入,オブジェクト指向とオブジェクト指向プログラミング言語 | オブジェクト指向とオブジェクト指向プログラミング言語の特徴について説明できるようになる. |
第2回 | Java言語の特徴と処理系, 基本的な文法 | Java言語の特徴と処理系, 基本的な文法を説明できるようになる |
第3回 | 演習:Java言語の基本的な文法と基本API | Java言語の基本的な文法と基本APIを利用して簡単なプログラムを書くことができる |
第4回 | オブジェクト指向言語の特徴(1):カプセル化,継承,多重継承と単一継承 | カプセル化,継承,多重継承と単一継承を説明できる. |
第5回 | 演習:カプセル化,継承 | カプセル化,継承を利用した簡単なプログラムを書くことができる |
第6回 | オブジェクト指向言語の特徴(2):抽象クラス,委譲 | 抽象クラス,委譲を説明できる |
第7回 | オブジェクト指向言語の特徴(3):部分型多態,パラメータ多態(総称型) | 多態性を説明できる |
第8回 | 演習:多態性 | 多態性,抽象クラス,委譲を利用した簡単なプログラムを書くことができる |
第9回 | SOLID原則 | SOLID原則を説明できる |
第10回 | 演習:SOLID原則 | SOLID原則を考慮してプログラムを書くことができる |
第11回 | Java API (入出力,文字列操作) | 入出力,文字列操作に関する主要なJava APIの機能を説明できる |
第12回 | 演習:Java API (入出力,文字列操作) | Java API (入出力,文字列操作)を利用した簡単なプログラムを書くことができる |
第13回 | Java API (Java Streaming API) | Java Streaming APIの基本的な機能を説明できる |
第14回 | 演習:総合演習 | 階層的なクラス定義に基づく抽象化を利用したプログラムを書くことができる. |
準備学修(事前学修・復習)等についての指示
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
教科書
特になし. 講義スライドはT2SCHOLAで配布する.
参考書、講義資料等
(1) 井上誠一郎,永井雅人(著), パーフェクトJava 改訂2版, 技術評論社, 2015.
(2) 木村聡(著), Eclipseで学ぶはじめてのJava 第4版, Softbank Createve社, 2015.
(3) 立木秀樹, 有賀妙子(著) すべての人のためのJavaプログラミング 第3版 共立出版, 2017.
成績評価の方法及び基準
演習 (50-60%):計算機室またはオンラインでのプログラミング演習をおこなう
期末テスト(50-40%):上記到達目標について筆記試験もしくはオンラインWeb試験をおこなう.
関連する科目
- CSC.T243 : 手続き型プログラミング基礎
- CSC.T253 : 手続き型プログラミング発展
- CSC.T263 : 関数型プログラミング基礎
- CSC.T361 : オブジェクト指向設計
- CSC.T354 : 並列プログラミング
- CSC.T241 : 計算基礎論
履修の条件・注意事項
C言語に代表される手続き型プログラミング言語でのプログラミングをしたことがある学生を想定している.CSC.T243 : 手続き型プログラミング基礎を履修済みであること.CSC.T253 : 手続き型プログラミング発展, CSC.T263 : 関数型プログラミング基礎も履修済みであることが望ましい.
その他
Javaによるプログラミングを習得するには,講義と演習の時間だけでは時間が足りないため, 参考書やサンプルコードによる自習が必要となります.