Kids,Ruby,Fun!
Introduction of the
Smalruby and the Ruby
Programming
Shounendan
Kouji Takao and Nobuyuki Honda,The Ruby Programming Shounendan,RubyKaigi 2014, 09.19.2014
Nobuyuki HondaA chief education officer ofthe Ruby Programming shounendan
[email protected]@nobyuki本多 展幸
Kouji TakaoA leader of the Ruby ProgrammingShounendan, CRuby commiter
[email protected]@takaokouji高尾 宏治
Kouji TakaoA leader of the Ruby ProgrammingShounendan, CRuby commiter
[email protected]@takaokouji高尾 宏治
Nobuyuki HondaA chief education officer ofthe Ruby Programming Shounendan
[email protected]@nobyuki本多 展幸
Kouji TakaoA leader of the Ruby ProgrammingShounendan, CRuby commiter
[email protected]@takaokouji高尾 宏治
Nobuyuki HondaA chief education officer ofthe Ruby Programming shounendan
[email protected]@nobyuki本多 展幸
Sponsored by
NaCl
NaCl is
SIer
NaCl has
30Rubyists
NaCl has
6Commiters
Pleasecome tovisit out
NaCl♪
Kids,Ruby,Fun!
Introduction of the
Smalruby and the Ruby
Programming
Shounendan
Kouji Takao and Nobuyuki Honda,The Ruby Programming Shounendan,RubyKaigi 2014, 09.19.2014
The RubyProgramming ShounendanRuby プログラミング少
年団
Ruby programming event for kidsand parents1 日 Ruby プログラミング体験 in 松江毎月第3日曜日
Introduce Ruby,Once a month
The Ruby Programming ShounendanRuby プログラミング少年団
The Boy & Girl Scouts forRuby programming
Ruby を対象としたスポーツ少年団
≒
Team
チーム
Coach
コーチContest
大会
Programming education
プログラミング教育
U.K. Compulsory education
義務教育
Overseas countries 海外の状況
U.S.20,000 Teachers
etc…
Compulsory educationプログラミングが必須化 / 中学校 / 2012
年~
Japan日本の状況
松江市
全市立中で Ruby 授業16 年度から人材育成と IT 振興へ
2014 年 9 月 4 日付の山陰中央新報より
1 Computer / 1 Person生徒 1 人に 1 台のコンピュータ / ~ 2020
年
Japan日本の状況
Japan日本の状況
PEG
TENTO
Life is Tech!
by MIT Media Lab
http://vimeo.com/65583694
A Programmer’s
Best Friend
Ruby is
and
Kids
EnglishKeyboard
But Japanese kids…
Smalrubyスモウルビー
Demo
Visual editor・ Rails・ Blockly
RuntimeWindows : DXRuby
Mac,Linux : dxruby_sdl, Ruby/SDL
Instruction Block
Ruby
http://code.google.com/p/blockly/
Blockly.Blocks['motion_move'] = { init: function() { this.setColour(208); this.interpolateMsg('%1 歩動かす ', ['STEP', ['Number'], Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); }};
Define Instruction Block
/app/assets/javascripts/blocks/motion.js.coffee.erb( 歩動かす =
move)
Blockly.Ruby['motion_move'] =function(block) { var arg = Blockly.Ruby.valueToCode(this, 'STEP', Blockly.Ruby.ORDER_NONE); return 'move(' + arg + ')';};
Generate Ruby from Block
/app/assets/javascripts/blocks/motion.js.coffee.erb
Kids want to
challenge!
( 歩動かす =
move)
Instruction Block
Ruby
“Blockly’s XML”
Ruby
( 歩動かす =
move)
class MotionMove < CharacterMethodCall blocknize '^\s*' + CHAR_RE + 'move\((.+)\)\s*$', statement: true, inline: true
def self.process_match_data(md, context) md2 = regexp.match(md[type]) add_character_method_call_block( context, md2[1], new, STEP: md2[2]) true endend
Translate Block from Ruby
http://mashable.com/2014/05/20/surface-pro-3-macbook-air-compared/
Programming Creativity and
Logical thinking
We think…
>
Emacs icon : http://ochiailab.blogspot.jp/2013/04/powerlineelemacs.htmlVim Icon : http://www.vim.org/index.php
Sublime Text icon : http://blog.livedoor.jp/nonprofessional/archives/1004031653.html
ConclusionThe Ruby ProshouProgramming educationSmalruby
まとめプログラミング少年団
プログラミング教育スモウルビー
Welcome
Developers,WorkshopOwners
A Programmer’s
Best Friend
Ruby is
and
Kids