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)