情報科学部Faculty of Computer and Information Sciences
COT311KA-CS-301(計算基盤 / Computing technologies 300)オブジェクト指向プログラミングObject-oriented Programming
藤田 悟Satoru FUJITA
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 情報科学部Faculty of Computer and Information Sciences |
添付ファイル名Attached documents | |
年度Year | 2024 |
授業コードClass code | J0545 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | プログラム設計 |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 木3/Thu.3 |
科目種別Class Type | |
キャンパスCampus | 小金井 / Koganei |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | 3~4 |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | ○ |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) |
【(情報科学部所属以外の学生向け)「成績優秀者の他学部科目履修制度」の履修登録の流れ】 (1) 受講希望者 (受講検討中の者も含む) は、初回の授業までに「申請フォーム(https://forms.gle/ECvwxVe2NcxmrbTK9)」から履修したい科目を申請してください。 (2) 以下のURLと教育開発支援機構事務局の案内に従って、履修希望の申請を行ってください。 https://www.hoseikyoiku.jp/risyu/index.html (3) 履修取消については、ご自身の所属学部の履修取消期間内に必ず履修取消を行ってください。 【「成績優秀者の他学部科目履修制度」の履修年次】 「配当年次」欄と同じです。 |
実務経験のある教員による授業科目Class taught by instructors with practical experience | ○ |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
選択・必修Optional/Compulsory | |
カテゴリー(2022年度以降入学者)Category (2022~) |
専門教育科目 専門科目 コース専門科目 |
カテゴリー(2021年度以前入学者)Category (~2021) | |
カテゴリーCategory |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
We study design patterns in object oriented software developments using the Java language. We focus on famous design patterns mostly in GOF book.
Students will be able to write OOP systems using the patterns. They will also be able to explain the effects of abstraction that are at the core of the patterns. All these abilities are checked by the term examination (70%) and the weekly assignments (30%),
in each of which an average student spends four hours.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
オブジェクト指向開発におけるデザインパターンをJava言語を通じて学ぶ。
到達目標Goal
GOFのパターンのうち特に多く使われているパターンに習熟し、オブジェクト指向開発でパターンを意識した設計やプログラミングができるようになる。デザインパターンの言葉を設計者・プログラマーの間のコミュニケーションツールとして使いこなせるようになる。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
情報科学部ディプロマポリシーのうち「DP4-1」と「DP4-3」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
毎回、1つか2つのパターンを取り上げ、解説する。適宜、適用例をめぐって討論を行う。毎回、授業外で行うべき課題が出される。授業で課した課題(小テストやレポート)等を取り上げ、授業内で全体に対してフィードバックを行う。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:オブジェクト指向設計とは何か
サンプルプログラムを通して、オブジェクト指向設計の課題を理解する。
第2回[対面/face to face]:UML
設計用のツールとして UML を学ぶ。
第3回[対面/face to face]:デザインパターン入門/Facade パターン
デザインパターンの考え方について基礎を学ぶ。その一例として、Facade パターンについて理解する。
第4回[対面/face to face]:リファクタリング/Adapter パターン
プログラムを見やすく書き換えるためのリファクタリングの概念と方法を学ぶ。
Adapter パターンについて理解する。
第5回[対面/face to face]:Strategy パターン/
Bridge パターン
Strategy パターンと Bridge パターンについて、理解する。
第6回[対面/face to face]:Abstract Factory パターン
Abstract Factory パターンについて、理解する。
第7回[対面/face to face]:デザインパターンを利用したプログラム設計
前半で学んだデザインパターンを使って、プログラム設計の考え方を学ぶ。
第8回[対面/face to face]:Decorator パターンと Observer パターン
Decorator パターンと Observer パターンについて、理解する。
第9回[対面/face to face]:Template パターンと Singleton パターン
Template パターンと Singleton パターンについて、理解する。
第10回[対面/face to face]:ObjectPool パターンと FactoryMethod パターン
ObjectPool パターンと FactoryMethod パターンについて、理解する。
第11回[対面/face to face]:State パターンと Prototype パターン
State パターンと Prototype パターンについて、理解する。
第12回[対面/face to face]:Composite パターンとProxy パターン
Composite パターンとProxy パターンについて、理解する。
第13回[対面/face to face]:Memento パターンとVisotorパターン
Memento パターンとVisotorパターンについて、理解する。
第14回[対面/face to face]:デザインパターンのまとめ
様々なデザインパターンの関係を復習する。
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
毎週の課題に取り組む。
本授業の準備・復習等の授業時間外学習は、各週につき4時間を標準とします。
テキスト(教科書)Textbooks
オブジェクト指向のこころ
アラン・シャロウェイ, ジェームズ・R・トロット
丸善出版
参考書References
増補改訂版 Java言語で学ぶデザインパターン入門,
結城浩,
SoftBank
成績評価の方法と基準Grading criteria
期末試験(70%)
レポート課題(30%)
学生の意見等からの気づきChanges following student comments
授業時間内で実例を交えて説明することを心掛ける。
学生が準備すべき機器他Equipment student needs to prepare
貸与パソコン。
その他の重要事項Others
本講義は担当教員の企業での様々な情報科学技術に関する研究開発の知見を基に実務に必要なコンピュータシステムに関する講義を行う。