<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>プログラミング教育 on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%95%99%E8%82%B2/</link>
		<description>Recent content in プログラミング教育 on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 08 Jun 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%95%99%E8%82%B2/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>EndBASIC - Rustで書かれたBASICインタプリタ&#43;環境</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/</link>
				<pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/</guid>
				<description>&lt;p&gt;フリオ・メリノさん(Julio Merino)による&lt;a href=&#34;https://www.endbasic.dev/&#34;&gt;BASIC処理系プロジェクト EndBASIC&lt;/a&gt;は、新たに書き起こされたBASICインタプリタに、MS-DOS風のコマンドラインを組み合わせたBASIC言語の処理系です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.endbasic.dev/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-top_hu_975fbcd13bc1b694.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-top_hu_8e9d56115d902345.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-top_hu_5c19793aeb107553.webp 981w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-top.png&#34; width=&#34;981&#34; height=&#34;908&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;EndBASIC サイトトップ&lt;/p&gt;&#xA;&lt;p&gt;BASIC としての文法や機能は、Amstrad CPC という1980年代の8bitパソコンで動いた&lt;a href=&#34;https://en.wikipedia.org/wiki/Locomotive_BASIC&#34;&gt;Locomotive BASIC&lt;/a&gt;や、&lt;a href=&#34;https://ja.wikipedia.org/wiki/QuickBASIC&#34;&gt;マイクロソフトのQuickBASIC&lt;/a&gt; を意識したものとなっているそう。&lt;/p&gt;&#xA;&lt;p&gt;Linux/MacOS/Windows のバイナリをダウンロードして手元で動かすこともできますが、&lt;a href=&#34;https://repl.endbasic.dev/&#34;&gt;ブラウザ上でも動く環境が公開&lt;/a&gt;されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://repl.endbasic.dev/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-on-chrome_hu_41396642765eeaee.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-on-chrome_hu_d6576c46b00b13b6.webp 676w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-on-chrome.png&#34; width=&#34;676&#34; height=&#34;247&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Rust で書かれた処理系が WebAssembly で動いているということで、昔からあるBASIC 言語を最新の技術と組み合わせているんですね。QuickBASIC で書かれたプログラムを少し直してウェブで公開、なんてことにも使えるかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;環境にはCUIエディタも内蔵されており、編集したファイルは環境内に保存することもできます。フラットに保存しファイル名で区別。ディレクトリについては今後の実装を検討ということ。また「ドライブ」を複数作ることができるのでドライブでの整理もできそうです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-sample_hu_eaea25b1beb65799.webp 431w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/06/endbasic-interpreter-by-rust/endbasic-sample.png&#34; width=&#34;431&#34; height=&#34;348&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;EndBASIC のサンプルコード&lt;/p&gt;&#xA;&lt;p&gt;BASIC言語ではよくある行番号機能は、GO TO 命令と共に省かれています。&lt;a href=&#34;https://www.endbasic.dev/docs.html#lang-goto&#34;&gt;そのうち実装するかもということ&lt;/a&gt;ですが、分岐とループ命令でおおかたは問題ないかと思います。&lt;/p&gt;&#xA;&lt;p&gt;面白いのは&lt;a href=&#34;https://www.endbasic.dev/docs.html#cloud&#34;&gt;クラウド対応機能&lt;/a&gt;で、ユーザー登録するとユーザー名以下に置いたファイルを他ユーザーと共有できるようになります。&lt;/p&gt;&#xA;&lt;p&gt;Raspberry PI で動かした時は&lt;a href=&#34;https://www.endbasic.dev/docs.html#hw-gpio&#34;&gt;GPIO&lt;/a&gt;にアクセスできる命令が提供されていて、ボタンやLEDなどの入出力が使えるそう。これも教育用としてよさそう。&lt;/p&gt;&#xA;&lt;p&gt;今はプログラミングに入門する時の言語も多数候補がありますが、昔は入門言語といえばBASICが主流ということもありました。プロジェクトでは、プログラムとプログラムを動かす環境が最小限でセットになっていることで、セットアップの苦労なしにプログラミングの学習ができるようにすることを目指しているそう。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=31651881&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>ROWS &amp; TABLES - SQLカードゲーム</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/</link>
				<pubDate>Wed, 13 Apr 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://rowsandtables.com/&#34;&gt;ROWS &amp;amp; TABLES&lt;/a&gt; は、SQL をテーマにしたカードゲームです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rowsandtables.gumroad.com/l/sql_game&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/RnT_Banner_hu_130d6e911154fe1f.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/RnT_Banner_hu_82463aa1eb7ab752.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/RnT_Banner_hu_3acb92fa010077c6.webp 2200w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/RnT_Banner.png&#34; width=&#34;2200&#34; height=&#34;280&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;ゲームに含まれるカードは大きくわけて4種類。Insert, Delete, Select, Update です。&lt;/p&gt;&#xA;&lt;p&gt;各プレイヤーに3枚の手札を配り、時計回りにプレイします。自分のターンになったらまず山札から一枚引いて、場に出すカードを選びます。&lt;/p&gt;&#xA;&lt;p&gt;Insertカードの片面はデータになっていて、トラとかテディベアとかのentry と、所有者 owner 、カテゴリー category が記載されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/rows-and-tables-data-card-sample.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/rows-and-tables-data-card-sample_hu_1849872999d136c4.webp 380w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/04/rows-tables-sql-card-game/rows-and-tables-data-card-sample.png&#34; width=&#34;380&#34; height=&#34;308&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;自分の場にデータカードを Insert で増やしていきます。&lt;/p&gt;&#xA;&lt;p&gt;Select カードを使うと、category で指定した場のデータカードで条件にあったものを、場から下げて獲得することができます。一旦獲得してしまったデータカードは、今後他のプレイヤーから奪われることがありません。&lt;/p&gt;&#xA;&lt;p&gt;他の2種類のカードは、他のプレイヤーとのやりとりになります。&lt;/p&gt;&#xA;&lt;p&gt;Delete カードでは、カラムの条件を指定することで場に出ているカードを廃棄させます。うまく他プレイヤーが多く出している条件を指定することで、自分が有利になるわけですね。&lt;/p&gt;&#xA;&lt;p&gt;Update カードは、データの 内容を where で指定し、owner を「自分」に変更することで、他人が場に出したデータを奪うことができます。相手のデータを減らして自分につけることができるので、効果は大きそうです。&lt;/p&gt;&#xA;&lt;p&gt;これらのカードを使い、場でデータを集め、うまく Select で手中に確保し、最後にすべてのカードを使った後に場と獲得したカードの枚数が一番多い人が勝利者となります。&lt;/p&gt;&#xA;&lt;p&gt;ゲームの解説動画はこちら。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/cxwN8V6Pt0I?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;このカードゲームは1セット $15 、4セットだと$40 ということです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Oh My Git! - git の使い方を学べるゲーム</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/</link>
				<pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://ohmygit.org/&#34;&gt;Oh My Git!&lt;/a&gt; は、バージョン管理ツール git の使い方を学ぶためのゲームです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ohmygit.org/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git_hu_4257690d981cc96d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git_hu_9d48ab1ee8d04259.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git_hu_292b1f274d7829b0.webp 2001w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git.png&#34; width=&#34;2001&#34; height=&#34;1587&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;中央にgitツリーのグラフが表示され、手元にはgitコマンドを表すカードが配られます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-git-init.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-git-init_hu_45e59929208fd467.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-git-init_hu_2d823c63dd18f47a.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-git-init_hu_83feb14a0bd1c01d.webp 981w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-git-init.png&#34; width=&#34;981&#34; height=&#34;467&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;カードを使わずに右側のターミナルでコマンドライン操作することも可能。お題で出てきた課題を満たすためのカード/コマンドを正しく実行すると、右側の達成項目が緑に反転し、すべて達成すればそのレベルはクリアです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-first-commit.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-first-commit_hu_bf47d770b505185e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-first-commit_hu_a5f24dd075e8b334.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-first-commit_hu_5acf103184e6632a.webp 1389w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-first-commit.png&#34; width=&#34;1389&#34; height=&#34;880&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;commit を指定し、そこにカードを捨てることでカード上のコマンドを適用。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-merge.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-merge_hu_1cb9014f99347b4c.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-merge_hu_d5a63107b355465e.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-merge_hu_7fcf74563d1279d7.webp 1072w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-merge.png&#34; width=&#34;1072&#34; height=&#34;814&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;levels にあるステージ一覧から、好きな項目について遊ぶことが可能です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-stages-list.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-stages-list_hu_117d36c5c1ccb6c5.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-stages-list_hu_f8482b0929213439.webp 606w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/02/oh-my-git-learning-game/oh-my-git-stages-list.png&#34; width=&#34;606&#34; height=&#34;756&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;カードを使っても解けますが、コマンドラインで解くと右端のボックスを黄色にすることができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/git-learning-game/oh-my-git&#34;&gt;ソースコードは GitHub で公開&lt;/a&gt;されていて、バイナリ版も &lt;a href=&#34;https://blinry.itch.io/oh-my-git&#34;&gt;Windows, MacOS, Linux 向けに提供&lt;/a&gt;されています。&lt;/p&gt;&#xA;&lt;!-- Legacy embedded HTML preserved:&#xA;&lt;iframe src=&#34;https://itch.io/embed/808810&#34; height=&#34;167&#34; width=&#34;552&#34; frameborder=&#34;0&#34;&gt;&lt;a href=&#34;https://blinry.itch.io/oh-my-git&#34;&gt;Oh My Git! by blinry, bleeptrack&lt;/a&gt;&lt;/iframe&gt;&#xA;--&gt;&#xA;&lt;p&gt;テキストファイルで新たなlevelを自作することも可能で、必要な学習項目が無ければ追加することもできるようです。&lt;/p&gt;</description>
			</item>
			<item>
				<title>コンピューター無しで子供にプログラミング体験させるキット</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/</link>
				<pubDate>Fri, 13 Apr 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/space-race-game-site.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/space-race-game-site_hu_41c2737ff9d94963.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/space-race-game-site_hu_498753e4652eed0c.webp 768w, https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/space-race-game-site_hu_b34d30268f815fa8.webp 998w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/04/programming-experiences-on-paper/space-race-game-site.png&#34; width=&#34;998&#34; height=&#34;629&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;Space Race Game for Student&lt;/a&gt;は、印刷して使えるプログラミング体験キットです。&lt;/p&gt;&#xA;&lt;p&gt;地球や月、人工衛星や宇宙人の駒と、「進め」「左折」「n回繰り返す」「もし□なら」といった命令パーツが一枚の紙にカラーでデザインされていて、切り離して使います。&lt;/p&gt;&#xA;&lt;p&gt;碁盤上のボードに駒を配置し、たとえば「地球から月へ、宇宙船などにぶつからずに行く」みたいな問題を出し、それを命令パーツを組み合わせて実行するゲームとなっています。簡単な問題を出し、審判をしてあげれば、すぐに子供同士で遊べるようになるのではないでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;子供向けのロボット/プログラミング教育の研究会に子供を連れて行ったことがあり、そこでいろいろなロボットを体験させてもらったのですが、その中にはこのキットの内容とほぼ同じことを実際のロボットで実行するというものもありました。&lt;/p&gt;&#xA;&lt;p&gt;ロボットの上に命令ブロックを差し込んで並べる形でプログラミングをし、大きなボードの上で動かして障害物を避けられるか確認する、といったものです。&lt;/p&gt;&#xA;&lt;p&gt;うちの子も楽しく遊んでいて、もし買ってもらえるとなれば間違いなく喜んだことでしょう(教育の研究会なので販売とかはしていなかった)。ただ、このロボットでできるプログラミングの複雑さを考えると、買って家に置いたとしてもそう長いことは遊べないかな、と。おもちゃとしては高価なので、科学館や児童館などに有って、順番にいろんな子供が体験でき、指導できる大人もついていればいいのかなと感じました。&lt;/p&gt;&#xA;&lt;p&gt;価格の面からいえば、このような紙のキットで、プリンターの印刷代だけでほぼ同じことはできますね。プログラミングというものを体験してもらう最初の最初、子供がそっち方面に興味がありそうかどうかを見るのにいいかなと思いました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Codespell - Java言語がそのまま呪文となる教育用3Dゲーム</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/</link>
				<pubDate>Wed, 10 Apr 2013 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/</guid>
				<description>&lt;p&gt;カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した &lt;a href=&#34;https://sites.google.com/a/eng.ucsd.edu/codespells/&#34;&gt;Codespell&lt;/a&gt; は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。&lt;/p&gt;&#xA;&lt;p&gt;Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった&lt;a href=&#34;https://sites.google.com/a/eng.ucsd.edu/codespells/home/level-1-spells&#34;&gt;7つの手持ちの呪文&lt;/a&gt;を使って、ノーム達を助け、&lt;a href=&#34;https://sites.google.com/a/eng.ucsd.edu/codespells/home/level-1-quests&#34;&gt;火を消したり川を渡ったりといったクエスト&lt;/a&gt;を解き、バッヂを獲得するのがゲームの目標です。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ゲームプレイ&#34;&gt;ゲームプレイ&lt;/h3&gt;&#xA;&lt;p&gt;3D世界の岩が燃えていますが、&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://developer.cybozu.co.jp/akky/2013/04/codespell-java-learning-3d-game/codespell-target/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target_hu_bed007c5726f5fab.webp 480w, https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target_hu_1915a4584dbc4535.webp 618w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target.png&#34; width=&#34;618&#34; height=&#34;308&#34; alt=&#34;codespell-target&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;岩オブジェクトというターゲットオブジェクトに対して onFire()メソッドにfalseを渡す、という呪文を呼ぶプログラムを書き、実行することで、&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://developer.cybozu.co.jp/akky/2013/04/codespell-java-learning-3d-game/codespell-target-program/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-program_hu_fbf2d744d8602303.webp 480w, https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-program_hu_53b6dfa2bf8077e9.webp 639w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-program.png&#34; width=&#34;639&#34; height=&#34;309&#34; alt=&#34;codespell-target-program&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;燃えていた岩の火が消える、という例が&lt;a href=&#34;https://www.youtube.com/watch?v=TslR9CG6yKI&#34;&gt;デモ動画&lt;/a&gt;で紹介されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://developer.cybozu.co.jp/akky/2013/04/codespell-java-learning-3d-game/codespell-target-extinguish/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-extinguish_hu_6c4851709512c3a9.webp 480w, https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-extinguish_hu_4422dc7dfdeb4753.webp 638w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2013/04/codespell-java-learning-3d-game/codespell-target-extinguish.png&#34; width=&#34;638&#34; height=&#34;307&#34; alt=&#34;codespell-target-extinguish&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;プログラミングの達人を昔からWizard、魔法使い、といいますが、ここでは、プログラムがそのまま魔法であるような仮想空間を作りこんだ、ということですね。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ゲームの教育効果&#34;&gt;ゲームの教育効果&lt;/h3&gt;&#xA;&lt;p&gt;これを開発した研究者たちが、プログラミング経験がまったく無い10歳から12歳の女子40名にこのゲームを遊ばせたところ、少女たちは一時間もしないうちにJavaの基本的な構造を把握し、自分たちで新しい遊び方をプログラミングしたということです。たとえば、呪文(プログラム)を間違えてターゲットのオブジェクトを空中高く、届かないところに持ち上げてしまったグループは、自身を他のオブジェクトの上からジャンプさせるコードを書いて、ターゲットに次の呪文を掛けることができるようにしたそうです。&lt;/p&gt;&#xA;&lt;h3 id=&#34;入手方法&#34;&gt;入手方法&lt;/h3&gt;&#xA;&lt;p&gt;ゲームはオープンソースで公開され、マック版は&lt;a href=&#34;https://sites.google.com/a/eng.ucsd.edu/codespells/downloads&#34;&gt;バイナリがダウンロードできます&lt;/a&gt;。Windows版も近々リリースされるということ。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/TslR9CG6yKI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;via &lt;a href=&#34;http://www.jacobsschool.ucsd.edu/news/news_releases/release.sfe?id=1347&#34;&gt;UC San Diego Computer Scientists Develop First-person Player Video Game that Teaches How to Program in Java&lt;/a&gt; via&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
