Python初心者によるPython3エンジニア認定基礎試験の勉強方法（2020年8月合格）

今回は「[Python3エンジニア認定基礎試験](https://www.pythonic-exam.com/exam/basic)」に合格したため、その学習方法を記載します。


#■筆者情報（2020年7月時点）
・インフラエンジニア
・AWS資格はプロフェッショナルまで取得済み
・[G検定](https://www.jdla.org/certificate/general/)には合格済み（2020年7月4日受験）
　※詳細は「[★G検定合格者による受験時の心構えについて（2020年7月合格）](https://qiita.com/gomasa/items/f15c3ddcf33caa44852b)」参照。
・プログラミング経験は新人研修程度。
・もちろんPythonは触ったことが無い。

#■受験動機
私が受験を決めたのは2020年7月にG検定を合格した後の事です。元々G検定を受験した大きな理由は「[AWS認定　機械学習－専門知識](https://aws.amazon.com/jp/certification/certified-machine-learning-specialty/)」を受験するためでした。AWSの専門試験は複数あり、どれを受けようかと思案していたのですが、G検定受験の機会があり、これが合格した暁には「AWS認定　機械学習－専門知識」試験を受験しようと思っていました。

しかし、G検定を合格したことでAI関連の知識領域を広げたいとの欲求が強くなり、上司と相談して「[E資格](https://www.jdla.org/certificate/engineer/)」の受験をすることにしたのです。「E資格」は3つの事前講座を受講する必要があり、最初の講座を2020年9月から受講することになりました。「E資格」ではPythonが使えないと苦労するとのことで、まずは事前学習することにしました。

|教材名 |区分　|勉強方法|
|:------|:------|:------|
|[ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装](https://www.amazon.co.jp/gp/product/4873117585/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1)|書籍|E資格取得の勉強方法を調べると、ほとんどと言ってよいほど登場するバイブル的な書籍。E資格を取得する為には、必須級のアイテム。<br><br>|
|[ゼロから作るDeep Learningで素人がつまずいたことメモ: まとめ](https://qiita.com/segavvy/items/4e8c36cac9c6f3543ffd)|WEB(無料)|上記の書籍を基に実際に勉強を実施され、つまずいた部分を画面ハードコピーまで添付して解説してくださっている@segavvyさんのサイトです。この書籍で学習するにあたっては非常に参考になります。<br><br>|
|[Anadonda](https://www.anaconda.com/products/individual)|アプリ(無料)|「データサイエンス」や「機械学習関連アプリケーション」のためのPythonおよびR言語用のディストリビューションとのことです。書籍の中でインストールするように記載があります。Numpiを含む機械学習必須のライブラリが一緒にダウンロードされる為、機械学習する人は、これをインストールした方がよいと思います。<br><br>|
|[spyder](https://qiita.com/gomasa/items/1c9e94440ae1719a595d)|アプリ(無料)|「Anadonda」をインストールすると同時に勝手にインストールされる統合開発環境です。途中から使用するようになってから学習効率が飛躍的にアップました。早いうちから使い始めた方がよいと思います。詳細は「[【Python機械学習】初心者向けSpyder活用のすすめ（2020年8月時点）](https://qiita.com/gomasa/items/1c9e94440ae1719a595d)」という記事に纏めました。<br><br>|

G検定の受験後にこの本を購入して学習を始めました。
正直、G検定を受験する前にこの本を実施しておきたかった！と思うくらい解りやすい内容で、あれだけ苦戦した関数系の考え方がとてもよく解りました。ただ、やはり実務でのプログラミング経験のない私は、Pythonのコマンドを調べることもしばしば。それが、だんだん効率が悪く感じてきました。いっそのこと、先にPythonの基礎的知識を習得した方が、効率的なんじゃないか？そう考えた結果「Python3エンジニア認定基礎試験」を受験することにしました。


#■試験内容
試験内容は以下の通りです。

受験費用：一般：10,000円（税抜）

|教材名 |区分　|情報|
|:------|:------|:------|
|[Python3エンジニア認定基礎試験(公式)](https://www.pythonic-exam.com/exam/basic)|Web(無料)|まずは公式サイトで試験内容を確認しました。この試験の特徴はテスト範囲が「Pythonチュートリアル」から出題されることが明確になっている点です。どの章から何問出題されるか、まで明確になっています。<br><br>

#■勉強方法と活用した教材
以下の教材を実施しました。

|教材名 |区分　|勉強方法|
|:------|:------|:------|
|【公式テキスト】<br>[Python チュートリアル(公式)](https://docs.python.org/ja/3.5/tutorial/index.html#the-python-tutorial)<br>（0.5日学習）|Web(無料)|すべての出題がここからされる前提となっているチュートリアルです。チュートリアルと記載されていますが、説明は全然易しくないので、ついて行くにはググりまくる必要があります。そして、英語の和訳がいまいちなので、とにかく日本語の意味が解りにくく、読んでいると睡魔に襲われることもしばしば。Pythonを理解していないのに、このチュートリアルから読みだしたのが失敗でした。<br><br>|
|[Python3エンジニア認定基礎試験の効率的な勉強方法!](https://ccie-go.com/python-exam-study/)|Web(無料)|勉強方法の失敗に気付いた私は、再度勉強方法について調べました。その際に行きついたのがこのサイトです。正直、勉強方法は、このサイトの方針に従って実施しました。非常に有益な情報でした。<br><br>|
|[プログラミング超初心者が初心者になるためのPython入門 (全3巻)](https://www.amazon.co.jp/gp/product/B0753GR7XL?ref_=dbs_r_series&storeType=ebooks)<br>（1.5週間学習）|kindle|この3冊でPythonの基礎を勉強しました。Python2を前提に記載されているので、Python3では一部利用できないメソッドもありましたが、私がPythonの基礎を身に付けるのに非常に役に立ちました。3冊ですが1冊が短いので、1日2～3時間勉強していれば、1週間程度で読み終わります。<br><br>|
|【模擬試験】[Python チュートリアル(公式)](https://docs.python.org/ja/3.5/tutorial/index.html#the-python-tutorial)<br>（0.5日学習）|Web(無料)|再度、チュートリアル読破に挑戦しました。3冊読んだおかげで大分内容が理解できるようになり、相変わらず睡魔との戦いでしたが、休日1日(12時間くらい)で読み終わりました。正直、その後もチラチラは見ましたが、通して読んだのは1回だけです。<br><br>|
|【模擬試験①】<br>[DIVE INTO EXAM](https://exam.diveintocode.jp/exam)<br>（①②合わせて1週間学習）|Web(無料)|これまで受験した資格試験の中でも、最上級にイケている模擬問題。問題が毎回ランラムに変更される上、実施した履歴が残るという優れものでした。初回は525点という散々な結果でしたが、5回目で1,000点に到達しました。<br><br>とにかく、この模擬試験に出てきた問題で解らないものは徹底的に調べて理解しました。<br><br>|
|【模擬試験②】<br>[PRIME STUDY](https://study.prime-strategy.co.jp/)<br>（①②合わせて1週間学習）|Web(無料)|次に実施したのはこちらの模擬試験です。第１回～３回まで無料で実施できます。正直、「DIVE INTO EXAM」より難易度が高く、第１回の初回は65/100点で不合格でした。複雑な問題が多く、時間的にも60分の時間枠ギリギリでの回答となりました。「結果の詳細」メールに関しては、全部の問題の自分の回答と正解が併記されており、何を間違えたかは確認できるようになっています。<br><br>「こんなキーワードはチュートリアルに記載がなかった！」と思って調べてみたら、ほとんど「チュートリアル」にしっかり記載されていました。正直「チュートリアル」を2周読むのは辛かったので、私はこの模擬問題集に出てきたキーワードを徹底的に調べて理解する方針としました。例えば、「この5つの文の中で正しい記載はどれか」と言う問題があれっば、間違いの4つの文のどこが間違っているかを徹底的に調べました。その結果、2周目はほとんどが90点以上を超える結果となりました。<br><br>|

#■私の模擬問題集実施結果（参考）
これくらいの点数が取れていたら合格できる、という情報です。

##DIVE INTO EXAM
以下のような結果となります。問題は40問以上あり毎回入れ替わるのですが、4回くらいやった段階で、さすがに答えが分かるようになってきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561572/7cfbb42a-2ee7-1320-b04c-76fc90f8e397.png)

##PRIME STUDY
「DIVE INTO EXAM」で900点以上取れているのに不合格になるレベルの問題です。ただし、しっかり内容を理解することで2回目は90点以上取れるようにはしています。

|模擬試験名 |点数　|合否|実施日|
|:------|:------|:------|:------|
|第1回 Python 3 基礎 模擬試験|65点|不合格|2020年7月26日|
|第1回 Python 3 基礎 模擬試験|95点|合格|2020年7月26日|
|第2回 Python 3 基礎 模擬試験|67.5点|不合格|2020年7月27日|
|第3回 Python 3 基礎 模擬試験|70点|合格|2020年7月29日|
|第2回 Python 3 基礎 模擬試験|100点|合格|2020年7月31日|
|第3回 Python 3 基礎 模擬試験|95点|合格|2020年7月31日|


#■試験（8月1日受験：合格）

|ポイント|内容|
|:------|:------|
|試験会場|「[OddesseyID＆パスワード](https://cbt.odyssey-com.co.jp/)」と「指定の身分証明書」だけは忘れてはいけません。[OddesseyID＆パスワード]を覚えれないなら、係員に言うと記載する付箋の持ち込みを許可してくれます。私以外の他の受験者も付箋を貰っていました。<br><br>他の試験の際には途中でトイレに行くことも許されたのですが、この試験は体調が悪かろうが外に出たら終了、の前提でした。テストが始まる前にも何度も事前にトイレに行くように促され、逆にそれがプレッシャーになりました。途中で腹が痛くなったら、と緊張しながら受験しました。<br><br>また、今回はPayPalで事前に受験料を支払いしたのですが、私の試験会場では当日に会社宛ての領収書を発行してもらえました。これがないと会社の事務処理が面倒くさいので助かりました。<br><br>|
|所感|問題の内容は規約によって記載できません。ただし、40問の問題を解くのに30分くらいで終わりました。見直しをしても40分弱で終わった形です。40問中30問は自信満々で回答できました。10問くらいは曖昧な状態でしたが、合格ラインは700点であり、さすがに13問は間違っていないだろう、という感覚でした。<br><br>また、紙やペンの持ち込みができない為、計算式はすべて暗算する必要があるのですが、困ることはありませんでした。<br><br>|
|結果|テストが終了した後はアンケート画面に遷移します。アンケートの回答が完了すると合否が表示されます。私は「合格」で、正解率は8割以上でした。<br><br>帰りに「試験結果レポート」の印刷物を渡してくれます。他にレポートが発行される訳ではないので、失くしたら困るレポートです。後日に認定証が郵送されてくるので、一緒に保管しておく必要があります。<br><br>|

#■合格のポイント
こちらに私が合格のポイントだったと思うことを記載します。
私と同じPython初心者を前提としたポイントになります。

##「Pythonチュートリアル 第3版」は買わなくてよい
オライリー・ジャパン「[Pythonチュートリアル 第3版](https://www.amazon.co.jp/Python%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB-%E7%AC%AC3%E7%89%88-Guido-van-Rossum/dp/4873117534/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=Python%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB+%E7%AC%AC3%E7%89%88&qid=1596265387&sr=8-1)」という書籍が主教材となっていますが、同じ内容のWeb版があるため買う必要はありません。そのお金があるなら、他の教材に費やしましょう。

##公式のチュートリアル（Web)を読むのは後回しにしよう
残念ながら、Python初心者に解るようには記載されていません。急がば回れで他の解りやすい書籍でPythonの基本を理解しましょう。[プログラミング超初心者が初心者になるためのPython入門 (全3巻)](https://www.amazon.co.jp/gp/product/B0753GR7XL?ref_=dbs_r_series&storeType=ebooks)はおススメです。

##とにかくPython環境で実践しよう
とにかく色々な構文を実際に実行してみて、動きを見るのが一番理解が早いです。私は「Spyder」というツールを使って色々なパターンを試すことで構文に関しては相当理解が深まりました。Spyderの詳細は「[【Python機械学習】初心者向けSpyder活用のすすめ（2020年8月時点）](https://qiita.com/gomasa/items/1c9e94440ae1719a595d)」に記載しています。学習環境としては最適だと思います。

##模擬試験の問題の内容を完全に理解しよう
最後の1週間は模擬試験の問題内容を徹底的に調べることに費やしました。例えば、「この5つの文の中で正しい記載はどれか」と言う問題があれば、間違いの4つの文のどこが間違っているかを徹底的に調べました。これにより2つの問題集で常に9割以上の正解率になる状態としました。

##もし1000点満点を取りたいなら…
私の学習法だと「[プログラミング超初心者が初心者になるためのPython入門 (全3巻)](https://www.amazon.co.jp/gp/product/B0753GR7XL?ref_=dbs_r_series&storeType=ebooks)」でPythonプログラムの基礎を学び、模擬試験で試験問題の傾向を学ぶ、とのことで、全く「チュートリアル」を重視していません。1度は読む必要はありますが、2度は読まなくても合格できます。

ただし、1,000点は絶対に取れません。1,000点満点が取りたければチュートリアルを必死に読み込んでください。

#■感想
機械学習の為にPythonの勉強を始めて、ある程度体系的に勉強できたことは非常に良かったと思います。自分の知識を資格の形で評価していくことは重要だと思っており、段階的にも必要なステップだったと思っています。

#■次回に向けて
次回は「[Pythonデータ分析試験](https://www.pythonic-exam.com/exam/analyist)」の合格を目指したいと思います。その先に「E資格」と「AWS認定　機械学習－専門知識」の資格取得を視野に入れ、今年度中にすべての資格を取得したいと思います。

※2020/09/12追記※
2020年9月に「[Pythonデータ分析試験](https://www.pythonic-exam.com/exam/analyist)」に合格しました。詳細については「[Python初心者によるPython3エンジニア認定データ分析試験の勉強方法（2020年９月合格）](https://qiita.com/gomasa/items/06fbcedd8c45b1744cbf)」にアップしています。


この記事がこれから「Python3エンジニア認定基礎試験」を受験される方の参考に少しでもなれば嬉しいです。

以　　上