【Scratchプログラム・ガイダンス】小学校向けのプログラミング教育を始める前に最初からpythonではダメなのか?を考察


※ 当ページには【広告/PR】を含む場合があります。
2020/04/28

2020年から小学校でプログラミング教育が必修科目としていよいよ本格始動します。

また2021年度には、中学校でも新学習指導要領の全面実施が始まり、今年(2019年)に中学校入学した生徒さんは2年後に履修漏れにならないように、既に新しいカリキュラムにてプログラミング学習がスタートしているとのことで、ますます教育としてのプログラミングの存在感がまして来そうです。

やはり最初に手に触れるプログラミング教材は、プログラミングを始める上でその後の将来のキャリアを大きく左右するので、難易度は少々高くても質の高い教材を選んだほうが良いのでは...というのが個人的な意見です。

首題にもあるように、下は初頭教育分野からデータサイエンス・機械学習まで扱えるpythonで最初から教育カリキュラムを組んでみたらどうなの?という素朴な疑問をとりあえず考察してみます。


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】お子様に通わせたいロボットプログラミング教室&教材・学習サービスまとめ

合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ

TL;DR

まずこの記事での結論ありきで...小学校ではScratchをしっかり学習されるべき、と思います。

大きな理由としては、

            
            + 英語に親しみのない日本の小学生にはpythonは苦痛でしかない
+ ビジュアルに訴えかけるGUI言語のほうが興味や好奇心を持続できそう
        
やはり言語力が思考力と直結するのがプログラミング学習に大きな影を落とします。

要は、英語教育とプログラミング教育は運命共同体というか、小学生低学年の時分にいかに英語に慣れ親しむことができるかが、大きなカギとなると思われます。


初等教育向けのプログラミング言語

現在、小学生向けのプログラミング学習用アプリケーションにあたりそうなものをザッっと手元で検索しただけでも、以下の多様な選択肢を見つけることができます。

            
            - scratch
- viscuit
- springin'
- tynker
- プログラミン
- LINE entry
- プログラミングゼミ
        
※各プログラミング言語の公式サイトはこのページ下の参考パートを参照ください。

どのアプリケーションも、立派に出来ておりますし、どれを使っても小学生向けの学習教材として効果があるものでしょう。

逆に考えると、どの教材を使っても、児童教育に期待される効果がほぼ同程度見込めるからこそ、いまのような
学習用ソフト群雄割拠時代になってしまっているわけです。

とりわけ、弊社は
scratchに絞ったプログラミング学習環境の構築を推進しております。

その理由は次の節でまとめます。


Scratch 3

細かいことは文科省のサイトページに色々と掲載されておりますが、盛んに教育教材として取り上げられている学習用アプリケーションの一つにscratchがあります。

子供さん向けのGUI型ビジュアルプログラミング言語の位置づけで、(学習用途ではキーボードもあったほうがいいですが...)マウス操作で完結する仕様になっております。

現状は
Scratch 3がリリースされたため、以前のバーションであるScratch/Scratch 2はそれ以降開発されていませんが、未だに根強く利用され続けているようです。

強調すべきはバージョン3になってから、
React Componentsとして再構築されており、よりフロントエンドエンジニアに嬉しい仕様になりました。この点が大きく他のプログラミング学習用アプリケーションと違う点であり、アプリケーション開発者側の力量次第で、より簡単に児童の学習意欲をそそるようなコンテンツを積極的にカスタマイズできるようになりました。

githubに置かれているソースコードをだれでも覗くことができて、プロジェクトごとフォークして、
3-clause BSD licenseのライセンス範囲でなら、開発者のローカル環境で独自ソースコードを改変できるのも魅力です。

ちなみに、MITの開発者20人近くと多くのディストリビュータがゴリゴリと日々開発されており、かなり活発かつ規模の大きいプロジェクトであり、世界中のプログラミング教育の場にこれほど浸透しているのも納得です。
LLK/scratch-gui

また現在ではインターネットの接続できる環境であれば、オンラインから
Scratch gui | github.ioへアクセスしてScratch GUIのサービスが無償で利用でき、すぐさま学習を開始できるようになったのも大きな利点です。

他方で、当然日本の教育現場どこでもインターネットに繋げることのできる環境がある訳ではなく、インターネットインフラの整わない地域が日本も例外ではなく世界各地に存在しています。

そのような状況下では、オフラインでもScrach3を使おうと思うと、このリモートのレポジトリからフォークして、ソースビルドすることになります。

ローカルにインストール (nodejsが利用できる環境)

もっとも手っ取り早く、ローカルでscratch3を利用できる方法は、npmパッケージを利用することです。

この場合、
scratch-guiのパッケージが正常にビルドできるようなOSでプログラムを走らせるかお手元のPCなどのハード側での検証も必要です。

オフラインでも
Scratch3が動作できればインターネット環境が不要ですので、インターネットを敷設していないご家庭にでもよりリーズナブルな学習環境が構築可能です。

それでは手始めに基本の
から、やってみます。公式のREADMEにしたがって、npmでインストールしてみます。

            
            % git clone https://github.com/LLK/scratch-gui.git
% cd scratch-gui
% npm install
        
とするとインストールが完了し、これを起動するには、

            
            % npm start
        
とこれだけでGUIが起動できます。

この記事内ではScratch3を起動してみた記事となりましたが、別記事で
ラズパイOS上でのオフライン版Scratch3の起動方法を検証しておりますのでそちらもご参考にどうぞ。


学習用教材としてのpython

他方でpythonはどうなのかといえば、アメリカやインドなどの英語公用圏では、お父さんお母さんが積極的に地元のプログラミング教室に通わせたり、色々とお盛んにやられているわけですが、当然pythonも小学生から教えているようです。

そちらのお子さん達からしてみたら、
import ...とか打ち込んでも何を処理しているのか、わざわざGUIでビジュアル化しなくても直接頭に情報が入ってくるわけで、そこには言語の壁が大きく立ちはだかっております。

昔から日本人の英語能力は国際的にみても高いとはいえず、
毎年下位のほうへズルズルと下がっていっているらしいので、英語の文法がかろうじて理解できる中学生からpythonに取り組むほうが好ましい気がします。(逆に言えば、英語が得意なお子さんには、はやめにpythonを学習されておくのが良いかもしれません。現代の英才教育と揶揄されるかもしれませんが...)

ということで首題にもどると、英語もままならないと思われる一般小学生の児童向けに、いきなり
pythonをやらせようとすると、プログラミングやらず嫌いを引き起こす可能性があるかもしれません。(子供に身体に良いからといって、ピーマンやブロッコリーを無理やり食べさせようとしてすると、大きくなってからの食わず嫌いを治すのに一苦労する感じに似ているような...)

なので、子供心は複雑ですので、中学生までは
pythonをやらないほうが無難でしょう。


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】お子様に通わせたいロボットプログラミング教室&教材・学習サービスまとめ

合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ

参考

文科省-小学校プログラミング教育の手引

scratch

viscuit

springin'

tynker

プログラミン

LINE entry

プログラミングゼミ