Information Technology Seminar I: Schedule

Effective Ruby

Aoyama Gakuin University, Spring 2017, Martin J. Dürst (last updated 2017-07-12)

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

Chapter and page numbers refer to Effective Ruby - 48 Specific Ways to Write Better Ruby, Peter J. Jones, Addison-Wesley, 2015 (website).

April 12
Introduction: Martin J. Dürst
Homework for April 19: Install Ruby (install the latest versions of Ruby from RubyInstaller, also download DevKit, and for Cygwin (update or add to installation); for Mac, check separately)
For a gentle introduction to Ruby, please also see Programming Basics II (2011)
April 19
Introduction to Ruby (bring your notebook PC, with Ruby installed)
April 26 (minutes: 山﨑)
a) Understand what Ruby considers to be true (pp. 1-3): 山田
b) Treat all objects as if they could be nil (pp. 3-6): 寺井
c) Avoid Ruby's cryptic Perlisms (pp. 6-9): 三宅
April 29 (Saturday, lectures held, Shōwa Day) (minutes: 山田)
d) Be aware that constants are mutable (pp. 9-12): 中里
e) Pay Attention to run-time warnings (pp. 12-16): 大庭
f) Know how Ruby builds inheritance hierarchies (pp. 17-24): 鈴木
May 3: Golden Week Holiday
May 10 (minutes: 中里)
g) Be aware of the different behaviors of super (pp. 24-28): 山﨑
h) Invoke super when initializing subclasses (pp. 28-31): 下平
i) Be alert for Ruby's most vexing parse (pp. 31-35): 宮本
May 17 (minutes: 宮本)
A) Classes, Objects, and Modules, items 10/11 (pp. 35-43): 三宅
B) Classes, Objects, and Modules, items 12/13 (pp. 43-53): 鈴木
May 24 (minutes: 三宅)
C) Classes, Objects, and Modules, items 14/15 (pp. 53-58): 中里
D) Collections, items 16/17 (pp. 59-66): 大庭
May 31 (minutes: 大庭)
E) Collections, items 18/19 (pp. 66-74): 下平
F) Collections, items 20/21 (pp. 74-84): 山田
June 7 (minutes: 鈴木)
G) Exceptions, items 22/23 (pp. 85-94): 寺井
H) Exceptions, items 24/25 (pp. 94-100): 宮本
June 14 (minutes: 寺井)
I) Exceptions, items 26/27 (pp. 100-106): 山﨑
aa) Metaprogramming, items 28/29/30 (pp. 107-122): 三宅
June 21 (minutes: 下平)
bb) Metaprogramming, items 31/32 (pp. 122-133): 大場
cc) Metaprogramming, items 33/34/35 (pp. 133-144): 鈴木
June 28 (minutes: 鈴木)
dd) Testing, items 36/37 (pp. 145-152): 宮本
ee) Testing, items 38/39 (pp. 152-162): 山﨑
July 5 (minutes: 宮本)
ff) Tools and libraries, items 40/41 (pp. 163-170): 山田
gg) Tools and libraries, items 42/43 (pp. 170-178): 下平
July 12 (minutes: 宮本)
hh) Tools and libraries, items 44/45 (pp. 179-189): 寺井
ii) Tools and libraries, items 46/47/48 (pp. 189-200): 中里
July 19: Research on Ruby at the Software Lab
(July 26 - August 2: Term final exams)