はじめに
本記事はNSSOL Advent Calendar 2023の16日目の記事です。はじめてNSSOLのアドベントカレンダーに参加しました。拙い文章ですが、よかったら読んでみてください。
急速に進むプログラミング教育
2022年4月より高等学校で「情報Ⅰ」が必修化されることが以前話題となったが、実は小中学校においても既にプログラミング教育は必修化されている。(小学校では2020年、中学校では2021年より)
下記資料によると、小学校では算数や理科の授業内で論理的思考力を養うという。例では図形を書く方法をビジュアルプログラミング言語であるScratchを用いて導く問題が挙げられている。
私は大学生時代に小学生向けプログラミング教育のボランティアをした経験があり、実際に似たような問題を教えたこともあった。
未来のエンジニアから学んでみよう
ボランティアをした際も、ITネイティブな小学生たちのプログラミングスキルには関心させられた。中にはfor文を知っていてプリントに書いている子もいて、彼らが大人になる頃には私はカタコトなプログラミングを書くおっさんになるのかもしれない……と恐れ慄いた。
そんな将来有望な小中学生エンジニアから学べることはたくさんあると思う。この記事ではScratchで公開されている面白いプロジェクトを紹介する。
Scratchとは
Scratchは子供向けの教育用ビジュアルプログラミング言語であり、ブロックを並べるようにしてコードを記述していく。
下記ページからコードの作成ができるので、触ったことのない方は遊び感覚で触ってみると面白いと思う。
作成したプロジェクトは公開することができ、他の人はコードを見たり、自分の作品として改造ができるリミックスをすることができる。明らかに大きいお友達が作ったであろうクオリティの高いゲームが並ぶが(スイカゲーム再現しているのとか、3Dゲームはかなりすごい)、なるべく子供っぽいものを探していくことにする。
以下の理由から原則、公開されたプロジェクトのコードは閲覧できるらしい。
「中を見る」ボタンを消し、リミックスできなくするオプションが欲しいと思っている人もいる。それは次のような理由からである:
・ただのコピーのプロジェクトが作られないように多くの努力をしている場合。
・どのように動いているか見られたくない場合。
・コードをいじってゲームをしてほしくない場合。
教師が、生徒たちに他人のソースコードをみて課題を解いてほしくない場合。
しかし、Scratchチームは創造的な学習機能を取り除きたくないため、これらの提案は今のところ実現されていない。リミックスを禁止することは、Scratchのモットー「Imagine, Program, Share」(想像、プログラム、共有)に反する上、Scratchのクリエイティブ・コモンズ・ライセンスにも反する。
このポリシーはとても良いと思う。複数人で開発をすることになれば自分の書いたコードを共有することは当たり前だし(それが途中だったり、自分が考えたすごいコードでも)、世の中にOSSはありふれている。
爆笑アニメ _ 第1話 野球
野球のアニメーション。
最後のTo Be Continued が出てくるタイミングが面白いなと思った。矢印が出現するまでと、矢印が出現するときの音楽が別々に用意されているのだが、絶妙なバランスでうまくつながっていた。矢印が出現すると他のスクリプトをストップさせてTo Be Continuedのミームを再現しているのもよい。そんなこともできるんだ。
計算クイズ~1.7~
小学生らしさが感じられてめちゃくちゃ良い。
正解した数をカウントしていて最後に全問正解かの判定をしているところがすごい。正解の場合と不正解の場合で犬の反応が変わるのも面白かった。
Mario Clicker
プロフィールに10歳と書いてあってびっくりした。クオリティが高すぎる。クリックと放置をするだけのシンプルなゲームではあるが、能力を強化できるのが楽しい。ショップメニューの表示、どうやっているんだろう。コードを読んでも分からなかった。
つい、Achievementをすべてクリアしてしまった
終わりに
意外とクオリティが高すぎるプロジェクトが目立ち、子供が作っていそうなものをあまり発見できなかった。普通にスイカゲームで遊んでいたら書く時間がなくなった
タイトルに未来のエンジニアと書いたが、彼ら彼女らは既に僕より立派なエンジニア/プログラマーなのかもしれない……