プログラミングの学習では覚えることがたくさんあります。余りの大変さに挫折してしまう、ということもあるでしょう。

どうすればプログラミングの学習を継続し、プログラミングをできるようになるのか。

インターネット上では様々な「コツ」が紹介されていますが、この記事ではシンプルに「プログラミングの目的設定」と、「ドメイン知識」という2つに注目してご紹介します。

1 プログラミング学習のコツ1: 目的設定の重要性

1.1 プログラミングを学ぶ目的を見つける方法

何をするにも目的を設定することは重要です。しかしながら案外、「目的を決めずにプログラミングの学習をしている」というケースはあるように思います。

「プログラミングって何だか凄そう」、「プログラミングが出来たらかっこいい!」。こういった考えはプログラミングを始めるきっかけとしてはとても重要です。「なんとなく興味があって新しいことを初めてみる」、というのは素晴らしいことです。

しかし、それだけではプログラミングの学習は長続きしないかもしれません。プログラミングを学ぶ目的をはっきりさせることで、プログラミングをより深く学び、もっと「かっこいい」自分につながるかもしれません。

ではどうやってプログラミングを学ぶ目的を見つけるのか。

興味をもってプログラミング学習を始めてみたら、まずはプログラミングがどのように使われているか、いろいろな例を探してみるとよいかもしれません。

最初にプログラミングの応用例をいろいろと知っておくことで、「まずはこれを目指して頑張ってみよう」という目標を見つけましょう。例えば、アプリケーションやゲーム開発、データ分析、アプリケーションUIの作成、ロボットの制御など、プログラミングは様々な分野で活用されています。

動画やwebページなどで、プログラミングの活用例をぜひ調べてみてください。

自分が興味のある分野が見つかったら、その分野でプログラミングがどのように使われているか、さらに調べてみましょう。知識が増えれば、プログラミングを学習する目的も具体化してきます。

1.2 プログラミング学習における目的設定のメリット

プログらミング学習の目的を見つける方法を学びました。合わせて、目的を設定する代表的なメリットもご紹介しておきます。

  • 明確な方向性

    目的を設定することで学習の方向性が定まり、何を優先的に学ぶべきかが明確になります。例えばゲームを作りたいのであれば、ゲーム作成に必要なスキルを優先して学び、プログラミング言語もゲーム作成に良く用いられる言語を優先的に学んだほうが良いでしょう。

  • モチベーションの維持

    具体的な目標があると、その達成に向けて努力する意欲を高めることができます。プログラミングの学習はただでさえ大変ですので、興味のあるテーマでないと、なかなか継続が難しいかもしれません。

  • 成果の確認

    目的を持つことで、自分の進捗や成果を確認しやすくなります。なんとなくで学習を進めていると、学習ががどれだけ進んでいるのか、確認することが難しくなります。明確な目標があれば、その目標に対してどれだけ近づいているかを確認し、必要に応じて学習方法を見直すこともできます。

2 プログラミング学習のコツ2: ドメイン知識の重要性

さて、プログラミング学習において目的を設定することが重要であると確認しました。

ではプログラミング学習におけるもう一つの「コツ」、ドメイン知識 (domain knowledge) とは何か、そしてドメイン知識がどのようにプログラミング学習に役立つのかをご紹介します。

2.1 ドメイン知識とは

「ドメイン」はいろいろな文脈で使われますが、今回は「対象としている専門分野、業界」といった意味で理解しておきましょう。そうすると、「ドメイン知識」とは、「対象としている専門分野、業界についての知識」と理解できます。

2.2 ドメイン知識を使った、専門性のあるプログラミング

プログラミングにおいてドメイン知識は非常に重要です。このことを理解するために、2つ例を見てみましょう。

例えば、アプリケーションのUI(User Interface)に興味のある人は、HTMLやCSSなどについての知識が必要です。HTMLやCSSを使えば様々なデザインを実際に構築することができます。

一方でユーザーにとって使いやすいUIを作成するには、HTMLやCSSの知識だけでは足りません。アプリケーションのデザインについての知識も不可欠です。具体的には、色彩理論やレイアウト設計、ユーザビリティの原則などを理解している必要があります。

つまるところ、プログラミングは「道具」です。その道具を使って「何をするか」が大事です。

料理でたとえるなら、「包丁といった道具は使えるけれど、メニューが思いつかない」ではダメで、「道具も使えるし、料理のメニューについてのアイデアもある」状況が大事です。プログラミングという「道具」だけでは足りず、「その道具を使ってつくるもの」についての理解も必要というわけですね。

このようにプログラミングの学習には、プログラミングの基本的な知識の他、それを応用する対象自体についての専門知識が必要になることを覚えておいてください。

ドメイン知識とはこういった専門知識です。ドメイン知識がなければプログラミングのスキルを適用することはおそらく難しくなり、表面的な応用しかできないでしょう。

プログラミングの学習に当たっては、学習の目的をはっきりさせ、その目的達成のために必要なドメイン知識も身に着ける必要がある。このように理解しておくと良いと思います。

3 まとめ

プログラミング学習のコツはいろいろと紹介されていますが、本記事ではシンプルに「目的設定」と「ドメイン知識」という2つのコツをご紹介しました。

この2つの要素は互いに関連しており、目的意識を持った学びがドメイン知識の修得へとつながります。逆にドメイン知識があれば、自分の目指すべき目的・方向も見えやすくなるでしょう。このように、目的設定とドメイン知識は相乗効果を生み出し、充実したプログラミング学習を行う手助けをしてくれるでしょう。

プログラミング学習は大変ですが、実りの多いスキルだと思います。今後も自分自身の成長につながる学びを追求していただければと思います。