2020年度 プログラミング第二   Programming II

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
数理・計算科学系
担当教員名
増原 英彦  脇田 建 
授業形態
講義 / 演習    (Zoom)
メディア利用科目
曜日・時限(講義室)
月7-9(W932)  木7-9(W932)  
クラス
-
科目コード
MCS.T303
単位数
3
開講年度
2020年度
開講クォーター
4Q
シラバス更新日
2020年9月18日
講義資料更新日
-
使用言語
日本語
アクセスランキング
media

講義の概要とねらい

実世界の問題を計算機によって解決する場合、その問題を計算機の内部で扱うことができるように適切な表現を与える、即ち問題のモデル化を行う必要がある。その表現はまた、データのサイズ、アルゴリズム、表現の簡潔さ、再利用性などを規定する重要な要因でもある。このような問題のモデル化を行うにあたっては、典型的なモデル化の例を学び、そのために必要となるプログラミング言語の諸概念、基本的なプログラミング技法を習得する必要があります。具体的にはオブジェクト指向プログラミング言語のクラス階層とメソッドの設計と抽象化技法が学習項目となる。
(1回の授業あたり,講義1時限,演習2時限を行う)

到達目標

与えられた問題記述から、データモデリングを行い、オブジェクト指向プログラミング言語によるクラス階層とメソッドの設計手法を習得する。また、フレームワークやデザインパターンのような抽象化手法を理解し、実際のクラス設計を再利用可能なものにする。これによって情報システムに関する基本的な性質を、ソフトウェア構築の側面から体得することを目標とする。

キーワード

モデル化、抽象化、再利用性、オブジェクト指向、クラス階層、メソッド

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

授業は(1)講義(ビデオ)、(2)個人演習(50分)、(3)全体演習(100分)を1ラウンドとし、14ラウンドを行う。
(1)講義: そのラウンドの内容を説明 (ビデオ講義による自習)
(2)個人演習: 受講者が内容を理解するための基本的な問題を解く (演習室)
(3)全体演習: 受講者どうしで助け合いながら理解を確認するための問題を解く (講義室)

授業計画・課題

  授業計画 課題
第1回 原始的なデータ形式、クラス、クラスの参照、オブジェクトの包含 クラス図の描き方、メソッドの定義方法、テストクラス/テスト式の書き方、開発環境の使い方
第2回 ユニオン、自己参照、相互参照、クラス階層 ユニオンを使ったクラス図、クラス定義、データ例
第3回 基本型による計算、メソッド呼出 メソッドの呼び出し式
第4回 クラスのメソッド、包含オブジェクトのメソッド メソッド定義
第5回 ユニオンのメソッド、型とクラスとメソッド呼出 ユニオンのメソッド定義、型とクラスの違い
第6回 ユニオンのメソッド(その2)、相互参照とメソッド 相互参照のあるクラスのメソッドの定義
第7回 メソッドの設計、類似したクラス、クラス階層のメソッド メソッドの設計方法
第8回 状態カプセル化、自己保存、外延的等価性 等価性メソッドの定義
第9回 循環データ、循環データのメソッド 循環のあるデータのクラスとメソッドの設計
第10回 状態と変化、代入による状態変化 フィールド代入の使用
第11回 状態付クラスの設計、命令的メソッド、等価性その2 状態のあるクラスとそのメソッドの設計
第12回 類似するクラスの型、類似するクラス階層の型、汎用クラス設計 総称クラスの設計
第13回 フレームワーク、インタフェース設計、拡張可能フレームワーク フレームワーク概念とその設計
第14回 走査のパターン、抽象走査メソッド設計 走査の考え方、設計方法
第15回 副作用付走査、Visitor式拡張可能フレームワーク 走査のライブラリ化の方法

授業時間外学修(予習・復習等)

学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ本学の学修規程で定められた時間を目安に行う。

教科書

``How to Design Classes --- Data: Structure and Organization'', by Matthias Felleisen, Matthew Flatt, Robert Bruce Findler, Kathryn E. Gray, Shriram Krishnamurthi, and Viera K. Proulx, 2012. (Draft)

参考書、講義資料等

講義資料はオンラインで配布する。

成績評価の基準及び方法

個人演習、全体演習および期末試験において、実際の問題に対してクラス階層とメソッドの設計が行えることを評価する。同時に、それに必要となる概念の理解度も評価する。

関連する科目

  • MCS.T224 : プログラミング第一

履修の条件(知識・技能・履修済科目等)

最低限のプログラミングが行えること。プログラミング第一を履修していることが望ましい。

連絡先(メール、電話番号)    ※”[at]”を”@”(半角)に変換してください。

p2-2020[at]prg.is.titech.ac. (この後ろに「日本」のドメイン名を追加せよ)

オフィスアワー

指定しない

このページのトップへ