私はセミナー講師として、過去5年間で200人以上の初心者に対して、プログラミングの講習を行ってきました。そのほとんどは、プログラムについて全く知らない未経験者ばかりです。講習を通して、プログラミングが不得意な人には、決まってある特徴があることに気が付きました。
よく「私は文系なので、プログラミングが不得意です」という人がいますが、基本的にプログラミングには理系/文系は関係ありません。プログラムでは複雑な計算をしているにちがいない、という先入観で、計算に強い理系が向いていると誤解されているかも知れません。確かに、微分・積分などの計算を行わなければならない場合もあります。しかし、通常はそのような複雑な処理を肩代わりしてくれる関数やクラスが用意されています。プログラマは、使い方さえ覚えれば良く、実際にどのように計算されるのか詳しいことは一切覚える必要がありません。
今回は、私の経験から「プログラミングのスキルが上達しない人に共通する4つの習慣」について解説します。初心者の方は、自分に当てはまらないか、ぜひ読んでみてください。
プログラミングが不得意な人には、共通する特徴があります。皆さんは、これらの特徴に当てはまりませんか?
4つも特徴があるんですか? 当てはまりそうで、心配です・・・
プログラミングのスキルが上達しない人の4つの特徴
プログラミングのスキルが上達しない人には以下の4つの特徴があります。
- 理解しないと先に進めない
- 入力ミスをそのままにしておく
- 他の人のプログラムを参考にしない
- 自分なりのアレンジを行わない
私が担当したプログラミングのセミナーには、20代から50代までの幅広い年齢層の方が多数参加されました。職業も事務職、営業、工場の工員、調理人、販売員などプログラミングとは無縁の人たちばかりです。セミナーを実施していると、未経験者でもすんなりプログラミングのスキルが上達した人もいれば、なかなか上達しない人もいます。プログラミングの習得に四苦八苦している人をよくよく見ていると、上記に挙げた4つの特徴のどれかに合致していることに気づきました。
理解しないと先に進めない
この特徴に合致する人は、「真面目な人」がほとんどです。テキストなどを読んでいて、自分が理解できないことが出てくると、理解するまで先に進めない人です。初めて読んだ内容は理解できないことが多いのですが、真面目すぎて、どうしても理解しないと気が済まないようです。理解することは非常に重要なのですが、プログラムの勉強をする場合、理解できなくても、とりあえず先に進む勇気が必要です。分からないことにこだわって、いつまでも立ち止まっているよりは、どんどん先に進んだ方がよいです。先に進むことで、逆に後から理解できる場合もあります。
「あ~、こんな感じなのかな・・・」という理解度でも問題ありません。完璧に理解できなくても安心してください。時間を無駄にしないためは、理解できなくても、とりあえず、次に進みましょう。
入力ミスをそのままにしておく
セミナーでは、受講者の方から質問をよくされます。「練習問題を自分で解いてみたが、うまく実行できない」というものです。いざ、受講者の方のパソコンをのぞいてみると、ビックリすることがあります。あちらこちらのプログラムでコンパイルエラーが発生していて、その状況をほったらかしにしているのです。テキスト通りにプログラムを入力すればよいのですが、入力ミスなどでエラーメッセージが表示されているにも関わらず訂正していないのです。
初心者なので、入力ミスをしても全く問題ありません。また、すぐにプログラムが作れなくても心配もいりません。しかし、プログラムは実際に動かしてみて、はじめて達成感を得られます。実際に自分が作ったプログラムが動くのを見ると、楽しくなります。エラーを修正できていないということは、プログラムを実際に動かせていないということです。達成感が得られないと、プログラムに対する興味も湧いてきません。興味がなければ、上達も難しくなります。
最初は大変かもしれませんが、エラーはそのままにせずきちんと修正しましょう。
他の人のプログラムを参考にしない
プログラムはアルゴリズムをまず考えると、以前の記事で説明しました。
その記事の中で、「アルゴリズムには正解がない」という話をしています。つまり、同じ練習問題でも人によって、完成するプログラムは違うということです。「自分で作ったプログラムが動いたから、もうおしまい」という気持ちの人は、プログラミングの上達するスピードが遅くなります。他の人がどんなアルゴリズムを使って、プログラムを作っているのか興味を持って積極的に確認することをお勧めします。独学で勉強している場合、インターネットを利用すれば、同じようなプログラムを見つけてみてください。プログラマの財産は、プログラムを作る時に「どれだけアルゴリズムが思い浮かぶか」です。そのためにも、他の人のプログラムも参考にしましょう。
自分なりのアレンジを行わない
プログラミングのスキルがなかなか上達しない人は、プログラムが完成したら、それで終わってしまっています。とりあえず、練習問題を自分で解いたところで、安心している状態です。確かに、自力でプログラムを完成させたのでOKなのですが、プログラミングのスキルを上達させるためには、さらに「出来上がったプログラムを自分なりにアレンジしてみる」ことが大事です。
プログラムを打ち込んで実行できたら、「じゃぁ、こういうことを追加でしてみよう」と考えてみてください。そのためのプログラムを入力して実行させてみたら、うまく実行できないかも知れません。そうなると自分で解決する必要があります。この「トライ&エラー」の経験が非常に重要です。苦労しながら完成させた経験は、プログラミングのスキルアップには欠かせません。
まとめ
今回は、プログラミングのスキルが上達しない人に見られる4つの特徴について説明しました。
- 理解しないと先に進めない
- 入力ミスをそのままにしておく
- 他の人のプログラムを参考にしない
- 自分なりのアレンジを行わない
しかし、どれも意識すれば解決できるものばかりです。ぜひ、これらのことを意識しながらプログラムの勉強をしてみてください。
私は、ちょっとズボラな性格なので、2,3,4に当てはまってしまいました・・・。今後は意識してみます!!