はじめに
Python3エンジニア認定基礎試験に合格したので所感や対策を記録します。
私の経歴
プログラミング経験無し、テスター歴半年。
勉強したことのある言語はJava、ExcelVBAなど。
変数、関数、繰り返し、条件分岐などの基本ルールなら受け入れられる程度の頭。
試験を受けた動機
勤務先にてPythonで作成されたツールのコードを見られる機会があった。せっかくなら少しでも箔をつけるために関連する試験が受けられないかな、と思った。合格して何かの役に立つのかは不明。
試験の概要
基礎とデータ分析の2種類しかないそう。Javaのようなレベル分けは現在無い。
基本情報のような決まった場所や日時で受けるのではなく、ITパスポートのように好きな場所と日時を自分で指定して受けられる。
受験にかかる金額が高い。11000円。高い…。
60分で全40問解く。7割の28問正解で合格。
他の受験経験者の記事について
すごい人しか記事を書かないのかもしれない。少ない勉強時間で合格した方が多く不安を煽られた。
下記の記事より、対策に使用したKindleの本と、出題率を参考にした。以下このサイトを★とする。
https://ccie-go.com/python-exam-study/
私が取った試験対策
期間
受けようかな〜と思ってから受験するまで5ヶ月。その間とても勉強したり全く勉強しなかったりした。
対策
-
公式の参考書をとりあえず読み終える。
・「Pythonチュートリアル 第3版」が公式の参考書とのこと。
・最初は内容が全然わからなかったがのちのち比較して成長を感じるためにもまず読んだほうが良いのかもしれない。
・私はこれが嫌で嫌で3ヶ月くらい時間を取られた。対策2と順番を逆にしてもおそらく読み終えるのはきつい。
・この本はPython製作者本人が書いているそう。当たり前なのかも知れないが初心者向けでは無い。正直文章がかなり読みにくいし分かりにくいし、サンプルコードへの説明も不足している。 -
Kindle Unlimitedで基礎の本を3冊読む。
・★サイトにも記載がある、「プログラミング超初心者が初心者になるためのPython入門」シリーズの3冊。
・サンプルコードはもちろん書いてみたほうが良いが、私は隙間時間にスマホで読んでいたので書いていない。 -
Pythonになんとなく慣れる。
・他の初心者向けの本(「Python3入門ノート」や「ふりがなプログラミング」など)を読んでサンプルコードを書いてみるのが良い。あくまで試験が目的なので最初から最後まできれいに読む必要は無いと思う。
・私の場合は勤務先でコードを読める機会があった。
(実際使われているコードを読むときは試験にあまり出ないクラスの概念が重要なので、ここでその理解をしたことが試験の役に立ったかは不明) -
模試で満点取れるまで実施と復習を繰り返す。
・https://exam.diveintocode.jp/exam
に無料登録して模試を実施する。
・私の場合5回目くらいで満点を取れた。そうならなければもう少し他の参考書などを読んで慣れる必要があるかも知れない。
・いろんな人が利用しているサイトなので復習をする際コードに使われている単語そのままの検索で引っかかることが多い。
・満点を取れたあとも他に何をすれば良いか分からず追加で10回くらい解いた。 -
もう一度公式の参考書を読む。
・おそらくだいぶ理解できるようになっている。模試の影響が大きいと思う。
・★サイトの、出題率の表を参考に、重要な部分に重きをおいて読んでいく。出来る限りサンプルコードを自分でも書いてみる。 -
最後にもう一度模試を受ける。
・おそらくよりしっかりと理解しながら解けるようになっている。安心できる。
・対策5と6は受験前の2日間でおこなった。
当日
時間配分
10分ほどで一周解き終わって、15分ほどで不安な問題を見直して、10分でもう一周解き直して確認した。時間はたっぷりあるので焦らずゆっくり解くことが大切だと感じた。試験完了後はアンケートがあった。
試験内容
ここまで簡単な問題出す必要ある?という問題からこんなモジュール参考書に載っていたっけ?というものまである。金額の割に試験が簡単すぎると書いてある記事もあったが、全体的にはそこまで簡単だとは思わなかった。勉強したからこそ解けたと思う。
所感
何度も受ければ運でも受かりそうな試験だが、金額が高いので一回で確実に受かりたいと思うとなかなか受験に踏み出せない。公式の参考書の取っつきにくさと金額の高さが試験のハードルを上げている。出題範囲や問題数は公式の参考書と一致しているのでこれをもとに対策をしたいが、初めは読めば読むほど不安になった。同じ内容を分かりやすく書いた他の参考書があれば良いのになと思う。そしたらきっと全員受かる。
おわりに
以上、プログラミング初心者の方の参考になれば幸いです。