[保存版]プログラミング初心者への教え方のコツ[分解すれば余裕]

こんにちは!好奇心おばけのかわそん (@KKohey4)です!

「プログラミングを教えることになりました。でも、改めて考えてみると、どうやって教えたらいいんだろう?
ふだん、プログラミングを教えている人から、実際に効果があった方法を聞いてみたいです。」
このような疑問を解決します。

本記事の内容

  • 初心者に効果的な教え方
  • 逆に、絶対NGなこと
  • 自分の力をつけよう[バレますよ]

この記事を書いている僕は、年間50人以上の初心者に、プログラミングを教えています。

かなりいろんな生徒さんを見てきました。
「力をつける教え方」には、かなり熟知しているはず。

そこで、今回は、実際に意識していることを、全て共有します。

3分だけお付き合いくださいませ。(`・ω・´)ゞ

[保存版]プログラミング初心者への教え方のコツ[分解すれば余裕]


結論から。
教える時に、必要なのは

慣れ×思考×ツール

これを分解して、伝えることです。

ざっくり教えるよりも、意識しつつ言葉にすると、まじで力をつけてもらえますので。

では、順番に見ていきます。

①プログラミングの「空気」に慣れること

まずは慣れてもらいましょう。

初心者にとって、プログラミングの世界って、馴染みがなくて、違和感があるものなので。

なんか、舌触りが悪いって感じるんですよね。

たとえば、

なんで日本語でファイル名をつけるのはまずいのか。
なんで全角スペースが悪さをするのか。

このあたりが、めちゃ気持ち悪く感じるみたいです。

ですので、まずは写経してもらいましょう。
細かい説明は、しません。

世界に、触れてもらうことが優先です。

✔️参考
[結論]写経でもプログラミングの力はつきます[ただし注意アリ]

②プログラミングの「考え方」を教える

プログラミングの考え方を教えます。

ちょっと、常識とは違うところがありますよね。
クセがあるというか。

大きく2つあると考えてまして、下記の通り。

  • 技術的なところ
  • 心構え的な部分

上記の通り。

そして、具体的には、それぞれこんな感じ。

  • 技術的なところ→代入は「=」
  • 心構え的な部分→エラーは出て当たり前

上記の通り。

ここを伝えないと、エラーが出るたびに落ち込んだりします。
そして嫌になって、挫折。

これを防ぐためにも、大切です。

③プログラミングの「ツール」を教える

コードを書いていく時に、必要なツールを伝えます。

どのレベルまで引っ張り上げるかで変わるので、難しい部分ではあるのですが、、、

少なくとも、下記3つは教えてあげるべき。

  • ググり方
  • 便利なサイト
  • 質問方法

どれも、これからコードを書いていく上で、避けては通れないものですよね。

ですので、早い段階でインプットしてもらうというわけです。

しかも、幸いなことに、そんなにハードル的に高くない。

「知ってるか、知らないか」なので、伝えてあげましょう。

✔️参考
プログラミングで詰まった時の質問方法を解説![必要な情報は5つ]

初心者の方に教えて、実際に効果が出たもの


ここまでは、「教えるポイント」を説明してきました。
では具体的な、内容に入っていきましょう。

まず、実際にやってみて、効果的だった流れは、下記の通り。

  • 写経→本人が気持ち悪くなってくる→質問
  • めんどくさい→方法をきく→メソッドの紹介

どっちも共通なのは、「自分ごと」にしているっていうところ。

受け身じゃなくて、自分のために勉強してるっていう意識を持ってもらう

こうすれば、生徒さんは、「納得しつつ」コードを書いてくれます。

では、説明します。

写経→本人が気持ち悪くなってくる→質問

まず、写経してもらうっていうのは、お話しました。

説明なしで、コードを書いていると、、、だんだん気持ち悪くなってきます。

最初はわからないことだらけ。
でも、進めていくうちに、ちょっとずつわかってくる。
だから、余計、わからないところが気になってくる。

こんなロジック。

その気持ち悪さを解消するために、質問してくるはず。
ここで、「質問方法」を伝えましょう。

これから納得してコードを書いていくための、ツールですので、本人的にも、かなり真剣に聞いてくれますよ。

めんどくさい→方法をきく→メソッドの紹介

めんどいこと、やりたくないですよね。

生徒さんも同じです。
めんどいことは、できればやりたくありません。

ですので、
「めんどいこと」をやってもらいましょう。

これを避けるために、彼らの脳が、積極的に動き始めますので。

ちょっと例を見たほうが、早いかもです。

✔️「めんどいこと」の例

rubyでは、timesメソッドというものがありまして、〇〇回繰り返す、みたいなことが、簡単にできます。

普通に伝えると、

「timesメソッドで、指定した回数、繰り返せます。」

でして、生徒さんは、

「ふーん。」
で終わるはず。

ですが、

「ちょっと、ここからここまで、10回書いてみて〜。
コピペなしで。」

っていうと、

「え、、、めんどくさ。。。」

って感じるはず。

こうなったら、しめたものです。

「実はtimesメソッドっていうのがあって、10回書かなくてすむんだよ!」

って伝えたら、生徒さんの頭に、すっと落ちるはず。

これを、狙いにいきます。

プログラミング初心者に言ってはNGなこと


「伝わらない言葉を使うこと」

これ、、、絶対にNGです。

理由は2つ。

  • バカにされてるように感じる
  • 言う意味がない

上記の通り。

考えてみれば、当たり前ですが、

「やった〜!初めてのwebページ作れた!」

っていう状況の人に対して、

「全然じゃんw Railsかか何かでバック作って、AWSでデプロイ。DBはAWSRDSね。こんなのvimでちょい。」

、、伝わらないですよね。
こんなこと言っても。

逆に言われた側はどうでしょう。
バカにされてるって感じるかもですよね。

こんなことしても、どっちにとってもいいことないです。

消耗するだけなので、やめましょう。

常識には差があります。

ちょっと、補足を。

初心者と、経験者の間には、かなり大きな「常識の差」があることを思い出しておくことが大切です。

実際にあった例を。

生徒さん
「この画像、ダウンロードしたいんですけど、どうしたらいいですか?」

初心者の方です。

「右クリックで、ダウンロードするところが出てくるよ!
ファイル名は、英語の方がいいよ〜。」

ファイル名は、「a」とかの、適当な名前にしていました。

ほんとは良くないですが、まあ、これはわかります。

でも、加えて拡張子を「.jpg」から、「.a」っていうものに変えてたんですよね。

「拡張子」そのものも、それに意味があることも知らなかった。

こういうことが、おこります。

自分の常識は、相手の非常識かも。

この視点を忘れないようにですね。

最後に:意識して教えると、自分の力もつきます

記事のポイントをまとめておきます。

  • 慣れ×思考×ツールを教える
  • 写経やエラー、質問への向き合い方
  • 効果のあった流れを2つ紹介しました。
  • 相手に「伝わる言葉」を使うべき
  • 「伝わらない言葉」に意味はない

こんな感じですね。

これを意識しつつ、教えてみると、自分の力もつきますよ。
やってみると、わかります。

ぶっちゃけ、教えるのには、かなりの技術が必要です。

1教えるのに、10必要な感覚ですね。

自分の力も磨きつつ、ぜひいい教育を目指してみてください。

僕もがんばり続けます。(`・ω・´)ゞ

では、以上です。
この記事が少しでも参考になったなら、幸いです。

✔️参考記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です