Information Technology Seminar I: Schedule

Polished Ruby Programming

Build better software with more intuitive, maintainable, scalable, and high-performance Ruby code

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

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

Chapter and page numbers refer to Polished Ruby Programming, Jeremy Evans, Pact Publishing, 2021.

April 6
Introduction: Martin J. Dürst
Homework for April 13: Install Ruby (install the latest versions of Ruby 3.1 (or Ruby 3.0) from RubyInstaller (+Devkit), or make sure that your cygwin installation includes a recent Ruby version). Bring your notebook PC with you on April 13.
For a gentle introduction to Ruby, please also see Programming Basics II (2011).
April 13 (Martin J. Dürst)
Introduction to Ruby
April 20 (minutes: 松澤)
Getting the Most out of Core Classes (pp. 3-24): 福永
Designing useful Custom Classes (pp. 25-41): 小林
April 27 (minutes: 福永)
Deciding on Larger Classes or more; Proper Variable Usage (pp. 42-65): 柴田
Learning how to best use instance variables (pp. 65-92): 佐田
May 4: Greenery Day, no lectures
May 11 (minutes: 柴田)
Methods and their Arguments (pp. 93-112): 渡辺
Keyword arguments, block arguments (pp. 112-138): 松澤
May 18 (minutes: 小林)
Handling Errors (pp. 140-165): 丸川
May 25 (minutes: 小林)
Formatting Code for Easy Reading (pp. 167-180): 野島
Designing your Library (pp. 183-201): Summary by Martin Dürst
June 1 (minutes: 丸川)
a: Designing for Extensibility (pp. 203-230): 佐田
b: Metaprogramming and When to Use It (pp. 231-249++): 柴田
June 8 (minutes: 佐田)
c: Designing useful Domain-Specific Languages (pp. 251-265++): 福永
d: Testing to Ensure Your Code Works (pp. 267-283++): 渡辺
June 15 (minutes: 渡辺)
e: Handling Change (pp. 285-306): 松澤
f: Using Common Design Patterns (pp. 307-333++): 野島
June 22 (minutes: 野島)
g: Optimizing your Library (pp. 335-352++): 小林
h: The Database is Key,... (pp. 355-376): 丸川
June 29:
i: Structuring with monoliths,... (pp. 376-396): TBD
July 6: Research at the Software Lab
July 13: Research at the Software Lab
July 20: Research at the Software Lab