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

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

私と仕事どっちが大事なの問題

「仕事と家族」(または若い人にとっては「仕事と恋人」)という2つの優先順位の違う世界をいかに上手く過ごすかという問題はとても大事だ。

 

しかし難しいことに、この2つの価値基準はまったく異なっている。

 

仕事は、利己的。

仕事は、自分の生きがいとして重要。つまり自己実現や承認やらといった、自己肯定のために重要。世のため人のためと言うのは勝手だけれど、家族や恋人と比較すると、どうしても利己的なのだ。それぐらい家族が人にとって重いとも言える。

 

家族や恋人は、社交的。

家族や恋人は、一番近くの社会であり重要。人間は人と関わるからこそ人間であり、その最重要な要素は家族や恋人。

 

これらのバランスをとるために、最も大事なのはバランスを取ろうとすることだと思う。でも完全な50:50は難しいから、51:49ぐらいの比率をもってみるのが良い。

どっちが51かを決めるのは自分。

 

いずれにしても、このバランスを取ろうとすることは両方を高みに登らせる唯一の手段だと思う。

 

バランスというのは、多分それを見ようとすることから始まると思う。

 

自分たちらしい入社誓約書

入社誓約書って、結構会社のカラーが出ると思います。そこで自分たちらしい誓約書を作ってみようかと思います。

まずは僕だけの意見で作ってみて、社員さんたちと相談して更新しながら実際に使っていこうと思います。

 

【入社誓約書】

  1. 上機嫌で仕事をすることを心がけます。機嫌が悪いところを同僚や部下に見せないようにします。
  2. 育てることを仕事にします。対象はお客さんも仲間も自分もです。
  3. 任されたら責任を持ってやり抜きます。仲間には信頼して任せます。
  4. 責任を追求せず、問題を解決します。
  5. 怒ったり叱ったりしません。一緒に問題を解決します。
  6. 失敗をチェンスと考えます。失敗した人にも必ずもう一度チャンスを与えます。
  7. 自分で判断します。
  8. やばかったら助けを求めます。やばそうなら助けます。
  9. 時間や約束は守ります。
  10. 自分と家族と仲間の健康を何より大事にします。
  11. 依頼を受けて仕事をするのではなく、提案して仕事を作ります。
  12. 常に学びます。仕事とは関係ないことを学びます。
  13. 独立心を持ちます。会社に依存せず起業も視野にいれます。
  14. タバコは吸いません。
  15. 退職してからも仲良くします。

それでは。

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分も触っていると、荒い部分とか、もっとこうしたら良いのにとかいう、言いようもない改善欲求が湧いてきます。

 

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