プログラミング学習の正体

記事
IT・テクノロジー

プログラミング学習の正体

プログラミング学習の正体をご存知ですか?正体がわかると学習の効率がアップします。では、正体を知るにはどうすれば良いのか?この記事ではプログラミング学習の正体について紹介します。


効率を上げるにはやる事を減らす!

この連載で何回か書いていますが、プログラミング学習の効率を上げるのはズバリ「やる事を減らす」です。これが実際は何をしているかと言うと「本質」を探しているからに他なりません!

つまり、やる事を減らすのが「本質」を見つける一番の近道です。

やる事をを減らすポイントで既に紹介している事は、「今必要か」を基準に考える事であると紹介しています。これも何度も書いている事ですが、殆どの事は「やった方が良い」と言うのは間違いではありません。しかし、今本当にやらなければならないかと言う観点で見ると、「後からでも良い」ことは沢山あります。まずは、それを後回しにする事から始めるというのがポイントです。

少し分かりにくいので、「言葉(文章)」で考えて見ると少し分かりやすくなります。

例えば、「私は、写真が沢山ある綺麗な Web ページを作っています」と言う文章があります。 この文章の本質は、「私は Web ページを作る」と言うことです。「写真が沢山ある」とか「綺麗な」と言うのは、「詳しい」事を表現するための「形容詞」です。ここで言いたいのは、「私は Web ページを作る」と言う事であって、「どんな」は無くても一番大事な事は伝える事ができます。 つまり、「どんな」は相手が聞いてきたら伝えるでも良い事になります。しかし、あった方がより詳しい事が伝えられると言う事になります。

まずはシンプルにする!

プログラミングの学習も同じような事が言えます。 まずは、シンプルに「本質」を抜き出して、その上で「詳しい事を考える」と言う方法が学習をスムーズに進めるための近道になります。これが正体を突き止めると言う事になります。

ここで Web 開発を考えてみます。Web 開発で、Web アプリの開発と、Web ページの作成は似ているように見えます。人によっては同じ事を指していると思いますが、この記事では、Web アプリは、「プログラム開発(アプリの開発)」、Web ページは、「(プログラムが殆どない)Web ページのデザイン」と言うような別の作業と言うことで、この先の説明を書いています。

同じように見える内容で、学習する内容も結構似ている所があります。基本的には、HTML、CSS、Javascript を学習した方が良いという事になります。しかし、学習の順番や優先度は違ってきます。

これは「本質(正体)」が違うからです。

既に書いていますが:

* Web アプリ:プログラミング開発
* web ページ:ページデザイン

と言う事だからです。

正体がわかるとやる事も決まる!
やる事の正体(本質)がわかってくると、それに必要なやる事も絞られてきます。 プログラミングが正体(本質)ならば、「(プログラムの)機能の実現」が主役になります。一方で、ページデザインが正体(本質)ならば、「(ページの)表現」が主役になります。

そうなると、最終的に学習する分野、HTML、CSS、Javascript の優先順位が変わってきます。

機能重視ならば、体裁は後回しで、まずは機能と最低限の表示だけで済みます。つまり、HTML と Javascript が学習の中心で、ある程度進んだところで CSS をやれば目的が達成できます。

表現重視ならば、体裁が重要です。そう考えると、最初にやるのは、HTML、CSS で、付加機能をつけるためのプログラミングは、ある程度表現ができるようになってからでも問題ありません。

これが、以前の記事で、Web アプリ開発ならば、CSS は最初は手を抜いても良いという根拠です。

正体がわかったら具体的にする
正体がわかって、やる事が絞れたら後は学習するだけと思われるかもしれません。。。

しかし、実は、これだけだと上手く行きません!

例えば Web アプリの学習は、HTML と Javascript から始めれば酔いとなったとします。 いざ、HTML を学習すると言った時、あなたなら何を学習しますか?

初めて学習する場合、HTML を学習すると言っても、HTML にも色々な機能や分野があります。実際に、何から学習して良いのかは迷うところではないでしょうか?

そうなんです、HTML の中にも「今必要な事」と「後でも良い事」があります。 そこで、次のステップは、HTML のどこを学習するかを「具体的に決める」必要が出てきます。 実際に、「学習を実行」するには、「具体的に何をやるかが決まっている」必要があります。これが決まっていないと、実は実行するのは難しいという事になります。

そこで、以前紹介した HTML の学習方法として、フロントエンドのフレームワークの「チュートリアル」です。これで、「作るものを限定」しました。つまり、具体的に作るものが決まったと言う事です。具体的に作るものが決まると、どんな HTML が必要かがわかってきます。 チュートリアルには記述例が載っているのが普通ですので基本的な「書き方」を学ぶ事ができます。

基本的な書き方がわかると、次は「応用」です。同じような記述をいろいろ試してどうなるかを実際に目で見てみると言う事です。「体裁」を変えるのが良いのですが、CSS は後回しにしているので、Bootstrap の HTML の記述例を見ると CSS を書かなくても体裁をある程度整える事ができます。そこで、HTML の記述例を見ながら、サンプルの HTML を変えてみると CSS を学習しなくても、ある程度体裁が整ったアプリにできる事になります。

まとめ
学習のやり方の基本は、「選択」と「応用」を交互にやる事です。

選択では、本当に必要な項目にやる事を絞り込んで、学習する内容の「正体」を明らかにする事です。正体が明らかになったら、その正体はどんなものかを具体的にしていきます。つまり、やる事をリストにして、実行できるようにする事です。その上で、学習した事を使って「少し変えてみる(=応用)」をやってみると言う事です。

この「絞って」「広げる」を繰り返すことが学習を進めるという事になります。

これが、実は学習その物の「正体」です。

やる事を絞り込んで、絞り込んだ「範囲」で実際にやる事を具体的に決める(具体化して広げる)、それを一つ一つ学習する(絞る)ことで、その部分が「わかる」様になります。わかったらそれを応用していろいろやって見る(広げる)と、できるようになります。これを繰り返すことで学習の成果が上がるという仕組みです。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す