Information Technology Seminar I: Schedule

Object-Oriented Design in Ruby

Aoyama Gakuin University, Summer 2013, Martin J. Dürst (last updated 2013-06-25)

(links to presentations and minutes are only accessible with a password)

Chapter and page numbers refer to Practical Object-Oriented Design in Ruby - An Agile Primer, Sandi Metz, Addison-Wesley, 2013.

April 10
Introduction: Martin J. Dürst
Homework for April 17: Install Ruby (install the latest versions of Ruby 1.9 (or Ruby 2.0) from RubyInstaller;
currently the newest versions are 1.9.3-p392 and 2.0.0-p0)
For a gentle introduction to Ruby, please also see Programming Basics II (2011)
April 17
Ruby Overview: Martin J. Dürst (important: bring your Note PC, with Ruby installed)
April 24 (minutes: 中山)
a) 1. Object-Oriented Design (pp. 1-14): 小林
b) 2. Designing Classes with a Single Responsibility (pp. 15-23): 井上
May 1 (minutes: 井上)
c) Writing Code that Embraces Change (pp. 24-34): 澁谷
d) 3. Managing Dependencies (pp. 35-45): 栗原
May 8 (minutes: 栗原)
e) Remove Argument-Order Dependencies (pp. 46-57): 池田
f) 4. Creating Flexible Interfaces (pp. 59-73): 水谷
May 15 (minutes: 池田)
g) Trusting Other Objects (pp. 73-83): 井田
h) 5. Reducing Costs with Duck Typing (pp. 85-95): 堤
May 22 (minutes: 小林)
i) Writing Code that Relies on Ducks (pp. 95-104): 中山
May 29 (minutes: 井田)
A) 6. Acquiring Behavior Through Inheritance (pp. 105-123): 水谷
B) Separating Abstract from Concrete (pp. 123-139): 栗原
June 5 (minutes: 水谷)
C) 7. Sharing Role Behavior with Modules (pp. 141-158): 澁谷
D) Writing Inheritable Code, 8. Combining Objects with Composition (pp. 158-176): 池田
June 12 (minutes: 澁谷)
E) Manufacturing Parts (pp. 176-190; ++): 堤
F) 9. Designing Cost-Effective Tests (pp. 191-207): 井上
June 19 (minutes: 堤)
G) Injecting Dependencies Using Classes (pp. 207-224): 井田
H) Using Role Tests to Validate Doubles (pp. 224-241): 小林
June 26: Ruby Applications
Kenichiro Suzuki: Rails Application Examples
July 3: Ruby Applications
Hajime Minezaki: SVuGy
Hiroto Morotomi: SVuGy Applications
July 10 (minutes: 小林)
I) Rapid Web Application Development: A Ruby on Rails Tutorial, Viswa Viswanathan, IEEE Software, Nov/Dec 2008 (Vol. 25 No. 6), pp. 98-106: 中山
Martin J. Dürst: Ruby Internationalization
(July 17: makeup classes)
July 24:
Ryutaro Okamoto: Eye Tracker
Kota Miyake: 3D Printing
(July 29 to August 3: Term final exams)