👏

「小学生から楽しむ きらきら Ruby プログラミング」スモウルビーのご紹介

2021/06/20に公開

初めに

ご覧頂き、ありがとうございます。
名古屋でプログラミング講師を致しておりますアトリヱ未來と申します。
普段は、プログラミングを学びたい初心者の方々(小中学生〜大人)を対象に、HTML/CSS や Ruby on Rails、C言語(Arduino) を教えております。
お子様向けのプログラミングのご紹介です。

小学生から楽しむ きらきら Ruby プログラミング (Amazon)

テキストプログラミング言語 と ビジュアルプログラミング言語

プログラミングを構成する要素として、逐次、反復、条件 があります。
例えば、以下のコードです。

puts "Hello World!"

3.times do
  puts "Congratulations! Ruby 3.0!"
end

n = gets.to_i
if n.even?
  puts "偶数です"
else
  puts "奇数です"
end

「おまじない」なしに平易に書けるRubyのおかげで、
プログラミングが分からなくても、英語が読めるならば、ほぼ自明です。

しかしながら、小学生となると、英語が読めません。また、キーボードの入力も大変です。
お子様向けにC言語(Arduino)を教えていますが、ほとんどの子はタイピングはできませんし、コピーはどうするの? など、コーディングする上での基礎的なキーボードの使い方を指導するところから始まります。

そこで、登場したのが、ビジュアルプログラミング言語と呼ばれるGUIベースのプログラミング言語です。
ブロックを組み立てることで、順次、反復、条件の3つがコーディングが可能です。
有名なところでは、スクラッチ(Scratch)があります。

1280px-Scratch_screenshoot_ja.jpg
(画像はWikipediaより引用)

小学校におけるプログラミング教育

プログラミング思考を養い、社会に情報技術が活きていることを学ぶことが目的となっているようです。
プログラミング思考とは、「意図を満たすべく、適宜ブロックが配置できる能力」の事らしく、
要は、アルゴリズムを理解し、逐次、反復、条件で成り立つコードを組み立てられるようになりましょうということのようです。
そして、家電や車など、身の回りの様々な分野で、コンピュータが使われているので、それを動かしているプログラム(=コンピュータへの指示書)を書けるようになりましょう、ということのようです。

文部科学省:小学校プログラミング教育の手引(第三版) を読んだ雑感です)

SmalRuby スモウルビー とは

島根県在住の高尾宏治さん(NPO法人 Ruby プログラミング少年団 理事長)が開発したプログラム言語です。

ブロックによるビジュアルプログラミングと、
テキストによるRubyコーディングが両方できるのが特徴です。

https://smalruby.jp/smalruby3-gui/
をブラウザで開くと体験できます。

スクリーンショット 0002-12-24 23.36.48.jpg

ブラウザベースなので、Mac の他、iPad でも利用可能ですが、
テキストベースでコーディングを行う際には、無線キーボードがあると快適です。
(iPhoneはさすがに画面が小さく難しかったです)

今日から君はプログラマー! プログラミング体験

猫が鼠を追いかけるゲームを作ります。
ドラッグ&ドロップでブロックを組み立てます。
緑の旗を押すと、猫が鼠に向かって動き、「捕まえた」と言います。

スクリーンショット 0002-12-24 22.29.14.jpg

同じプログラムをテキストベースでも書くことができます。

スクリーンショット 0002-12-24 22.30.35.jpg

同じプログラムをコーディングするに際し、
始めてのうちは、ビジュアルプログラミング
学習が進むにつれ、より本格的なテキストベースのRubyプログラミングへと
繋げられるように配慮されている点が、本当に素晴らしいと思います。

ちなみに、両者は連動しているので、
ブロックを操作するのが大変に感じたわたくしは、
キーボードからテキストベースで入力いたしました。

コードのアップロードやダウンロードも可能となっていますので、
教材としての配布も容易で、とても良いと思います。

正多角形を描く

三角形の内角の和は180度です。

四角形は、三角形二個に分割することができますから、
四角形の内角の和は180×2=360度です。
ですので、正四角形(=正方形)の一つの角の大きさは、360 ÷ 4 = 90度 です。

一般にN角形は、三角形(Nー2)個に分割することができますから、
N角形の内角の和は180×(N−2)度です。
ですので、正N角形の一つの角の大きさは、180×(N−2) ÷ N 度 です。

これを踏まえて、正N角形を描くコードは次のようになります。
(ここでは N = 5 として、正五角形を描いています)

スクリーンショット 0002-12-24 22.49.31.jpg
スクリーンショット 0002-12-24 22.49.45.jpg

正八角形を45度ずつ回転させて描くと次のような綺麗な幾何学模様も描くことができます。
スクリーンショット 0002-12-24 23.03.26.jpg

スクリーンショット 0002-12-24 23.03.53.jpg

終わりに

簡単なご紹介でしたが、お子様のプログラミング入門には最適なテキストかと思います。
(教師用の付録として指導上の注意点も巻末に紹介されています)

テキストには、他にも
音楽をつくったり、なぞなぞゲームや、シューティングゲーム、
マイクロビットを使った簡単な電子工作がご紹介されています。

この冬休み、お子様とご一緒にプログラミングを楽しまれてはいかがでしょうか?
みなさまのお役に立てば幸いです。

参考

<a href="https://www.amazon.co.jp/dp/4822286398/">
小学生から楽しむ きらきら Ruby プログラミング (Amazon)
<img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51Su0prA53L.SX352_BO1,204,203,200.jpg">
</a>

<a href="https://smalruby.jp">
NPO法人 Ruby プログラミング少年団
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96314/1c9891eb-5f3d-1676-2562-0e66e69d161e.jpeg">
</a>

Discussion