【受験記録】Python 3 エンジニア認定基礎試験


Python 3 エンジニア認定基礎試験を受験にあたり、当時情報が少なく不安だったため僅かながら情報提供。

資格試験は2017年6月9日にスタートし、2018年1月22日に受験してきました。

2018年4月時点で1200名受験しているそうです
受験者数:1273名
合格者数:989名

単純に割った合格率で言うと約78%ということになります。
この記事も地味にアクセス数が多いので少し手直ししました。

2018年6月18日加筆

 

受験目的

 

基礎を固めたいけど重い腰があがらないので、嫌々試験を受けて無理矢理勉強させる。
Pythonは自動化のスクリプトなどに使い仕事を楽に手早く片付けたい。
今のところ機械学習とかには興味はない。

 

受験者のスペック

 

・中小規模のサーバ、ネットワーク構築が本業のいわゆるSIer
・ルーチンワークが嫌いなのでExcel VBAだけはそこそこ使える
・開発の実務経験はない
・学生の頃にJavaをやってた(もうなにもわからない)

プログラムが全くわからないわけでもないけど、経験者と呼べるほどのスキルもなくPythonはかじった程度からの試験勉強スタート。

 

勉強方法

 

試験対策としては、下記のブログでご紹介されてます。
参考ページの内容を参考にしました。

Python3エンジニア認定基礎試験の効率的な勉強方法!

参考ページ:(重要)「Pythonチュートリアル 第3版」の出題範囲ごとに勉強する

試験範囲が「Pythonチュートリアル 第3版」というオライリーの本です。

プログラミング初学者の方が最初からこの本を読むとすぐに挫折すると思います。
プログラミングって何?っていう人向けの本ではありませんでした。

別に悪い本ではなく言語仕様について簡潔に説明し、
詳しくは公式のドキュメントを参考にして下さいという感じで書かれています。

プログラミング初学者の方は本屋さんでPythonの入門書をペラペラめくって、
「これなら分かるかも」と思った入門書から始めたほうが無難だと思います。
せっかく試験勉強しようと思った気持ちを大切にして頂きたい。

 

模擬試験

 

DIVE INTO EXAM で Python3エンジニア認定基礎模擬試験 β版 ができます。
※ユーザ登録が必要になります。
本番の試験は模擬試験より難しかったです。
似た問題は多かったのですが問われ方が少し難しくなっている感じです。

 

試験対策で実際にやったこと

 

まず、「試験勉強だ!」なった途端やる気がそがれた。

せめて楽しく勉強したいと思い言語処理100本ノックをPythonで書いてみることにした。

ググってPythonの書き方を学びながら、着々と問題を解いていく。
以前に「実践力で身につけるPythonの教科書」を少しやっていたのでなんとなくできた。

100本ノックの2章中盤にして早々に飽きる。

次に「Pythonチュートリアル」を眺めてても何も覚えないので、写経が良いとどこかで見たので写経を始めます。

すぐに挫折。これはつまらない。

それでも分からない部分だけは頑張って写経してみる。

後は、模擬試験を解いてわからなかった(何それ?の)部分は本を開いて確認し、
実際に手を動かして動作を確認し、気になるところは公式のドキュメントを確認しました。
模擬試験は3集もすれば一通りの問題が出題され、見た事ない問題はなくなりました。

クラスのところは理解が追いつかないので2問しか試験にでないこともあり潔く捨てる。
模擬試験で詰まることもなく、試験勉強に飽き、試験勉強のせいでPythonが嫌いになりそうなので受験しようと決意。

 

試験中

 

勉強したつもりだったけど「なにそれ?」というのが1問。
「似たようなの本で見たけど、どういう結果が返ってくるんだっけな」が少々。
もう少し我慢して写経しておけば悩まずに済んだのになと思いながら解きました。

 

受験後の感想


875点 / 1000点(合格点は700点以上)
クラス分野の正答率:50%(2問中1問正解)
エラーと例外分野の正答率:50%(4問中2問正解)
標準ライブラリ分野の正答率:50%(4問中2問正解)
他分野の正答率:100%

基礎試験のわりには点数はよくないのですが、素人でも合格は容易な難易度です。
引っ掛け問題とか捻った問題はなく、素直な問題しかありませんでした。
試験中に「なにそれ?」と思った箇所を「Pythonチュートリアル第3版」から探してみましたが見当たりませんでした。
標準ライブラリのミスの一つはこれでした。
エラーの出力結果は正しく覚えておくべきでした。
2択までは絞れたけど感は外れてた模様。
テキスト通りの問題が多かったので我慢して写経していればよかったと反省。

プログラミング初学者を対象にしているのであれば、「Pythonチュートリアル第3版」というのはやや重たく、
経験者を対象にすると主に言語仕様を問われる面白みのない試験といった印象。

目的であった基礎固めは試験勉強を通して果たせました。
例えば for のループの場合、enumarate、zipを知らなかったので無駄な書き方をしていました。
テストの仕方にしても doctest を知ったり、基本的な機能の存在を知れて良かったです。

資格を取る必要はあったのか?

基礎勉強するための一つのゴール地点としては意味がありました。
試験の内容が内容だけに試験を取ったからなんなの感は否めません。
でも、最低限これくらいは知っておきたい内容ではありました。

最後に「“試験勉強”はつまらなかった」と伝えたい。

直近の5年間で年平均3個はベンダー試験を受けていますが、
楽しかった試験はないので私の場合は仕方がないかもしれない。

 

試験勉強始める前の状態

 

以前に読んでいた  or  試験勉強中に平行して読んでいた Python関連の書籍。

実践力を身につける Pythonの教科書

試験を受ける2年前くらいに購入。
この頃は書店の下段にPythonの本は追いやられていた。
Rubyの本ばかり目立つ位置に置いてあったのが懐かしい。
入門書を購入するも途中で飽きて放置。
他の勉強で忙しくてPythonから遠ざかってしまう。

 

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

試験を受ける7ヶ月前に購入。
試験勉強中は試験勉強こそ退屈だと思いながら読み返した。
ノンプログラマーと副題にありますが、これはプログラミング初学者には少し難しいと思います。

 

Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド

試験を受ける4ヶ月前に購入。
退屈なことは・・・を読んで、もう少しスクレイピング学びたかったので夏休み中に詰め込み学習。
夏休み犠牲の対価に退屈な仕事2つを必要最低限のレベルで自動化できたので感謝。
まだまだ改善の余地はあるのでもっと勉強が必要。

 

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

試験を受ける1ヶ月前に購入。
変数名の命名センスがなく、変数名を何にしようかと悩む時間が増えてきたので購入。
試験勉強のために読まなくてよいけどためになる本でした。