プログラミングが初めての人に教えるときに問題になりそうなところ
前回のブログで新人の方にJSとPHPを教えるかも、と書いたのですが、元々ほとんど未経験者の方なので、色々やるのはきついだろうということで私が教える話はなくなってしまいました。
ほぼ未経験者なので進みがゆっくりなのは仕方ないのですが、担当の人の話を聞いていてこういうところが問題なのかも、と思ったのでメモっておきます。
ちなみに担当の人が教えている内容は Excel VBA です。
VBA はブロックが分かりづらい?
VBA は {} でブロックを表していないので、どこからどこまでがブロックになっているのか分かりづらく、プログラムの構造がつかみにくいのかなと思いました。まあ、インデントで分かるんですが…
結果をいきなりシートに出力させていた
担当の人が作られた課題は、何か計算処理をさせそれをシートに出力する、というものでした。
出力処理はこんな感じだと思いますが、
Cells(1,1).Value = "hogehoge"
そもそもオブジェクトとかプロパティもさらっと勉強した程度では、この文でセルに値が表示される理由が分かりづらいんじゃないかなと思います。
でこの辺はややこしく見えるので最初は Debug.Print でイミディエイトウインドウに出力から始めればいいんじゃないかと思います。
sum = sum + 1
この文も最初意味が分からなかったようですが、言われてみれば確かに初めての人には分かりづらいなと思います。イコールが代入演算子であるとか、右の sum は実行されるときは評価されてその時点で sum に入っている値になりますよ、みたいな話を分かりやすい言葉で説明する必要があるなと思います。
質問しづらい環境
担当の方が仕事しつつ教える感じだと、どうしても質問がしにくくなると思います。忙しそうにしている人に「こんな些細なこと聞いていいのかな…」と思って質問できなくなっているところがあるような気がします。担当の人は極力仕事をしないで「まじで暇すぎだからどんどん聞け」みたいな空気を出した方がいいと思います。