+ All Categories
Home > Technology > (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in...

(beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in...

Date post: 30-Jun-2015
Category:
Upload: -
View: 443 times
Download: 2 times
Share this document with a friend
Description:
Please see the final version: http://www.slideshare.net/kouji/final-version-kids-ruby-fun-introduction-of-the-smalruby-and-rubyprogramming-shounendan-in-rubyconf-2014 This presentation is called “KIDS, RUBY, FUN!”. I will discuss our activities with the Ruby Programming Shounendan, especially *Smalruby* which is *a key part* of it. This is for RubyConf 2014 in San Diego Nov 19th, 2014.
76
Kids, Ruby, Fun! Introduction of the Smalruby and Ruby Programming Shounendan Kouji Takao, The Ruby Programming Shounendan, RubyConf 2014, 11.19.2014
Transcript
Page 1: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Kids,Ruby,Fun!

Introduction of the

Smalruby and Ruby

Programming

Shounendan

Kouji Takao,The Ruby Programming Shounendan,RubyConf 2014, 11.19.2014

Page 2: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Kody : Kouji Takao• CRuby commiter

(Readline module)• A leader of the

Ruby ProgrammingShounendan

Shounen = Boys & Girls

Dan = Organization

Page 3: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Kody : Kouji Takao• Engineer of NaCl• Network Applied

Communication Laboratory

[email protected]@takaokouji_enFacebook

Page 4: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Made possible by

NaCl

Page 5: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

NaCl is inMatsue, Shimane, Japan

http://en.wikipedia.org/wiki/File:Japan_location_map_with_side_map_of_the_Ryukyu_Islands.svg : Maximilian Dörrbecker (Chumwa) CC-BY-SA 3.0CC by SA

Page 6: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

NaCl is

SIer

Page 7: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

NaCl has

30Rubyists

Page 8: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

NaCl has

6Commiters

Page 9: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Pleasevisit

NaCl♪

Page 10: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

6 years ago,

Page 11: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Started to Teach Ruby for youth

Page 12: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

MotivationsRuby City MATSUE

Project

Teach my son Ruby

Page 13: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Matsue MayerMasataka MatsuraImage from http://www.matsuura-m.jp/

Ruby City MATSUE Project

• By Matsue-city• Promote IT Business• Increase Rubyists• Find Ruby teachers

Page 14: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Teach my son Ruby• Love Ruby

• Love IT Engineering• Make materials for

teaching Ruby to youth

Page 15: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Find Ruby teachers

Make materials for teaching

Ruby to youth+

Started to Teach Ruby for youth

Page 16: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Since then

1% / yearin Matsue-city

Page 17: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

A Programmer’s

Best Friend

Ruby is

and

Kids?

Page 18: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

• Typing• English• Ruby Syntax

Problems

Page 19: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Recently,Increased

Programming Education

Page 20: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

20,000 Teachers

“Should be a compulsory subject!”

By President Obama

Page 21: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Compulsory educationfor ages 5-16

Concept of algorithmsBuilding and Debugging

It is Practical!

Page 22: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

HOUR OF CODE by Code.org27,230 events around the world

http://hourofcode.com/

1,000 Teachers100,000,000

Kids

Page 23: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Japan

Page 24: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Government

Page 25: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Compulsory Education

Junior high school / Since 2012

Page 26: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Sensor

Motor

Measurement and Control

Page 27: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

1 Computer / 1 Student

~ 2020Ex) Distributed tablets to all 6-12 ages in Saga-city

about 4,000 students

Page 28: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Company

Page 29: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

http://pegpeg.jp/

PEG• Joint project of

CANVAS and Google

• CANVAS hold many workshops for children

• Distributed 5,000 Raspberry Pi

Page 30: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

TENTO

http://www.tento-net.com/

Life is Tech!

http://life-is-tech.com/

Programming education as a Service

= PaaS ;-)

Individualizedinstruction

Boot camping

Page 31: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Why many kids programming

workshops are held?

Great tools and materials!

Page 32: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

by MIT Media Lab

http://vimeo.com/65583694

http://scratch.mit.edu/

Page 33: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Combinationof blocks

= Program

Blocks= Instructions

Page 34: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

English Japanese

Internationalization

Page 35: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Easy to run

Press

Run

Page 36: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

• Typing

• English

• Ruby syntax

Problems

➡Blocks

➡ Internationalization

➡ Combination of blocks

Page 37: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Smalruby(smɔ́Rːrúːbi)

Ruby + Scratch

Hi,I’m Hatti!

Page 38: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Demo

Page 39: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Smalruby(smɔ́Rːrúːbi)

GitHub:smalruby/smalruby-editor

Page 40: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Scratch Features

• Instruction Blocks• Characters and

Stages• Easy to Run

Page 41: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Ruby

Instruction Block

Page 42: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

( 歩動かす =

move)

Instruction Block

Ruby

Page 43: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Kids wanted to code directly!

Page 44: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

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

Page 45: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Now

Page 46: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Experimental programming class using Smalrubyfor 288 studentsin this AprilPhoto from http://business.nikkeibp.co.jp/article/report/20141001/271963/

Page 47: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Madeeducational materialby both teachers who are not IT engineers!

Page 48: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

1 Teacher

Students

Page 49: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

MATSUE CITY

Ruby classes in whole municipal Junior high school

By 09.04.2014/local news paper(Sanin Chuo Shinpo)

Page 50: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

91%Junior high school

students will Learn Ruby

Page 51: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

The RubyProgramming Shounendan

Page 52: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

“Promoting the joy of programming to many kids. “

“Building internet safety awareness for kids through programming!”

Page 53: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Ruby programming events for kidsand parents

Introducing Ruby,once a month

Page 54: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 55: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 56: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 57: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 58: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 59: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 60: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014
Page 61: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

CoderDojo Matsuehttps://coderdojo.com

Free Ruby computer programming club

for Kids,once a month

Page 62: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Ruby Programming Shounendan

Youth Sports Club

≒ Team

CoachTourna-

ment

Page 63: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Welcome

Developers

Page 64: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Visual editor•Rails•Blockly

Page 65: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

http://code.google.com/p/blockly/

Easy to Use• Less Dependency• Small Runtime Size• Simple Installation

Page 66: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

RuntimeWindows:DXRuby

Mac or Linux:dxruby_sdl, Ruby/SDL

Page 67: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Smalrubot• Arduino• Dino

GitHub: austinbv / dino

Page 68: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Blockly.Blocks['motion_move'] = { init: function() { this.setColour(208); this.interpolateMsg(‘move%1steps', ['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)

Page 69: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

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

Page 70: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

( 歩動かす =

move)

Instruction Block

Ruby

Page 71: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

“Blockly’s XML”

Ruby

( 歩動かす =

move)

Page 72: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

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

Page 73: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

Conclusion• Teaching Ruby Motivations• Ruby City MATSUE Project• Teach my son Ruby

• Smalruby• For over 8 years old

• Ruby Programming Shounendan• Learning Ruby Organization for

Boys & Girls

Page 74: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

A Programmer’s

Best Friend

Ruby is

and

Kids

Page 75: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

NOTQ & A

Page 76: (beta version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyProgramming Shounendan - in RubyConf 2014

THANK YOU

Smalruby (smɔ́Rːrúːbi)

GitHub: smalruby/smalruby-editorEmail: [email protected]

Twitter: @smalruby


Recommended