最近、小学生の習い事として、プログラミングが注目されています。
日本では2020年に小学校でプログラミングが必修化になります。過去には、NHKで「why?プログラミング」という子ども向けのテレビ番組が放映していたのをご存知な方もいらっしゃるのではないでしょうか。
小学生の多くはScratch (スクラッチ)を使用しプログラミングを行います。
スクラッチとは、MITが開発したプログラミング学習環境です。
ブロックを組み合わせるだけで作品が作れます。
2019年3月時点で、3700万人のユーザーが世界中で登録しています。
作品に対するフィードバックの難しさ
スクラッチを行う子どもたちに対して作品に対してフィードバックを行う難しさがあります。
例えば
- 指導者はプログラミングスキル面に対して、どうフィードバックをすればいいか
- 子どもたちはプログラミングスキル向上のため、どう改善すれば良いか
という部分です。
指導者は、出来上がった作品のデザインや機能など見た目に対してコメントすることはできますが、
プログラミングの技術的な部分に関しては、すぐにフィードバックすることは容易ではありません。
なぜなら、作品上でどのようにプログラミングを行ったかについては、プログラミングされた中身の部分を確認する必要があるからです。そのような技術的なフィードバックを簡単に自動診断してくれるサイトがあります。
簡単に自動で診断してくれるドクタースクラッチ

ドクタースクラッチは、作品のURLやファイルを読み込むだけで、点数が表示されます。
2015年には、なんとGoogle Rise Awardを受賞しています。
評価項目は7項目の合計21点満点です。
7項目はコンピュテーショナルシンキング(コンピュータ的思考)で構成されており技術的な部分の診断を得ることができます。
このドクタースクラッチを使用した研究は海外でされています。
スペインのレイ・ファン・カルロス大学(1)の研究では100人の10-14歳のスクラッチ経験者の作品をドクタースクラッチで診断し、子ども達が結果を見て、再度作成したところ、平均してスコアが1.45ポイント上がりました(12.00点から13.45点)
生徒自身でドクタースクラッチの診断結果を確認することで、自分で編集し改善することができるそうです。
2019年3月時点で、日本語のサイトがなかったため、使用方法を下記に記載しています。
ドクタースクラッチの使い方

ドクタースクラッチのサイトから上記の写真の黄色の枠にスクラッチ作品のURLを入力します。
ANALYZE BY URLをクリックし、10秒前後待つと、スコアが表示されます。
私が作った「シューティング」の作品のスコアは11点です。

項目ごとにレベルアップする方法が書かれています。
今回は一番下の論理(logic)の部分をクリックして詳細を確認してみます。

点数ごとに、どのようにすれば技術的に改善できるかが書かれています。
今回は論理(ロジック)が1点のため、上記の改善例を確認します。
点数を上げるためには、「もし<>なら〇〇、でなければ△△」のブロックが必要とのことです。
上記を参考にスクラッチで、作品のブロックを変更してみました。
再度ドクタースクラッチで診断するとスコアが11点から12点になりました。
一番下の論理(logic)の項目の点数が、1点から2点に上がっています。

審査項目について

審査項目は全部で7つ。
これらはコンピュータ的思考で必要な要素です。
- 抽象化(Abstraction)
- 並列(Parallelism)
- 論理(logic)
- 同期(Synchronization)
- フロー制御(Flow control)
- ユーザー対話性(User interactivity)
- データ表現(Data representation)
各項目は0点から3点で評価され合計21点です。
上記の表はブロック使用例を簡潔にご紹介しています。
さらに詳しく知りたい方は、サイトでご確認ください。
子どもが、診断結果を見ることに関してどうなの?と感じる方もいると思いますが、
スペインのレイ・ファン・カルロス大学の研究より
- 子どもは、診断結果を見ることについて67%は良いと感じている(30%はどちらでもない。3%が悪い)
- 子どもは、診断結果のページを見て77%が情報を理解できると答えた(18%は完全には理解できない。6%は理解できない)
と子どもたちは、概ね診断結果を通して良いと捉えています。
このような結果から、ドクタースクラッチを通して、コンピュータ的思考を養い、プログラミングを改善することができるようになるのではないかなーと思います。
今後コードのプログラミングを行う時にコンピュータ的思考はとても役立ちます。
スクラッチの段階から、意識しておくことで移行するときにスムーズではないのでは?と個人的に思います。
最後に
ドクタースクラッチはプログラミングの技術面に関して診断してくれる便利なサイトです。
便利な上に注意する点もあります。
1つ目は、このサイトを使用するのは、なるべくスクラッチ中級者以上が良いでしょう。
初学者の場合は、技術的な部分より、まず楽しく作品をつくることが大切です。
楽しいことで継続性が高まりますので、初学者はなるべく控えた方が良いでしょう。
2つ目は、子どもが点数をあげることが目的になり、本来の目的である作品制作の上で必要かどうかを吟味せずに使い始めることです。
自分の作りたいものがより効果的に作れるから、ドクタースクラッチのアドバイスを取り入れようとする姿勢が大事かなと思います。
ドクタースクラッチはあくまで判断材料にしていただけるとうまく付き合っていけるのではないでしょうか。
このサイトは学習者だけでなく、指導者も活用することができます。
例えば、子どもたちの作品をドクタースクラッチで診断し、コンピュータ的思考の観点から具体的にアドバイスするために用いることもできるでしょう。
この記事が少しでも参考になれば幸いです。