Information Technology Seminar I: Schedule

Ruby Under a Microscope

An Illustrated Guide to Ruby Internals

Aoyama Gakuin University, Summer 2021, Martin J. Dürst (last updated 2021-07-14)

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

Chapter and page numbers refer to Ruby Under a Microscope - An Illustrated Guide to Ruby Internals, Pat Shaughnessy, no starch press, 2014.

April 7
Introduction: Martin J. Dürst
Homework for April 14: Install Ruby (install the latest versions of Ruby 3.0 (or Ruby 2.7 or 2.6) from RubyInstaller (with Devkit), or make sure that your cygwin installation includes a recent Ruby version). Bring your notebook PC with you on April 14.
For a gentle introduction to Ruby, please also see Programming Basics II (2011).
April 14 (Martin J. Dürst)
Introduction to Ruby
April 21 (minutes: 蒲谷)
Introduction, Tokenization (pp. xix-xxi, 1-12): 野口
Parsing (pp. 12-29): 松本
April 28 (minutes: 野口)
Compilation (pp. 31-53): 伏見
How Ruby Executes your Code (pp. 55-67): 桐山
May 5: Children's Day, no lectures
May 12 (minutes: 桐山)
Local and Dynamic Access of Ruby Variables: (pp. 67-81) 木村
Control Structures (pp. 83-103): 清水
May 19 (minutes: 清水)
Objects and Classes (pp. 105-131): 蒲谷
Method Lookup and Constant Lookup (pp. 133-155): 大可
May 26 (minutes: 大可)
Constant Lookup (pp. 155-165): 山内
June 2 (minutes: 松本)
The Hash Table, experiments (pp. 167-189): 野口
How Ruby Borrowed a Decades-Old Idea from Lisp (pp. 191-217): 木村
June 9 (minutes: 木村)
Metaprogramming, first part (pp. 219-236): 伏見
Metaprogramming, second part (pp. 236-248): 山内
June 16 (minutes: 伏見)
JRuby (pp. 251-271): 松本
Rubinius (pp. 273-292): 蒲谷
June 23 (minutes: 山内)
Garbage Collection Part 1 (pp. 296-308): 大可
Garbage Collection Part 2 (pp. 309-325): 桐山
June 30 (minutes: 大可)
Research at Software Lab: Martin J. Dürst (Unicode Normalization: Standardization history and optimization)
July 7: Research at the Software Lab (minutes: 大可)
Yoshiyuki Shoji, Jinsong Yu
July 14: Research at the Software Lab: Tensho Miyashita, Zizheng Yang, Martin J. Dürst (Unicode properties)
July 21: Research at the Software Lab: Martin J. Dürst