こんな人に読んでもらいたい記事です
・自分の新たなスキルとしてプログラミングを学ぼうかとしている!
・プログラミングスクールを検討している!
・プログラミングを独学で学ぶ方法を探している!
という人
結論
・基本的にプログラミングは自分で身につけるもの
(=手を動かせばできるようになる)
・プログラミングスクールは最終手段で,
自分で勉強する習慣が持てる人には不要
※スクールはお金を払ってでもきっかけを
作らないと勉強しない(サボっちゃうなど)人向けである.
はじめに
こんにちは,りゅういえんじにあです.
最近youtube等で動画を見ようとすると,
プログラミングスクールの広告が
流れてくることが多くなりましたね.
ただ私自身見るたびに「おや?」と思うわけです,
無理に教えてもらう必要はないよなと.
だってプログラミングに正解はネットに転がっているし,
「できる」ようになるには実践あるのみだから.
今回は「プログラミングを習得する方法」について経験を踏まえて記事にします.
(プログラミングは「学ぶ」ではなく「習得する」ものです,といったことを主張したい)
りゅういえんじにあのプログラミング経験
とはいっても,全く経験のないやつが言ったところでまともに信じてもらえないので
りゅういえんじにあのプログラミング経験を以下に示します.
高校時代
-HTML,CSSを用いてWEBサイトページを作成
大学時代
-研究で用いるロボット(自分で設計,組み立てたもの)を
動作させる制御プログラム作成(C++)
-研究室のHP更新作業でHTMLやCSSを使用
会社員
-業務で使用する実験装置の計測アルゴリズム作成
-試作品を動作させるテストプログラム作成
用途,言語などは様々ですがプログラミングを通して様々な機能を作ってきた
りゅういえんじにあが共通して思うところがありますのでお話します.
りゅういえんじにあ流プログラミングの習得法
さてここからりゅういえんじにあ流のプログラミング習得法です.
ここで注意してほしいのが「勉強法」ではなく,「習得法」であるという点です.
(かなり強調したい…)
受験勉強の経験がある方は思い出してほしいのが,
教科書・解説書を読んで「受験勉強おしまい!」となったでしょうか?
例えば数学で教科書を眺めただけで問題が解けるようになるでしょうか?
そんなことはないでしょう,きっとたくさん問題集を解いて慣れたと思います.
なぜなら「わかる」と「できる」には大きな壁があるからです.
りゅういえんじにあはそれはプログラミングでも同じことが言えると思っています.
一度その言語特有の作法,ルールを網羅的に「わかる」状態にして,
実践を通して「できる」状態に持っていきます.
その辺を踏まえて説明したいと思います.
ではいきます.
ポイントを平たくいえば
「つべこべ言わず手を動かせ,世界中の情報が先生だ」
です.
以下具体的な流れです.
「つべこべ言わず手を動かせ,世界中の情報が先生だ」
(1)プログラミングの入門書を一冊買って全部自分でタイプしてみよう
→その言語で「プログラミング」をすることに慣れる.
本のコードを写すだけでも最初は案外大変(笑)
その言語のプログラミングが「わかる」状態になろう.
参考までにりゅういえんじにあがC++の勉強に使った本をご紹介しておきます.
(2)簡単なもので良いのでとにかく何か形にしてみよう, 自分で作りたいものを企画して作る
→作りたいもの(ゴール)が,プログラム上でどういう
処理をすれば達成できるかを考える訓練になる.
(例えば,身長と体重を入れてBMIを計算してくれるようなものなど)
モチベーションを保つという意味でも自分の作りたいものを作るのはポイントです.
(3)作業をすすめる中でわからないことがあったらgoogle先生に聞いてみよう
→プログラミングはすでに色々な人がやっている,
その中から必要な情報を探し出して利用しよう,何見たってOK
「何もみてはいけない」テストではありません.
プログラムができることが大事なんです.
(4)どんなに汚いソースコードになっても大丈夫! とにかく必要な機能を達成できたらOKとする
→自分でできたという達成感が味わえる!(うれしい)
※きれいなソースコード,効率を求めるのはあとからできる
(というより,そのうちたくさんソースコードを書くのが面倒になるから
勝手に効率的なコードを考えるようになるので心配無用)
(5)少し課題を変えて(2)からやってみる
→前にやったプログラミングよりも少し高度なもの
(例えば,ファイルから身長・体重を読みこんでBMIを計算してみるとか)
経験上,概ねこのやり方で各言語の初歩的なプログラミングは習得しました.
要するに慣れるのが大事ですよ,ということですね
おわりに
今回りゅういえんじにあが思うプログラミングの習得法をお伝えしました.
この記事を読んでプログラミングを自分で習得してみよう,
と思ってくれる方がいらっしゃればうれしく思います.
ありがとうございました.
番外編(理屈を知っておくべき分野について)
本記事でずっと述べてきたこと「とにかく手を動かせ!」が
大事であるのは言うまでもありません.
しかし,それはあくまで「コーディング」をする人に限った話です.
(ものづくりで言えば工場作業員的な立場)
しかし今後高度なプログラミングをするにあたっては
数学的な知識は避けては通れないのは事実です.
(AIとか統計とかいろいろありますし)
プログラミングに使う数学の知識に関しては以下にまとめていますので,
ごらんください
りゅういえんじにあがプログラミングスキルを上げるために
必要と思われる数学的分野をあげますので,今後理解をすすめることをおすすめします.
今後こういった分野のざっくり解説記事を作成したいと思います.
・論理回路
・命題と論証
コメント