基本講座 第1回 プログラミングの特徴

プログラミングの学習にあたって、プログラミングの特徴を理解することが、とても大切です。

プログラミングは、人間が頭や手で行っていることを、PCで自動化させ、作業時間を短縮します。

PCは人間と違って、疲れることはなく、スピードも早く、間違いもありません。

その一方で、 PCは 事前に決められたパターン以外の出来事に対応はできず、状況に応じて柔軟に判断することはできません
(近年、人工知能という技術で、人間に近づきつつはありますが。)

すなわち、あらゆるパターンを、事前に全て想定できるかどうかが重要です。

あらゆるパターンを事前に想定できる場合は、PCによるプログラミングが効率がよく、想定できない場合は、人間が行う方がよいと言えます。

例えば、試験の採点を例に考えてみましょう。

マークシート方式のように、回答が1~4等に絞られる場合、採点をPCでプログラミング化し、実施する方が効率的です。

仮に、マークシート方式で1人100問の試験を受験した場合、人間が採点すれば数十分要するにところを、プログラミングされたPCで採点することで、採点時間が数秒に短縮されます。

これは、試験の回答が、1~4というパターンで想定可能であるため、プログラミングによる、採点が可能となります。

しかし、マークシート方式ではなく、自由入力の場合はどうでしょうか。

「日本の首都はどこですか?」

という問いに対して、「1.東京」という選択肢があれば、1が回答となりますが、自由入力の場合は、

「東京」「とうきょう」「トウショウ」「TOKYO」「tokyo」等の複数のパターンが考えられます。

これが、複数の言葉で組み合わされるケースを想定すると、そのパターン分を想定する必要があります。

例えば、「東京の浅草」という、回答の場合は、

「東京のあさくさ」
「とうきょうの浅草」
「トウキョウの浅草」
「東京のASAKUSA」

のように、相当数のパターンを想定する必要があります。

これが、文章になれば、単語の表記に加えて、文章の順番や、接続詞も含めて回答パターンを想定しなければなりません。

この場合は、PCのプログラミングよりも、人間が採点する方が、回答の精度は向上する可能性が高いです。

すなわち、自由回答のように、事前に回答パターンの想定が困難な場合は、人間が行う方が適切といえます。

プログラミングを学習する上で、あらゆる事象を「どのようにパターン化させることができるか」を考えることが重要です。

プログラミング パターン化