プログラミング教育で思うこと…

こんな記事を見ました。

Preferred Networksが教育事業に参入、独自のプログラミング教材「Playgram」を開発

記事タイトルに「独自のプログラミング教材」ってあったので期待したのですが…ベースはScratchな感じみたいです。

Playgramの開発担当エンジニア西澤勇輝氏はPlaygramとほかのプログラミング教材との違いについて「Scratchなどのビジュアルプログラミングツールは、その中で完結しているものが多く、実際にそれらのツールを離れてプログラミングに取り組む場合は別のツールが必要になる」と説明。また、ビジュアルプログラミングツールとの差別化ポイントとして、各種命令を実行するブロックを組み合わせて作り上げたプログラムを、ブロックごとにPython言語に置き換えられる点を紹介した。ブロックコーディングしたプログラムをプログラミング言語に置き換える機能は多くのビジュアルプログラミングツールに備わっているが、Playgramではブロックとコードを視覚的に対比しやすいのが特徴だ。

Preferred Networksが教育事業に参入、独自のプログラミング教材「Playgram」を開発

こういうツールが出てくることは、とても良いことだと思っています。

一方…なんだか…もやもやするんですよね…。

確かに「いきなりコード書くことって、ハードルが高い」と思う人がいいるのはわかります。でも以前blogに書きましたが、本当のハードルってそこなんだろうか…と思うわけです。

ロジカルに組んだものが動く楽しみが理解できれば、コード書かかせるCode Monkeyだったとしても、楽しくできると思います。Code MonkeyはCoffee Scriptで書くので…それならPythonの方が…なんて話もあるかもしれませんが…初級編で学ぶレベルの内容は…言語差って方言程度の違いしかないのですぐに対応できるものだったりします。Progateとかでサクッと学べば吸収できる範囲です。

じゃあ仕事で使えるようになるには、何が違うのか?もちろん実践的にプロジェクトで使ってるフレームワークとかミドルウェアを学ぶというのはあります。でもそういうことなんだろうか…。

札幌のベテランエンジニアが、「どうやったら…オブジェクト指向を…うまく伝えられるんだろうか…」といったことを思いまだします。

プログラミングツールで、関数とはなんぞや…関数はどうやって作るのか…くらいはすぐに学べます。でもどういう単位で、どういう機能の関数を作っておくと、効率的なプログラムになるのか…。そういったことが学べるツールって…あるんでしょうか?

「開発プロジェクトに投げ込んで、育ってくるのを待つ」以外に、良い方法…ないもんですかね…。