【合格体験記】Python3エンジニア認定基礎試験を受験するまでの勉強方法と試験の感想
6月6日、Python3エンジニア認定基礎試験を受験し、無事合格しました。
この記事では、Python3エンジニア認定基礎試験に合格するために行った勉強方法と、実際に受験した感想についてまとめます。
結論。Python3エンジニア認定基礎試験の感想
- 受験するなら、Python学習直後がいい
- 試験範囲に合わせた教材は「DIVE INTO CODEの模擬試験」と「Pythonチュートリアル」くらい
- 「DIVE INTO CODEの模擬試験」が本番で流用されることは期待できないが、出題レベルはほぼ同じ
- 「Pythonチュートリアル」は正直初心者には読みにくい
- 「Pythonチュートリアル」とのセット購入で実質割引受験もできる
- 試験範囲の難易度は高いが、問われる内容の多くは簡単に覚えられる
- 試験が終わったから、いよいよ本格的なプログラミングに挑戦したい
それでは、詳細を解説したいと思います。
勉強開始前のスペック
まずは、勉強開始前の私のスペック(というか、プログラミングの経歴)について。
- 2008年度の1年間Javaを大学で学習(基本情報技術者にJavaで合格)
- 2009~2010年度の2年間C言語を大学で学習(2010年度の勉強は少な目)
- 2010年度の後半~2011年度でアセンブリ言語を学習(途中で空白期間あり)
- 2012年度~2015年11月頃まではITから離れる
- 2015年12月~2016年2月頃まで、独学でJavaを学習
- 2016年2月からIT業界に就職するが、ノンプログラマー(ネットワークエンジニア)
- 2019年10月頃から、VBAとUWSCで業務・私生活の効率化を実施する
総合すると「プログラミング未経験よりはプログラミングの知識がある」といったところ、ただし「昔から趣味・仕事でプログラミンをやっている人よりはレベルはかなり下」になります。
大学卒業後、すぐにはIT業界に入らず、就職後も希望していた内容とは違う業務となったため、直近約8年程度はプログラミングをほとんど行わない仕事・生活を送っていました。
Python3エンジニア認定基礎試験を受験した動機
色々とありますが、一番大きかった理由は「もっと仕事・生活が効率よくなるように、何かできないか?」というものです。
長くプログラミングをやらない生活を送ってきましたが、同僚の影響で2019年の後半からプログラミンをやるようになり「なにこれ!便利じゃん!」と思うことが度々ありました。そんな中で「本格的にプログラミングをやりたい!」と思い、Pythonの学習を思い立ちました(更に詳しい理由はこちら)。
また、Pythonを学習する上で「闇雲に勉強をしても、時間を浪費してモチベーションを下げるだけだ」と考えました。「Python3エンジニア認定基礎試験」を未経験者から初心者レベルまで成長したという基準に使えば、学習の計画も立てやすいですし、試験を目標にモチベーションも維持できます。
Pythonの基礎学習に利用した教材と感想
ここで紹介する教材はPython3エンジニア認定基礎試験のため「だけ」に利用した教材ではありません。例外的に、試験対策用に利用したものは、「Pythonチュートリアル」と「DIVE INTO CODEの模擬試験」の2つです。
あくまで「Python初心者が基礎を固めるために利用した教材とその感想」としてご理解いただければと思います。
Progate
かなり有名なプログラミングのオンライン学習サービスです。
メリットは多くの言語の基礎を学べることと、スマホアプリがあること。デメリットは基礎レベルにとどまってしまうこと。
ちなみに「Pythonの学習」にだけ絞った場合、Progateはおすすめしません。2020年6月時点では、ProgateのPythonのコースはあまり充実しておらず、基礎レベルもかなり内容が薄いです。1度全体を学習してしまうと、2回目以降は片道の通勤時間でほとんどの内容が終わってしまう程です。
他の言語を勉強するついでに、Pythonの基礎を齧っておきたい人向けです。
PyQ
「PyQ
」はPythonに特化したオンラインのプログラミングの学習サービスです。私は知らずに利用しましたが、一応、公式の参考教材になっています。
最大のメリットとしては、問題の種類がかなり豊富で、実際にコードを書きながら学習できること。デメリットは料金が高めなところ(月額3,000円程度かかります)。
ちなみに、公式の参考教材ですが、内容は試験対策用になっていません。むしろ、試験範囲を超えた内容が充実している印象です。
PyQでは、学習目的に応じたコースが用意されているので、できれば「Python3エンジニア認定基礎試験コース」とか作って欲しいのですが、2020年6月7日時点ではそういったコースは用意されていません。
ちなみに、10日間のみなら一部無料で利用できます。まとまった休日があるなら、無料で一気に基礎を固めてもいいでしょう。
現役シリコンバレーエンジニアが教えるPython3(Udemy)
「PyQ」と並んで、私が多く利用したのが、Udemyの「現役シリコンバレーエンジニアが教えるPython 3」です。
メリットは「試験範囲を網羅+応用レベルも後で学習できる」ところと、「セール時はかなりの低価格(1200~1600円くらい)」なところ。ついでに、事前に動画をダウンロードしておけば、外出中にスマホで利用してもほとんど通信量が発生しません。
基礎レベルから応用レベルまで学習でき、基礎レベルを一通り学習すれば「Python3エンジニア認定基礎試験」の多くの問題に対応できるようになります(実際、私は模擬試験で初見から合格点を超えました)。
デメリットを上げるとすれば「書籍と比べて検索性が落ちる」ところ。この点だけは「ネットの検索で妥協する」か「別途入門書を1冊購入する」ことでカバーする必要があるかと思います。
独学プログラマー
Amazonで「Python」と検索すれば、かなり上位に出てくるくらいに有名な参考書です。
メリットは基礎がわかりやすいと同時に、総合的なプログラミングの学習ができるところ(後半は、仕事の探し方、チームでの働き方などにも踏み込んでいる)。デメリットは「Python3エンジニア認定基礎試験」に対応するには、やや細かな知識が省かれているところ。
「プログラマーとして学習する」という目的であればおすすめできますが、試験対策としてはあまりおすすめできません。
DIVE INTO CODEの模擬試験
受験するなら必ずやっておきましょう。ちなみに無料。
本番試験を想定した問題が80問あり、実際に受験した感想としては、ほぼ本番の水準の出題内容です(公式の主教材を抜粋したような問題が多いので、当然ではあります)。実力診断のため、Pythonの基礎をちょっと学習したら、早めに取り組むことをおすすめします。
デメリットを上げるとすれば「会員登録が必要」「本番で模擬試験の流用は期待できない」というところ。基本情報技術者試験の午前試験のように、流用で6割取れるといったことはありません(覚えることが少ないので、結果的に類似することはあります)。
ちなみに、私の受験後(2020年6月25日)からですが、認定スクールになっているプライム・ストラテジーでも3回分の模擬試験が公開されています。両方使うとより万全になるかと思います。
Pythonチュートリアル
公式で主教材として指定されている参考書です。もともとは、Pythonの作者が書いたソース添付のドキュメントが発展したもので、Web版もあります。書籍版の購入は必須ではありません(書籍版は「訳者まえがき」に、スキルレベルに応じた読み方が記載されているというメリットがあります)。
最大のメリットは「試験に本文そっくりの問題が出てくる」こと。私が受験した際は「9.5 継承」「10.6 数学」「10.7 インターネットへのアクセス」で掲載されているコードなどが、ほぼそのまま出題されていました。
一方、デメリットは文章がかなり硬いこと。専門的な言葉があまり噛み砕かれずに出てくることがあるため、入門書なのに初心者向けとは言いにくいです。どうしても、入門書として利用するのであれば、書籍版の「訳者まえがき」に初心者向けの読み飛ばし方が書いてあるので、書籍を買った方が無難です。
その他の教材
paiza
問題演習をしたいなあと思い、PyQを利用する前にちょっとだけ取り組みました。
途中から、PyQを利用し始めたのであまり利用しませんでしたが、標準ライブラリの一部を覚えるのには役に立ちました。
できる 仕事がはかどるPython自動処理 全部入り。
この本は、冒頭の文章を読んだのみなので、実質的には勉強に利用していません。
試験に合格し、初心者レベルには達したと思いますので、これからは「しごとがはかどるPython自動処理 全部入り。」と「退屈なことはPythonにやらせよう」を使って、業務・私生活の効率化に取り組みたいと思います。
実際にかかった費用
実際にかかった費用は以下のとおりです。
- Progate:1,080円
- PyQ:3,040円
- 独学プログラマー:1,700円
- 現役シリコンバレーエンジニアが教えるPython3:1,300円
- 受験チケット+Pythonチュートリアル:11,550円
- 合計:18,670円
結構な予算がかかっていますが、この中で「Python3エンジニア認定基礎試験のためだけ」に利用したのは「受験チケット+Pyrhonチュートリアル」のセット購入のみなので、実質的には11,550円になります。
ちなみに、交通費は通勤定期の範囲内なので無料。食費もかかっていません。
実際の勉強時間
実際の勉強時間は以下のとおりです(Studyplusで計測しています)。
Studyplusの結果では、Python未経験~合格までに105時間56分勉強しています。
とはいえ、上記はPythonの学習であり、Python3エンジニア認定基礎試験の勉強時間ではありません。実際には、82時間6分Pythonを勉強してから試験用の勉強に切り替えたのですが、その時点で模擬試験は合格点になっていました。
ネット上では「未経験からで40時間」と書かれていますので、試験対策用に特化して勉強を進めれば、恐らくはその程度で合格は可能かと思います(選択式かつ本文からのテキスト本文から抜粋・改変の出題が多いので、実践する力より暗記しているかが問われる試験です)。
個別の教材ごとの学習時間は以下のとおりです。
時間については、右から6月、5月、4月、3月の学習時間です(2月以前はPython未経験)。
一番時間をかけたのが「PyQ」の約35時間(コースごとに計測してます)、次いでUdemyの「現役シリコンバレーエンジニアが教えるPython 3」約32時間です(Studyplusには「Python3入門+応用…」の長い講座名で登録してます)。あとは「Pythonチュートリアル」の約12時間と続きます。
実際に行った勉強方法と改善点
実際に行った勉強方法の流れは以下の通りです。
- 「Progate」「paiza」で軽めにPythonを把握
- 自宅では「PyQ
」、通勤中は「現役シリコンバレーエンジニアが教えるPython 3」で本格的に勉強開始
- 「DIVE INTO CODEの模擬試験」で実力診断(この時点で、合格点超えてた)
- 「Pythonチュートリアル」を中心に、試験勉強を実施
通勤で使えるアプリ版があったので「Progate」から開始しましたが、通勤時間は最初から「現役シリコンバレーエンジニアが教えるPython 3」を使った方が、学習が深まったかなという印象です。
また「PyQ」か「現役シリコンバレーエンジニアが教えるPython 3」のどちからで基礎をざっとおさえたら、すぐに「DIVE INTO CODEの模擬試験」を開始しておけば、余計な時間を省けたかなと思います。
最後に「Pythonチュートリアル」で仕上げていますが、試験直前は2週連続で60時間近く仕事をしていたので「入出力」「標準ライブラリめぐり─PartII」「仮想環境とパッケージ」「対話環境での入力行編集とヒストリ置換」は捨てました。
反省を考慮すると、初心者が短時間で試験合格を目指すなら、以下の勉強方法になります。
- やや解説が深めの入門書をざっと見渡す
- 「DIVE INTO CODEの模擬試験」で実力診断
- 「Pythonチュートリアル」を中心に学習し、不明点は入門書・ネット検索
試験で点数を取ることを優先した勉強方法としては「Pythonチュートリアル」で出題率が多い章をそのまま暗記すればOKです。なぜなら、試験問題は「Pythonチュートリアル」から抜粋・改変したものが多く、「実践で利用できる」ことより「4択で解答できる」暗記が優先される試験だから。
ただし、初心者の場合は「Pythonチュートリアル」から始めると、かなり読むのが難しく、挫折する可能性があります(とくにプログラミング未経験者の場合)。
そこで、最初に「やや内容が深くわかりやすい入門書」の利用をおすすめします。「やや内容が深く」の基準は「Pythonチュートリアル」の範囲をほぼカバーできるレベル。分厚目でPythonに特化していて、やや応用も含む参考書であれば、ほぼこの水準と言えるでしょう。私の場合「PyQ」や「現役シリコンバレーエンジニアが教えるPython 3」が「やや内容が深くわかりやすい入門書」に相当します。
ざっと試験範囲に目を通し、「DIVE INTO CODEの模擬試験」で実力診断したら、後は「Pythonチュートリアル」の頻出範囲を暗記するように学習していけば、試験合格だけならOKです。わからないことがあれば、入門書やネットで調べていきましょう。
ちなみに「Pythonチュートリアル」の出題率は、公式で以下のように発表されています。3~5、8、10章を中心暗記しておけば比較的簡単に合格点に届くようになります。
章タイトル | 出題数 | 出題率 |
1章 食欲をそそってみようか | 1 | 2.5% |
2章 Pythonインタープリタの使い方 | 1 | 2.5% |
3章 気楽な入門編 | 6 | 15.0% |
4章 制御構造ツール | 9 | 22.5% |
5章 データ構造 | 7 | 17.5% |
6章 モジュール | 2 | 5.0% |
7章 入出力 | 1 | 2.5% |
8章 エラーと例外 | 4 | 10.0% |
9章 クラス | 2 | 5.0% |
10章 標準ライブラリめぐり | 4 | 10.0% |
11章 標準ライブラリめぐり─PartII | 1 | 2.5% |
12章 仮想環境とパッケージ | 1 | 2.5% |
13章 次はなに? | 0 | 0.0% |
14章 対話環境での入力行編集とヒストリ置換 | 1 | 2.5% |
Python3エンジニア認定基礎試験の受験と試験結果
試験はCBT方式で、随時受付を行っています(私は新型コロナウイルスの影響で思うように受験できませんでしたが…)。
また、試験には以下の持ち物が必要です。
- Odyssey ID
- Odyssey IDのパスワード
- 受験票
- 写真付き身分証明書
Odyssey IDとパスワードについては、忘れた場合の対処方法もあるようですが(私が受験した際、周りの人がやってました)、トラブルは避けた方が安全ですので、忘れず持っていきましょう。
また「写真付き身分証明書」については「運転免許証」「パスポート」「住民基本台帳カード」「個人番号カード」「社員証」「学生証」のいずれか1点となっています(代用品についてはこちらに記載があります)。
実際の試験の感想としては(すでに何度も書いた内容もありますが)
- DIVE INTO CODEの模擬試験とほぼレベルの出題
- Pythonチュートリアルの本文からの流用されたコードの出題が多い
- 問題によって難易度の差が大きい(個別の標準ライブラリ(urlib.requestなど)を知らないと解けない問題もあれば、「タプルとは?リストとは?集合とは?」レベルの問題がそれぞれ出てきました)
- 試験時間は余裕で余る(ゆったり全問見直しして、60分中40分かからなかった)
といったところ。
そして、結果は以下の通りです。
- 1.食欲をそそってみようか:正解率100%
- 2.Pythonインタープリタの使い方:正解率100%
- 3.気楽な入門編:正解率83%
- 4.制御構造ツール:正解率100%
- 5.データ構造:正解率100%
- 6.モジュール:正解率100%
- 7.入出力:正解率0%
- 8.エラーと例外:正解率50%
- 9.クラス:正解率100%
- 10.標準ライブラリめぐり:正解率100%
- 11.標準ライブラリめぐり・Part II:正解率100%
- 12.仮想環境とパッケージ:正解率0%
- 13.対話環境での入力行編集とヒストリ置換:正解率100%
- 得点:875点
時間が無くて捨てた分野については「入出力」と「仮想環境とパッケージ」が0%(出題数はどちらも1問)となりましたが、その他はそこそこ点数がとれました。
残念だったのは「エラート例外」。「8.4 例外の送出」については「Pythonチュートリアル」の内容をちょっと改変したものが出てきましたが、全くわかりませんでした。この範囲については、もう一度勉強しておこうと思います。
Python3エンジニア認定基礎試験における反省点
Python3エンジニア認定基礎試験の受験における最大の反省点は、「受験を決心するのが遅れたこと」です。
そもそも試験に限定せず学習することが目的だったので、勉強時間が長引いたのは問題ないのですが、序盤の目標を作り、モチベーションを高めるという意味合いでは、受験は早期に決心しておくべきだったと思います。
とはいえ、この受験を通して最低限の学習は完了し、初心者といえる程度にはなったかと思います。ここからより実践的な内容を学習し、Pythonを役立てていきたいと思います。