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

文字サイズ 

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

講義の概要とねらい

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

到達目標

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

キーワード

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

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

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

授業の進め方

授業は(1)講義(ビデオ)、(2)個人演習(50分)、(3)全体演習(100分)を1ラウンドとし、14ラウンド前後を行う。
(1)講義: そのラウンドの内容を説明 (ビデオ講義による自習)
(2)個人演習: 受講者が内容を理解するための基本的な問題を解く (演習室→2021年度は各自所有の機器で行う)
(3)全体演習: 受講者が教師役/生徒役に分かれ、教師役が問題を解きながら授業の要点を解説し、生徒役は質疑を行う形式で進める (講義室→2021年度はZOOMで行う)

授業計画・課題

  授業計画 課題
第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)

参考書、講義資料等

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

成績評価の基準及び方法

個人演習、全体演習および期末試験において、実際の問題に対してクラス階層とメソッドの設計が行えることを評価する。同時に、それに必要となる概念の理解度も評価する。(2021年度は遠隔授業のため期末試験を行わない可能性がある)

関連する科目

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

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

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

オフィスアワー

指定しない

その他

2021年度は、履修者個人の計算機環境にEclipse開発環境をインストールして演習問題を解く必要がある。またZOOMによる演習では、履修者がオンライン白板を使って議論を行う。そのため、必須ではないが、ペン入力機器(ペンタブレット、タブレットPC等、ペン入力可能な携帯タブレット端末等)があるとやりやすい。

このページのトップへ