
基本情報を受けようと思うけど、プログラミングをやった事が無くって…

簡単ではありませんが、攻略は可能です!
基本情報技術者試験(以下、基本情報)の午後の選択問題ではプログラミング問題を避けては通れません。
基本情報を受験するのは、学生や業務未経験者、業務経験が1,2年目の比較的プログラミング経験の少ない人が多いです。
このため、午後問題のプログラミング問題はアルゴリズム問題と同じく難関とされ、基本情報の風神・雷神の様な存在です。
2020年の春試験からは、プログラミングとアルゴリズムは各25点、合計で50点なのでこの2つが苦手だと合格はかなり厳しいです。
本記事では、プログラミング未経験者のプログラミング問題の乗り越え方について書かせて頂きます。
プログラミング問題で選択できる言語について
プログラミング問題は以下の5言語(5題)の内から1つを必須で解答します。
- C言語
- Java
- Python
- アセンブラ言語
- 表計算ソフト
以下に、簡単に各言語の特徴をまとめました。
C言語
汎用性が高く、色々な言語の基礎となる言語です。マスターすれば他の言語も理解し易いため、本格手にプログラミングを勉強したい人にお勧めです。
Java
現在の開発ではよく使われる言語であるため、使えると重宝されます。
Python
2020年の春試験からCOBOLに変わりPythonが出題されます。
機械学習、ディープラーニングによく使われる言語です。行列計算などのコードを簡単に書くことが出来ます。
アセンブラ言語
機械語(ハードウェアを動作させるための命令)を人間にも分かるように変換した言語で、実務で直接使う事はまずありません。
ベースとなる部分ではあるので、勉強しておけばハードウェアを意識したコーディングが出来る様になるため、勉強して損はありません。
表計算ソフト
エクセル関数の様な物です。エクセル関数とは簡単な例だと、SUM()、IF()などです。
出題される表計算ソフトの仕様として、関数名が英語か日本語かの違いはありますが、感覚としては同じものです。
プログラミング未経験の場合の選択
とにかく合格を狙う場合
プログラミング未経験で、とにかく基本情報の合格を狙いに行くならPythonをお勧めします。
理由は3つあります。
- 言語の設計自体が初心者にも分かり易くなるように考えられている
- Pythonを使えると、仕事の際に色々な処理を自動化できる
- インストールが簡単で、初心者が実際に手を動かして勉強しやすい
PythonはWindowsでもLinuxでも使用する事ができ、覚えておくと仕事上でも色々な事に利用できます。
- Webからデータを収集する
- PCに保存しているファイルを一定のルールで名前を付けたる
- 複数のExcelファイルのデータに対して、一定のルールで値の編集を行う
実際に下記の様な本も販売されており、Pythonが使えると、業務の効率化に役立ちます。
もし、実際に使用した経験があるならその言語がお勧め
もし、JavaやC言語、エクセルVBAについて、入門書で勉強して、関数を自分で作ったりできる人であれば、その言語を選択する事をお勧めします。
知らない言語をイチから勉強するのは時間がかかるため、慣れた言語を使う方が有利です。
基本情報技術者試験では、プログラミング以外の分野も勉強する必要があります。
大体の受験者の方は、大学に通いながらだったり、働きながら勉強をしており、勉強時間を十分に確保できない、というのが実情です。
よく、「C言語は難しいから避けた方が良い」と言われますが、私はC言語しかできなかったので、C言語を選択して合格しました。
特に、IT系で働きたいと思われている方なら、C言語かJavaのどちらかは出来た方が後々楽になります。
Pythonの対策・お勧め参考書
対策
プログラミング言語の攻略のためには2つの対策が必要です。
2つの対策とは以下です。
- 言語の仕様を理解すること(暗記)
- やりたい事をプログラミング言語で表現する練習
「やりたい事をプログラミング言語で表現する」とは、例えば、ある文字列のデータ「abcabc」を「aabbcc」に並べ替えるにはどんなプログラムを作れば良いか、などです。
特に「やりたい事をプログラミング言語で表現する」というのは慣れがないと難しいため、演習が必要です。
短期間での合格を目指すなら、実際の過去問を通じて演習するのが効率良いです。
お勧め参考書
そもそもプログラミングが初めての人には、先ずは以下の書籍をお勧めします。
ページ数は192ページですが、文字は大き目なので、2~4時間程度あれば読めます(個人差はあると思います)。
プログラミングの本で、挫折してしまう理由の1つが、一度解説した内容は知っている前提で次から登場してくる事です。
一度解説されたくらいで覚えられる人は少数派なため、ページ数が進むと、だんだんと理解できなくなってしまいます。
本書では、1度出て来たことでも、出てくるたびに解説があるため、復習にもなりますし、挫折する事もないと考えます。
上記の本で学習した後に、下記の本をお勧めします。
試験対策だけでなく、Pythonの実用的なスキルも身に付けることができます。
色々な資格を受けて来た経験からいうと、試験に合格することだけを目標に勉強をするのはモチベーションを維持するのが難しいです。
下記のテキストでは、試験対策だけでなく、実用的なスキルを身に付けることができます。
実際にPCを操作しなくても、読み進めて理解できる内容になっているので、移動中や隙間時間中の勉強にも使えます。
(全文PDF・単語帳アプリ付)徹底攻略 基本情報技術者の午後対策 Python編 第2版
C言語の対策・お勧め参考書
対策
基本的には表計算と同じく、言語の仕様理解とプログラミング言語で表現する演習が必要です。
よく「C言語は難しいから表計算にした方が良い」という噂を聞きますが、もし、ある程度でもC言語の心得がある人なら、素直にC言語を選択する事をお勧めします。
元々C言語を理解していれば、言語仕様を覚える手間を省ける分、勉強期間を短縮できます。
お勧め参考書
基本的には表計算と同じシリーズです。
C言語を身に付けるには、以下の柴田望洋氏の書籍がお勧めではあります。
上記は良書ではあるのですが、試験の対策を過不足なく行うには、試験に準拠した参考書を使う事をお勧めします。
まとめ
プログラミング未経験者のための、基本情報・プログラミング問題の対策を書かせて頂きました。
まとめとしては以下です。
- プログラミングは25点配点なので避けて合格するのは難しい
- プログラミング未経験者がとにかく合格を狙うなら表計算ソフトがお勧め
- 対策は「言語仕様の理解」「やりたい事をプログラミング言語で表現する」の2つ
「プログラミング未経験で合格なんて無理!」と思う方もいるかもしれませんが、最初はみんな未経験者です。
もし今、未経験だからといって諦める必要はありません。
ご参考になりましたら幸いです。
以上
コメント