見出し画像

Pythonの新試験: Python 3 エンジニア認定 実践試験 (ベータ試験) に合格したので勉強方法をレポート

私事ですが、Python 3 エンジニア認定実践試験の第1回ベータ試験に合格しました。合格者番号は1番です🎉
これからこの試験に挑戦する方へ、簡単に私の試験対策方法でもお伝えできればと思います。

内容は全て第1回ベータ試験 (2022/02) 時点での内容となりますことご了承下さい。
※ 2022/05 現在は第2回のベータ試験が全国開催されています。 https://www.pythonic-exam.com/archives/news/python-jissen-bata

試験対策の方針

私の試験対策は、どの試験でもだいたい同じです。

  1. 調査と準備を入念に行うこと

  2. 最小限の勉強と時間で合格すること

ほかはすべて後回しにします。
試験範囲を完璧にするなんてもっての外です。ギリギリでも満点でも同じ合格です。

調査と準備

まずは主教材を購入します。
主教材:「Python実践レシピ」(技術評論社)

私は技術評論社の電子書籍 (PDF) で購入しました。こちらが少し安かったです。
ただ、一番の目的は PDF から試験対策用の冊子を作るためです。これは次の項目でお話します。

この教材は試験が終わったあとにも実務で大活躍しますので、試験が終わったあとに試験範囲外を改めて熟読しましょう。
各章の最後にある「ちょっと役立つ周辺知識」と「よくあるエラーと対処法」という項目があるのですが、この内容が実務に活かす上で非常に有用です。

主教材の PDF 作り変え

試験の出題範囲は公開されていますので、その部分のみを取り出した PDF ファイルを作ります。
公開されている内容は下記のとおりです。

出題範囲:主教材である「Python実践レシピ」(技術評論社)より以下の範囲と割合で出題する予定です。

https://www.pythonic-exam.com/archives/news/python-jissen-bata より引用

上記の表を見てもらう通り、章や節単位で出題されない範囲が結構あります。
出題されない範囲は読まなくても合格できます。
むしろ出題範囲外は試験前の準備では割り切って読まないということです。
ただ、この本の出題範囲外は実務で有用な項目なので、試験後に読み直して継続学習することを強くおすすめします。

この本の総ページ数は PDF 版で 513 ページです。
そこから出題部分ページのみ取り出した PDF を作成すると 310 ページになりました。
これだけで全体の約4割のページを削減した試験対策本ができあがります。
PDF の編集には PDFsam などを利用すると良いでしょう。

勉強するポイントを解析

上記の出題範囲の表をもう少し解析しましょう。
各章の出題問題数が出ているので、実際のページ数から出題割合を計算します。

ページ数を含めた解析

上記の表から見てもらえる通り、出題傾向にはどのような試験も重点的な項目があります。
例えば章の問題予定数が同じ2問でも、2章:コーディング規約 では 20 ページですが、5章: タイプヒント だと 7 ページになります。
これは 5 章に力を入れたほうが簡単に点が取れやすそうなことがわかります。
私が設定した判定 A ~ C のしきい値と集計は以下のとおりです。

判定のしきい値

問題数40問のうち正答率70%で合格なので、理論上は判定が A と B のものを完璧にすれば合格できます。
特に判定 A は落とさないようにしましょう。
逆に判定 C の項目は勉強の優先度を下げます。
このように効率的に重点的に勉強するポイントを絞っていくことが大事です。

出題方式

こちらはベータ試験なので、まだ問題集などが存在しません。また、ネット上に例題などもありません。

試験問題は口外できないので出題の雰囲気だけお伝えしますと、Python3 エンジニア認定データ分析試験のような主教材からの出題方式をイメージしてください。
出題内容が主教材から出題されますので、本を読み込んでいけば問題集などなくても大丈夫なはずです。

ほか、細かい試験対策は今までの Python 試験と変わらないので割愛します。

難易度

こちらも本来は事前に調査したいところですが、ベータ試験なので未知数となります。
また、ネット上で公式に難易度に言及している部分が見当たりませんでした。
唯一、正確に言えるところでは、当然ながら基礎試験よりも難しいということです。

私の所感での難易度は、合格率 20〜30% レベルの試験ではないかと思います。
Java 8 Gold の試験と同じくらいかな?
PHP 8 上級や PHP 5 上級に比べたら簡単かな?
という印象だったからです。

私以外に合格しているという報告がネットやSNS上で見当たらないので、もしかしたらもう少し難易度が高いかもしれません。

他にできる対策

出題範囲の1章~4章までの一部は、基礎試験でも問われた内容となります。
まずは基礎試験をおさらいしてください。
基礎試験は下記のページで模擬試験を受験できます。

出題範囲の2章: コーディング規約 は公式が PythonZen & PEP 8 検定試験 を公開しています。
こちらの試験、自宅で無料で受験できる試験となっています!
こちらも合わせて受験し合格してしまいましょう。

(私が実践試験ベータ試験を受けたあとで PythonZen & PEP 8 検定試験 が公開されました。)

勉強時間の算出

主教材の読むべきページを絞ったところで、ここで初めて主教材にきちんと目を通します。
が、まだ勉強はしません。

まずは1時間を目安に本を読み切ります。これはこの本の全体像を把握するための作業です。
このときに重要なのが、目次をしっかりと読み、普通のページは流して読みます。
目次というのはいわば本全体の地図なので、何をこれからこの本から学ぶのかが全てまとめられて書かれています。
そこで自分が知っていそうな内容がどのくらいあるのかを把握し、勉強時間をどんどん削っていきます。
そして本文をパラパラめくりながら、図やグラフが多い章があったり、文字がひたすら書かれている章など、傾向を把握していきます。ここでも自分が知っていそうな項目は飛ばせそうだなと把握していければOKです。

私は試験前にここまでを調査し、だいたいどの程度の時間をかければ合格できそうかを算出して勉強を開始します。
これは自分の仕事量やスピードの見積につながります。闇雲に勉強はせず、必要なところを最小限勉強します。
これは試験の合格までのプロセスを通して効率化し、見積の精度を仕事にも活かせるようにしています。
なので調査と準備が大切だと考えているわけです。

今回の私の見積は、最終的にだいたい 100 ページ勉強すれば良さそうと判断したので、8〜12時間で合格できそうと見積もりました。
実際は予定が狂って6時間の勉強時間でしたが、優先順位をつけて勉強できたので問題ありませんでした。

調査と準備は以上です。

勉強方法

ここから勉強になりますが、調査と準備で試験勉強範囲は絞り込んでいます。
なので、ただひたすら準備されている内容を勉強するだけです。

これが非常に重要で、勉強するときにはやるだけの状態にしておくと、スキマ時間も勉強がどんどんできます。
今回はひたすら本を読んで、自信のないところは実際にコードを書いて動かして確認しました。

逆にこのときにやってはいけない勉強法は、新たにノートにまとめ直すということです。
ノートにまとめ直すくらいなら、本に付箋を貼ったり、ペンで書き込んだほうが遥かに効率が良いです。
そもそも綺麗にまとめられているものが参考書なので、それを更にノートにまとめる必要はないです。
まとめるなら A4 用紙 1 枚にすべてまとめるくらいまでまとめましょう。

私は PDF を作り直しているので iPad 上でひたすら書き込みました。

あとは、先に上げた「他にできる対策」の模擬試験や試験もやっておきましょう。
久しぶりに試験を受けられる方は、時間配分なども含めて基礎試験の模擬試験を行っておくと当日安心できます。

受験した感想

これは受験してよかったと思います。
仕事やプライベートでコーディングしていると、どうしても癖ができてしまいます。
今回は実際の業務レベルでの Python のベストプラクティスが改めて学習できたと思います。

Python 試験の人気はすごいので、難易度の高い試験に(合格番号上で)1 番に合格できたのは当面自慢できそうかなと思います😊

ベータ試験受験の大事な心構え

ベータ試験というのは試験正式リリース前の試験問題のレベルや不備を見つけ、試験の品質を上げる協力をする特別な受験方法です。 一足早く試験を受けられる権利ではありません。
見直しながら問題文や選択肢におかしなところがないか、時間ギリギリまでフィードバックするように心がけましょう。

今回の全国ベータ試験ではどのような協力が求められるかはわかりませんが、ぜひ運営にご協力をお願いします。

おまけ

今回の資格勉強法は、会社のウェブセミナーで以前お話した Python3 基礎試験の方法を応用したものです。
動画で公開されていますので、こちらもぜひ参考にしてください。

今回のレポートは以上です。

いいなと思ったら応援しよう!