7営業日目

 本日は9名の参加でした。

https://codecombat.com/
https://codecombat.com/

 5年生4人はCodeCombat(コードコンバット)にチャレンジです。見た目はファンタジーロールプレイングゲームですが、本格的なプログラミングを学べます。

 言語はJavaScript(ジャバスクリプト)とPython(パイソン)から選択出来ます。こちらではソースコードの読みやすさや汎用性の高さからPythonを使用しています。PythonはGoogle(グーグル)の主要言語に採用されており、また、DeepLearning(ディープラーニング)のような人工知能・機械学習の分野での採用も多く、現在最も注目されている言語の一つです。

PythonSyntaxGuide
PythonSyntaxGuide

 そして何より重要なことですが、とにかく楽しいです! 最初は武器も防具も持たない逃げ回るだけのヒーローですが、課題をクリアする度にアイテムやジェムを獲得し、だんだん強くなって行きます。子供たちはヒーローが敵に負けないよう、プログラミングしていきます。関数名や変数名が英語表記になっているので少し難しいところもありますが、みんな集中してコーディングしています。

 楽しく学習できるので、時間になっても「あとこれだけ」「これが終わったら」となかなか終わりません。普段の勉強もこうなら...とつい思ってしまいます。

 同じ時間帯の反対側では2年生2人がタイピング練習です。先週に引き続き、お兄ちゃんと一緒の参加です。

BlocklyGames
BlocklyGames

 午後は3年生1名と4年生1名。4年生は2回目の体験です。今回から本格的にBlocklyGames(ブロックリーゲームス)にチャレンジしていきます。

 BlocklyGamesはGoogleが提供しているプログラミング教育の為のゲームです。プログラミング経験のない子供の為に設計され、これらのゲームをクリアすることにより、プログラミングに必要な考え方やスキルが身に付きます。アカウント作成不要なので興味のある方はチャレンジしてみて下さい。

 「迷路」のレベル9をクリアーしたので、今回は「鳥」にチャレンジ。学習目的は「条件分岐」です。

 様々なシチュエーションで親鳥が虫を捕まえて巣に帰れるようプログラミングします。レベル3くらいまでは簡単ですが、レベルが上がるに従い条件もより複雑になっていきます。

「座標の概念」や「変数の評価」も加わって難しいですが、それでも集中して課題に取り組んでいます。

(写真は3年生です。2人一緒の写真を撮り忘れてしまいました...)

BlocklyGames_Bird_Level_03
BlocklyGames_Bird_Level_03

 こちらはレゴパワーファンクションを使ってのリモコンカー制作。細かい説明は省略して、とにかく作ります。本来であればモーターの種類やギア比についてなど、教えることは沢山ありますが、「理屈は後から、とにかく手を動かす」という方針のもとせっせと作ります。

 で、1時間でなんとか完成したのがこれ。サーボモーターによるフロントステアリング機構を持つ後輪駆動車です。意外と本格的な作りになっているのですが…うまく走りません。自重に比べて全体の構造が貧弱で、モーターの力がタイヤにうまく伝わらないのです。

 この辺が物理的な構造を持つものの難しいところで、理屈では上手くいくと思っていても、実際に動かすと予想外の原因で上手くいかないという...(単に私の経験が浅いだけで、構造や強度は基本中の基本なのですが)また次回チャレンジです。