Information Technology Seminar I: Schedule
Understanding Computation
Aoyama Gakuin University, Summer 2018, Martin J. Dürst (last updated
2018-07-18) 
(links to presentations and minutes are only accessible with a password)
Chapter and page numbers refer to Understanding Computation - From
Simple Machines to Impossible Programs, Tom Stuart, O'Reilly, 2013.
Code for this book is available at https://github.com/tomstuart/computationbook
(use Download
ZIP if you don't want to install git). To execute, move to the directory
where the code is and start irb with irb --simple-prompt. Once in
irb, use require 'absolute_program_name' or
require_relative 'relative_program_name'.
  - April 11
- Introduction: Martin J. Dürst
- Homework for April 18: Install Ruby (install the latest versions of
      Ruby 2.5 (or Ruby 2.4) from RubyInstaller (including
      Devkit), or make sure that your cygwin installation includes a recent
      Ruby version)
 
- For a gentle introduction to Ruby, please also see Programming Basics II
      (2011)
- April 18 (Martin J. Dürst)
- Introduction to Ruby (pp. 1-14 + Learning Rails, Logic and
      Conditionals, pp. 340-347)
- April 25 (minutes: 久田)
- a) Programs and Machines (pp.
      15-32): 小野
- b) Statements (pp. 33-48):
      高橋
- May 2 (minutes: 小野)
- c) Denotational Semantics (pp.
      49-62): 原田
- d) The Simplest Computers (pp.
      63-79): 高田
- May 9 (minutes: 高橋)
- e) Regular Expressions (pp.
      79-94): 立川
- f) Equivalence and
      Minimization (pp. 94-103): Schalkwijk
- May 16 (minutes: 原田)
- g) Just Add Power (pp. 105-118):
      東
- h) Nondeterministic Pushdown
      Automata (pp. 118-134): 澤浦
- May 23 (minutes: 高田)
- i) The Ultimate Machine (pp.
      135-147): 伊藤
- j) Nondeterministic Turing
      Machines (pp. 147-158): 稲葉
- May 30 (minutes: 立川)
- k) Computation and
      Computability (pp. 159-174): 前川
- l) Numeric Operations (pp.
      174-192): 久田
- June 6 (minutes: 前川)
- A) Advanced Programming
      Techniques (pp. 192-206): 原田
- B) Universality is Everywhere
      (pp. 207-224): 東
- June 13 (minutes: 伊藤)
- C) Iota, Tag Systems (pp.
      224-235): Schalkwijk
- D) Cyclic Tag Systems (pp.
      235-251): 小野
- June 20 (minutes: Schalkwijk)
- E) Impossible Programs (pp.
      253-269): 立川
- F) Decidability (pp.
      269-284): 高橋
- June 27 (minutes: 東)
- G) Programming in Toyland (pp.
      285-296): 稲葉
- H) Implementation (pp.
      296-308): 澤浦
- July 4 (minutes: 澤浦)
- I) Ruby Gems: Main parts of Rubygems Guides (presentation): 久田
- J) Bundler: Various pages from bundler.io, How
      does Bundler bundle? (presentation): 高田
- July 11 (minutes: 稲葉)
- K) SVuGy
      - Exploring the Space between Procedural and Declarative Graphics (presentation): 前川 
- L) Ruby on Rails: The Rails
      Doctrine (presentation):
    伊藤
- July 18: Research at the Software Lab (reports by B4/M1/M2 students and
  interns):
- 
        - Timothy Bell (intern): Managing Secret Keys in Ruby on Rails
- Akira Uchiyamada (intern): A strong Typing System for Ruby
- Keita Sugiyama (M1): Extension of the Ruby Stack
- Soichiro Yashiki (M2): A REST-based Framework for WebSockets 
- Nozomi Kikuchi (M1): Graphs and Charts with SVuGy
- Martin Dürst: Improvement of Unicode Property Processing in Ruby
          (work done with Takumi Koyama)
 
- (July 25: makeup classes)
- (July 26 to August 2: Term final exams)