エンジニアステップ

初心者エンジニア(1年目~3年目くらい)のための技術ブログ

コンピュータサイエンスを学んでもプログラムを書けない人は多数いる

コンピュータサイエンスを学んでもプログラムを書けない人は多数いる…という話があります。

 

大学のコンピュータサイエンス学部生の30~60%はいきなり脱落

こちらの記事を見てほしい

特に、大部分の人はプログラミングを習得できません。大学のコンピュータサイエンス学部に入学してくる学生の30~60%は、プログラミングの最初のコースで落第します。

コーディングを学ぶこと、それはあなたが考えるよりも大変です | POSTD

 

これは私自身が国立大学でコンピュータサイエンスを学んで感じたことだ。

そして私もご多分に漏れず、脱落組だった。

私の場合は、天才的な才能があるわけではなかったことが原因のひとつ。

しかし、それ以上に大きいのは、そもそも授業に出ていなかったので途中から全くわからなくなった…というのが主たる原因だ。

一言で言うと、サボっていた。

 

中学高校の数学が、途中でわからなくなると、その後ついていけなくなるのと同じ現象。

断片的な知識を覚えれば良い文系科目と違い、プログラミングは土台の上にどんどん石を積んでいく(そもそもそれが論理だ)ようなスキル・学問なのだ。

 

そんな脱落組、落ちこぼれだった私がどのように、プログラマとして覚醒できたのかはまた後日話します。

 

プログラマにプログラムが書けないのか?

プログラマにプログラムが書けないのか?という記事。

私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 

どうしてプログラマに・・・プログラムが書けないのか?

 

面接者がFizzBuzzテストを簡単すぎると思ってやらないことを残念に思う。私の経験で言えば、最も簡単なプログラミングタスクさえできない候補者の多さには、まったく驚くしかない。

基本的な条件分岐、繰り返し処理などを理解できないまま、雰囲気でコピペしてしまうという「愚かなる近道」を通った場合に、この状況に陥る。

※先述の通り、私はこの愚の道を通っていた

 

解決策はチェスの天才に学ぶ

解決策はチェスの天才に学ぶのが良い。

独学プログラマーというpython学習&プログラマーになるための本でこんな事が書かれていた。

ボビー・フィッシャーを探しての天才少年が、チェスを最初に学んだときの話である。

彼は、最初の駒の動きを学ぶ代わりに、2,3個しかコマが残っていない終盤戦から学ぶことにしたそうです。彼はこの戦略でチェスについてより良い理解を得て、その後数々の選手権で勝利しました。

これは、プログラミングにも当てはまると思います。

 私も同意である。

一部の選ばれた人間(才能がある人間)以外は、まずはプログラミングそのものを学び、動かすところから始めたほうが良い。

※そういう意味で、この本は初学者には良かった

 

ちなみに、習得への情熱という本自体も、新たな学習をする時にどうするか、学習効率を高めるためにどうすればいいか、がわかる良本なのでオススメである。