【プログラミング中級者向け】深く学びたいなら人に教えよう。

 
初めまして。Ryosuke(@ryosuke_mizuta)と申します。
現在東京でフリーランスエンジニア/プログラミング講師として働いております。

初心者~中級者

プログラミングの深い概念や、新しい言語の勉強を始めて見たけど中々理解が追いつかない。どうすれば上手く学習を続ける事ができるのかなぁ。
そのお悩み解決します!

プログラミング博士

 

このテーマについて、実はこちらで一度取り上げています。

【完全初心者向け】プログラミングを3ヶ月で身に付ける勉強法をまとめます。

ですが、「教える」というのはプログラミングを理解するのに特に重要な部分なので、さらにこちらの記事で深く掘り下げていきます。

学ぶための方法として最も効果的なもの、そして物事を深く学ぶ唯一の方法は「教える」ことです。

この方法は多くの方に敬遠されてしまうことが多いです。

理由は、他人に教えるということにひるんでしまい、自分は教えるのにふさわしくないと思ってしまうからです。

この記事では「その恐怖を乗り越え、教えることの意味を理解し、学習経験の成果をグッと上げるために教えることを始めるための方法」をご紹介していきます。

この記事で取り上げること

  1. 誰しもが人に教えれる資質を持っていること
  2. 人に教えることで得られる沢山の恩恵について
  3. どのように人に教えたらいいのか(具体例をご紹介)

 

自分は教えれると自信を持つこと

 

 

私が読者の方に、人に教えることが大切だと伝えた時の言い訳でもっとも多いのが、自分は教師でもなく、教え方を知らない。というものでしょう。

確かに私たち全員が、教育方法の訓練を受けているわけではありません。

ですが、教えることは誰にでもできるのです。

本当に必要のなのは自信

本当に問題なのは主に、能力ではなく自信です。

マスターしたことのやり方を見せて欲しいを頼まれれば、躊躇なく見せることができます。

例として、小学生から「掛け算の問題を教えて欲しい」と言われた時に、ほとんどの方が果物や身近なものを使って分かり易く教えることができるはずです。

しかし、はっきり知らないことを説明して欲しいと頼まれると、恐ろしさを感じるのではないでしょうか。

エキスパートになるには人に教えなければいけない

ある分野のエキスパートがいて、その分野について人に教えるのに苦労するというのはほぼあり得ません。

というのも、ある分野の専門家になるためには、修行の一部として、他人に教えるということが必要になるからです。

そもそも他人に教えたことのない分野の専門家になるのは非常に難しいでしょう。

私たちは無意識のうちに人に教えている

教えるということは、格式張ったイメージがありますが、実際には教えるとは「何らかの知識を他の誰かにシェアする」だけのことです。

私たちはそうとは意識せずに、いつも知識の共有を行なっています。

少しプログラミングをかじった人であれば、人に何らかのコンセプトを説明したり、フレームワークやライブラリの使い方を具体的に示したりしたことがあるはずです。

社会人の方であれば、プレゼン資料のまとめかたや、KPI(業績評価のための指標)に関することなどを後輩や同僚に教えたことはないでしょうか。

教師になるためには学位や証明書は不要であり、エキスパートである必要もありません。

きちんと教えるために必要なのは、教わる人よりも一歩前を歩いていることだけなのです。

 


人に教えると何が起きるか

 

 

私たちの脳は、自分を騙し理解していると思い込ませている

私たちは何かについて学ぶ時、簡単に自分を騙して何かを理解していると思い込んでしまいます。

そしてそれを教えようとした時に、初めてその思い込みに気付くのです。

こんな経験ありませんか。

友人

これについて教えて!
(あっこれ、この前やったところだ!)
いいよ! 任せて! これはね….

自分

(あれっどういうことだったっけ…??)

自分

 

この現象は、あるテーマについて理解していると思っているものの、実際には表面的な知識しか持っていない時に起こります。

「教えることに意味がある」という理由はここです。

教えることにより、人に説明できるほど十分に深く理解できていない事実に直面できるのです。

私たちの脳はパターン認識には秀でています。

というのは、私たちは、自分が何をしているのか、なぜそうしているのかを本当に理解していなくても、パターンを認識することができ、認識したパターンに当てはまる多くの問題に答えれることが多いのです。

私たちは知識が表面的なものに留まっていても、問題解決のための行動を取ることができるので、本当は知識が不十分だということに気づかないことが多いのです。

教えることで理解の中に潜む隙間に気づく

何かがどのような仕組みで機能しているのか、なぜそれをするのかを説明しようとすると、理解の中に潜む隙間に気づくことができます。

誰かに何かを教えようとすることにより、あなたは強制的にテーマについての難しい問題に直面し、単にものを覚えるだけではなく、本物の理解に達するまで深くテーマを掘り下げなければならなくなります。

ものを覚えるというのは一時的なものに留まりがちですが、本物の理解はいつまでも残ります。

仮に掛け算の九九を忘れてしまっても、掛け算の仕組みを理解していれば、九九の表を再現できるのです。

教えるときに脳内のデータが再構築される

 

ものを教える時には、脳内のデータが再構築されます。

何かを初めて学んだときには、それは断片的に頭の中に入ってきます。

教材がうまく構成されていたとしても、それが頭の中に入るとかなり断片的なものに変わってしまうのです。

このような形で頭にデータを入れていくのは非常に効率が悪いです。

誰かから質問されたときに、答えが支離滅裂になりがちなのは、頭の中に入っている情報が断片的なままだからです。

誰かに教えようとすると、強制的に頭の中のデータを再構築せざるを得なくなります。

何かを説明するための最良の方法について考え、それを紙に書いたり、言葉やスライドにまとめたりすると、頭の中のバラバラに切断された情報の断片が一つにまとまり、意味をなす形に再構成されます。

人に教えるためには、必然的にその前に自分自身に教え直さなければならないのです。

教えることが学ぶために非常に効果的なのはそのためです。

 


さぁ始めよう

 

 

ここまでのところで、教えるということは自分にもできるし、学んでいるテーマについて深く理解するためには、教えることが効果的だとご理解いただけたかと思います。

しかし実際に教えるためにはどうしたらいいかと思われてるかもしれません。

教え方

人に教えるときには2つコツがあります。

人に教えるためのコツ

  1. 謙虚な視点から権威的なトーンで話す。
  2. 教えるという仕事は人を助けることで、自分の優位性を証明したり、承認を求めたりするためではないと認識する。

謙虚な視点から権威的なトーンで話す

人に教えるときには、あなたが知識を持っているからといって生徒よりも優れているとか賢いというように振る舞わず、しかし自信を持って、自分が言っていることをしっかりと信じて話すということが大切です。

自信がなさそうな物言いの人に教わりたいという人は居ませんし、教わっているときにバカにされたように感じるのは嫌なものです。

今まで出会った先生の中で、学ぶのが楽しいと感じさせてくれた先生や、人生に影響を与えた先生について考えてみましょう。

彼らはどのような資質を持ち、どのようなアプローチで教えていたでしょうか。

教える場所

教え方はとりあえず分かったとして、それではどのようなところで始めたらいいのでしょうか。

こちらが具体例になります。

具体例

  • ブログを開設する。
  • Youtubeの動画を作る。
  • プログラミングスクールの講師になる。
  • Udemyにコースを出す。
  • MeetupやConnpassでコミュニティを作る。

初めはあなたのアイディアを共有する小規模な場から慣れることをお勧めします。

私のお勧めは「ブログの開設」です。

ブログは、あまりプレッシャーを感じずに自分が学んでいることを他人に教えることができる素晴らしい場です。

あるテーマについて学びながら、その内容をブログに書いていき、獲得した情報を単純に抽出できるかどうかを確認していきます。

私のブログ「Code For Japanese」もこのようにして始まりました。

このブログの目標は「私が学んでいるプログラミングや技術のことに関して、単純化し、他の人が理解しやすいようして、発信すること」です。

ブログ以外にも、ビデオ、特に動画によるチュートリアル作成も教える手段として、優れています。

自分が学んだことをコマ割りにして、動画し、YoutubeやUdemyで発信するのです。

(今後私も動画教材やチュートリアルを作成して行く予定です😊)

動画でのチュートリアルを作るために必要なものはほとんどありません。

「QuickTime Player」などのMac純正の画面キャプチャソフトを使って画面を記録し、説明する音声を足せばすぐに出来ます。

しかし、このような形で教える場合、音声、ビジュアル、実際のデモが含まれているので作業は非常に難しくなり、如何に情報をプレゼンテーションするか否応無しに考えさせられることになります。

中級者レベルの学習者の方にはとてもお勧めのトレーニングです。

 


まとめ

 

今回は「教える」というテーマで記事を書きました。

私はプログラミング講師として働いていて思うのが、「人に教えること」は物事を理解する上で、非常に強力な方法です。

私が最初の頃うまく理解できていなかった概念や、ライブラリの使い方はすべて人に教えることを通じて深く理解することができました。

この記事が一人でも多くの方の学習に役に立てたら嬉しいです。

何かご質問やご要望があればTwitter(@ryosuke_mizuta )で話しかけていただけますと嬉しいです👏

最後まで読んで頂きありがとうございました!

この記事が気に入ったという方は、シェアして頂けますと嬉しいです😊

コメントを残す

メールアドレスが公開されることはありません。