レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

3期目に向けて

代表取締役の山本です。
7月1日より、レベルエンターは3期目がスタートしています。

 

2期目は、山あり谷ありの1年でしたが、新しい戦力がふえ、仕事も着実に安定してきていて、いろいろと取引の幅も広がりました。
前期は多くの旧知の方々にたすけられました。特に、いろいろな元教え子さんたちが協力してくれているのが本当に心強く嬉しいです。苦しい時に助けてくださった方への恩返しはこれから自分たちの力をつけながら日々忘れずに取り組んで行きます。


新しく知り合えた方々とも、多くは数年来の仕事仲間のような気持ちになれる人ばかりでした。
「おかげさまで」という言葉が心から湧いて出てきます。

3期目はたくさんの希望があり、いまからワクワクしております。

 

弊社では「楽しみながら」「プログラミングを学ぶ」を突き詰めてきました。
・面白い・楽しいとはなんだ?
・プログラミングを学ぶことの意義は?

同じ面白いでも「興味深さ(interst)」と「楽しい(fun)」は異なります。

学びの面白さは、興味深さ(interst)が中心ではあると思います。

 

しかしながら、楽しい(fun)でなければ気持ちが動かされず、
内容が難しくなって来ると気持ちがついていかなくなってしまうのではないでしょうか。

だからまずは楽しさ一辺倒で良くて、やれることのパズルのピースがうまっていくとだんだんと興味が芽生えて来るという、流れが楽しく持続する学びなのではないかと考えています。

 

funをたくさん用意して、interstを掻き立てるところが、後押したいところです。

より興味深くなるような遊び方を教えること
より楽しくなるような遊び方を教えること。

これらのテーマを突き詰めていくことが我々のミッションの一つです。

 

まず小学生に教えることから始めています。
彼らに面白いと思ってもらえて、熱中してもらえて、力にしてもらえたなら
次のステップに導きます。

 

ちょうどいいステップが、初心者には多くは用意されていません。
または途中で急にハードルがあがってしまうステップしかありません。
それでは持続する楽しさは生まれないと思います。
適切なステップを作り出していくことをやっていきたいです。

 

コンピューターテクノロジーの世界は、これから世界そのものになっていくように思います。

コンピューターやそれらを中心とした様々なテクノロジーは、もはや自分たちの生活を取り巻く全てに関わってきています。
だからテクノロジーとの対話の方法を知ることは、とても意義深いと考えています。

 

自転車に乗れるように、やりたいと思った人、だれでもがプログラミングができるようになる世界。そういった世界の実現を目指したいと思います。

そしてその世界が実現したあとにみえてくるのは、テクノロジーで解決するための課題を見つけ出すこと。それも面白いんです。

 

自転車に乗れるようになったら、どこか遠くへ行きたくなりませんか?
隣町に繰り出したら世界が広がります。
プログラミングを学ぶと、そういう世界の広げ方ができます。

 

テクノロジーの世界は、加速度的に広がっていて、重要度がとてつもなく上がっている。だから、広い世界を旅できるように我々は、テクノロジーの世界の語学を教えたいのです。

面白い対象は、人それぞれ異なるでしょうけれど、世界が広がる体験は、とても面白いと思います。

 

「楽みながらプログラミングを学ぶことで、新しい可能性の入り口を開きます」

プログラミング学習で、本当に論理的思考が身につくか?

プログラミングを学ぶことでつく力ということで、「論理的思考」という言葉が使われることがあります。

 

でも論理的ってどういうことでしょうか。私は、はっきり定義をしらべたり教えてもらったりしたことはなく、なんとなく理解しているつもりになっていました。

 

教育の分野では、プログラミングで身につくのは「プログラミング的思考」だとされていますが、ますますよくわからないですね。

 

とりあえず、だれかがとってつけたプログラミング的思考についてはおいといて、「論理的思考」とは何なのかをきちんと自分の言葉にしたいと思います。

 

でも最初の1歩は、Wikipediaの力をかります。

 

論理学 - Wikipedia

ここでいう論理とは、思考形式及び法則である。これに加えて、思考のつながり、推理の仕方や論証のつながりを指す。よく言われる「論理的に話す、書く」という言葉は、つながりを明確にし、論証を過不足なく行うということである。

 

論理的であるというのは「論証」がキーになりそうですね。論証は「正しく説明が出来る」と言い換えてもよいのではないでしょうか。

論理の説明に「推理」も含まれますね。推理とは何でしょうか

 

すいり【推理】の意味 - goo国語辞書

既にある事実をもとにして、まだ知られていない事柄をおしはかること。

 

あてずっぽうの予測ではなく、実験結果や法則性、根拠のある資料などの事実をもとにして、考えるということですね。

 

つまり論理的であるということは、

事実(実験結果や法則性、資料など)を基に説明を過不足なくつなげられることであり、まだ知られていない事柄であっても事実を根拠に推し量って説明ができること

のようです。

 

論理的思考能力という言葉は、ヒトくくりになりすぎていそうですね。

私なりに分解してみます。

 

・事実を導き出す力

・事実を元に考える力

・説明する力

・過不足なく説明をつなげる力

・未知の事柄を、事実を根拠に推し量る力

 

こんなところでしょうか。

 

では、プログラミングで論理的思考は学べるのでしょうか。ひとつずつ考えてみます。

 

  • 事実を導き出す力

プログラミングでは資料や短いコードにより実験によって、そのコードはどのような動きをするべきかを確認しつ組み立てる必要があります。実験的に短いコードを実行してみたり、信憑性の高いドキュメントを確認する癖をつけられれば、「事実を導き出す力」は、プログラミングを学ぶ過程である程度は学べそうですね。

 

  • 事実を元に考える力

プログラミングでは「実現したいこと」は答えが示されているわけではなく、短いコードや機能の組み合わせで作り出します。実験結果やドキュメントの組み合わせを元にどうすれば求めるものが実現できるのか?を考えなくてはプログラミングはできないので、「事実を元に考える力」もプログラミングを学ぶ過程である程度は学べそうですね。

 

  • 説明する力

プログラミングそのものでは、説明する力は身につかないかもしれません。

作ったプログラムのプレゼンテーションなどによって身に着けたいですね。

 

  • 過不足なく説明をつなげる力

作ったプログラムのプレゼンテーションをする際に、論理の飛躍がないように気をつけられればよいのですが、プログラミングを学んだからといって、過不足なく説明がつなげられるとは限りませんね。説明を過不足なくつなげるには、説明をしてみて反応のフィードバックをえることや、そもそも国語の作文などを学ぶ方が近道かもしれません。

 

  • 未知の事柄を、事実を根拠に推し量る力

プログラミングの作業中は作ったもののバグや問題が次々と発生します。それらは学ぶ人にとってはすべてが未知の事項であることでしょう。バグや問題を解決するとき、事実を元に試行錯誤していきますが、当てずっぽうからだんだんと根拠を元に推し測っていけるようになっていきます。「未知の事柄を事実を根拠に推し量る力」は、プログラミングを学ぶことで一番学べそうな領域かなと思います。 

 

それにしても、単にプログラミングが出来るようになるまで学んでも、上記のような論理的な思考が学び取れるかどうかは学び方次第といえそうです。

 

レベルエンターで行っている教育も、現時点では「プログラミングを学んで論理的思考が身につく」とはいえないので、ここを強化したいと思います。

プログラミング学習では上手な試行錯誤の仕方が学べる

子供向けのプログラミング教育では、上手な試行錯誤の仕方が学べると良いと思います。以下の記事にある内容に一部同意しつつインスパイアされて書いています。

itpro.nikkeibp.co.jp

 

上手な試行錯誤を促すには、どのようなカリキュラムが良いかを考えながら、日々3歳の我が娘と遊んでいます。

 

彼女はレゴブロックで遊ぶのが大好きですが勝手に試行錯誤していろんなものを作り出しています。

最初は、こんな形作れる?というように親が例をみせてそれを作ってもらっていたのですが、なんだかそれで作れるようになったとは思えません。

課題提示型の教育では、あまり効果がなかったと言えます。

 

一緒に遊ぶときに「できあがったものを見せる」という行為に、すごくやる気が出てきているように思います。 

できるようになったことを、褒める。誰かと比べずに、そのこの成長を褒めるということかなと思います。

 

 

 

 

 

 

 

 

 

 

ハンマーと釘とプログラミングの上達と課題発見と課題解決

 人はハンマーを握ると全てが釘に見えるので、なんでもぶっ叩きたくなりますね。

 

プログラミングを少し覚えると、たしかに色々ぶっ叩きたくなるんですが、ぶっ叩くものを見つけるのが難しい。

 

課題発見は課題解決より難しいです。

課題解決そのものはゴールがはっきりしているので楽しい。

 

人を育成するときはハンマーを握らせて、ゴールのはっきりした課題を出そうということです。

 

自分を振り返ると、プログラミングは最初は手に職をつけるための、お勉強的な感じでしたが、面白さを感じられるようになったのは、自分でお客さんの要求通りのことを作れるようになったころですね。「人から言われた要求や要望を実現できる。」つまり、課題を解決することが面白かった。

 

でもその時、自分自身で課題を導き出すことはそれほど興味が湧きませんでした。

めんどくさいが先にきちゃう。

  

課題解決を一通りやれるようになると、課題発見して解決していくというさらに上位のことのほうがやりがいを感じられるようになります。

 

課題発見をやっていくときにも、課題発見のためのハンマーを渡し、釘っぽいものをたくさん打っていくといいんじゃないかなと思います。

 

 

 

 

1週間途切れてしまったコーディングの再開の仕方

自分の好きなツールや、大変力を入れているプロダクトを作っているときですら、1週間も時間をあけてしまうと、もうダメです。

もう一度エディタを開いてプログラミングに取り掛かるのが億劫になります。

がんばってエディタを開いても、他人のコードのように見えます。

 

そういうとき、エディタではなく作ったツールそのものの操作を始めます。

2、3分も触っていると、荒い部分とか、もっとこうしたら良いのにとかいう、言いようもない改善欲求が湧いてきます。

 

そういう改善欲求がふつふつしてきたときこそ、エディタを開くベストタイミングです。

 

 

Scratch 2.0 オンラインエディタ で 「ひらがな(にほんご)」にできないバグの暫定対処

 Scratch2.0を使っていて、急にひらがなにできなくなりました。

 
ディスカッションサイトでも話題になっていて暫定対処法がありました。
 
■Discuss Scratch 
 

"オンライン版のScratch 2.0 #456で現在「にほんご」(ひらがな)が正しく表示されない問題が発生しています。 
当座の回避方法としては、Shiftキーを押しながら地球アイコンをクリックして、「import translation file」を選び、オフラインエディターなどに含まれるひらがなの翻訳ファイル「ja_HIRA.po」を読み込みます。" 

 
以下に、弊社が持っているpoファイルをアップしておきます。