ゼロの人に教えるプログラミング教室
エンジニアになってから6年以上が経ちますが、色んな人に書き方(文法はもちろん、お作法など)を教えてきましたが、ついにプログラミングどころか情報系の教養がない方に教える機会が出ました
今まで「何かしらの言語は触ったことがある程度」や「情報系統の基礎的な勉強はしてきた」など、ある程度の前提知識を持った人(社会人になって研修で学んだ人もこれに含めます)は教えて来ましたが、これらもないとなると今までとは勝手が違うと思うので、記事にする前にスクラップしておきます
とりあえず、プログラミングができるようになることが最優先項目になっているので、プログラミングの三要素でもある以下を理解して書けるようになることを目標にしてます
- 順次
- 条件分岐
- 反復
これらを教える良い教材は「FizzBuzz」だと思っているので、とりあえずはこれを題材に教えてます
ちなみに、使っている言語はJavaにしました
自分が業務で使ってたし、オブジェクト指向も教えることにしているので、とりあえずはこれでいいかなと
初心者向けかどうかは不明ですが、今のところは特に問題なさそう
問題が出るなら、オブジェクト指向やメソッドあたり・・・?
ちなみに、コンピュータの動作の原理とか、テストとか、そのあたりは今回は教えるつもりはありません
プログラムが書けることと、オブジェクト指向を理解してもらうことに全振りです
「FizzBuzz」をある程度教えたので、次は文法の定着(プログラミングの三要素)と新しく「メソッド」を覚えてもらうさせるために「素数判定」という題材を使いました
結果としては微妙な結果になりました
一番の要因は、そもそも「素数」が何なのかわかってないので、数学をある程度知っているプログラマは理解していることが多いが、そうではない人はそこから説明する必要があったので、プログラミングを教えるということにフォーカスを当てるという目的としてはあってない気がしました
理系ではない人に教えるなら、「素数」以外にも数学的な要素が強い題材は大体不向きになりそう
与えられる英文に使われる文字の中で、一番登場する文字とその回数を出力する新たな課題を用意しました
coffee time
ならe
と3
、Dou you like writing programming?
ならi
と4
という感じ
この課題でも難しいレベルとのこと