「Python 3 エンジニア認定基礎試験」合格体験記
はじめに
はじめまして。現在、私は大学院生(修士課程)です。
この記事では、私が「Python 3 エンジニア認定基礎試験」に合格しましたので、参考書や学習方法などを紹介させていただきます。この試験の合格までにかかった費用は、受験費の五千円だけで済んだので、費用を抑えながら合格できた方法について書いていきます。(五千円は学生だけです。残念ながら、社会人の方は一万円かかります。)
この記事が「試験勉強がうまくいかない」や「どうやって始めればいいんだろう」という人の参考になれば幸いです。
前提
-
Python 歴:4 年目
- 機械学習・深層学習
- これまでに学習に使用したことがある参考書
無料で「主教材」・「公式問題集」の入手方法
この記事を投稿した現在、無料で「Python 3 エンジニア認定基礎試験」の「主教材」または「公式問題集」を貰うことでできるキャンペーンが実施されていました。
私はこのキャンペーンを利用して「公式問題集」をいただきました。理由としては、「習うより慣れろ」精神で、問題文を実装してどうなるかを考えながら学習した方が効果が高いと感じたためです。特に、私は前提で記載した通り、ある程度は触れたことのある言語のため、この方が早いと思いました。
私自身は「主教材」を読んだことがありませんが、初心者の方は「主教材」を選択しても良いと考えます。
詳しい方法は、公式サイトをご覧になって欲しいです。流れとしては、以下の通りです。
- 受験申し込みをする。
- SNS で受験宣言をする。
- 公式サイトから応募する。
私は X で以下のようなツイートをしました。
出題範囲
出題範囲は主教材であるオライリー・ジャパン「Pythonチュートリアル 第4版」より以下の比率で出題します。
章立て | 出題率 (%) |
---|---|
1章 食欲をそそってみようか | 2.5 |
2章 Pythonインタープリタの使い方 | 2.5 |
3章 気楽な入門編 | 15.0 |
4章 制御構造ツール | 22.5 |
5章 データ構造 | 17.5 |
6章 モジュール | 5.0 |
7章 入出力 | 2.5 |
8章 エラーと例外 | 10.0 |
9章 クラス | 5.0 |
10章 標準ライブラリめぐり | 10.0 |
11章 標準ライブラリめぐり─PartII | 2.5 |
12章 仮想環境とパッケージ | 2.5 |
13章 次はなに? | 0.0 |
14章 対話環境での入力行編集とヒストリ置換 | 2.5 |
学習に使用した参考書やサイト
私は購入していないですが、お金に余裕がある方は、「Pythonチュートリアル 第4版」を購入することを推奨いたします。
ただし、私は先述した方法を使って、公式問題集をもらいました。
徹底攻略Python 3 エンジニア認定[基礎試験]問題集
- 一般社団法人Pythonエンジニア育成推進協会が指定する公式問題集。
- 「主教材」に対応した問題が 98 問用意されている。
- 問題によっては、解説に図もあるので、イメージしやすい。
Documentation
- 公式ドキュメントのチュートリアルにサンプルコードや説明が書いている。
ディープロ | プログラミングとIT資格試験の勉強ができる ディープロ
- 「認定模擬問題」であるため、傾向を掴むことができた。
- 模擬試験が無料で何回でも受験することができた。
模擬試験アプリ - Python3エンジニア認定基礎/データ分析/実践試験 - ExamApp
- レベル別で試験が用意されている。
- 一問一答で気軽に取り組むことができる。
- 無料で、解説を読むことができる。
PRIME STUDY(プライム・スタディ) – Python試験とPHP試験の無料模擬試験サイト
- 3 回分の模擬試験が用意されている
- 「認定模擬問題」であるため、傾向を掴むことができた。
- 模擬試験が無料で何回でも受験することができた。
Python の環境
使用したエディタ
私は VSCode (Visual Studio Code) を使いましたが、他のエディタでも構いません。
VSCode の拡張機能
私と同じように、VSCode (Visual Studio Code) を使う方は最低限上記の拡張機能を入れる必要があります。
人工知能の研究者向けの内容ではありますが、Python のコードを書く上であると便利な拡張機能はこの記事に記載しています。
学習方法
学習方法は、既に「Python 3 エンジニア認定基礎試験」に合格されている方の記事を参考にさせていただきました。詳細は、参考記事等をご覧ください。
現状把握
私の試験勉強前の Python の知識・技術としては、人工知能 (AI) の研究をしているため、AI 関係でよく使われるライブラリはある程度は詳しくなってきたと思います。具体的には、研究でよく使う PyTorch や Transformers といったライブラリを使う時間が長いです。しかし、AI 分野以外で一般的に使われるライブラリに関する知識は浅いと感じています。例えば、Python の標準ライブラリは半分以上使ったことすらないと思います。(ライブラリの中に組み込まれている可能性は大いにあります。)
私は、まず現状を測るために、模擬試験を解くことにしました。結果としては、1000 点満点中 850 点でした。不正解となった問題は、try
、 round
や //
などの Python の基礎部分でした。
Python の基礎の習得
模擬試験では、標準ライブラリ以前の問題として、演算子や例外処理という Python の基礎での間違いがありました。(おそらく、私だけではないと思うのですが、)私はコードを書く際に、癖があるためによく使う書き方があると自覚しています。その逆も然りで、あまり使わない書き方もあります。事実として、//
は自分がコードを書く時はほとんど使わないため、挙動が分かりませんでした。
私が Python の基礎を獲得するために行なったことは、参考記事等に記載した記事や本を用いて網羅的に勉強しました。特に、Zenn の Books は、初めて勉強する人でも取り組める内容から始めっています。また、少し難易度が高い内容が含まれていました。私のオススメとしては、(特に初学者は、)とりあえず Zenn の Books から読みながら実装する勉強法が好ましいと思います。
次に行なったことが、Zenn の Books 以外の記事を読んで、Python に対する理解度を深化させていきました。記事の方では、内容が狭いかつ深いことが多く、自分の疑問を解決する上でとても参考になりました。
「公式問題集」を活用した学習
「徹底攻略Python 3 エンジニア認定[基礎試験]問題集」は主教材に対応して問題が設定されているので、第 13 章(総仕上げ問題)以外を解きました。各章ごとに丸付けをし、間違えていたら実装はしました。
模擬試験
ある程度、勉強が進んだら、模擬試験を受けることにしました。その理由として、現状、自分がどこまで理解しているか、どこの部分の学習が足りないかを確認するためです。この段階で、合格点に達していないなら、間違えた箇所を中心に勉強をするなり、勉強方法を見直すなり、できることはいくらでもあります。合格点に到達していたら、油断せずに引き続き勉強を続ければ合格できる確率は高いです。
遅くても試験 1 週間前には、一度模擬試験を受けるべきです。私が利用した模擬試験は、体感として現状把握の時に受験した模擬試験よりも難しいと感じました。
「知らないコード」や「理解が十分でないコード」が登場した時の対応
試験勉強をする中で、知らないライブラリ( decimal や tkinter など) や、あまり使ったことがないため知識が不足しているライブラリ( os や sys など)があった場合、まず実装してみました。
例えば、下に示すような sys.argv
という書き方を知りませんでしたし、その効果も知りませんでした。
import sys
def main():
print(sys.argv)
if __name__ == '__main__':
main()
python3 sample.py
python3 sample.py abc 123 -
また、用語についても知らないことが多かったです。例えば、文字列が置き換えができないことは知っていても、immutable
という用語はこの試験勉強を通して初めて知りました。
今回採用してないが有効と考えられる学習法
「主教材」を活用した学習
そもそも出題範囲が、主教材である「Pythonチュートリアル 第4版」を基に書かれているので、正確に試験範囲を知りたい場合は、購入するべきだと思います。
認定スクールに入学
お金に余裕がある方は、認定スクールのご利用もご検討ください。
- インターネット・アカデミー
- 株式会社グローバルテクノ
- 学校法人コンピュータ総合学園 神戸電子専門学校
- CTCテクノロジー株式会社
- 学校法人創造社学園 創造社デザイン専門学校
- ディープロ
- Top Out Human Capital株式会社
- トレノケート株式会社
- 株式会社ビープラウド
- プライム・ストラテジー株式会社
- 株式会社ワイヤードパッケージ
特に、以下の 2 社から「Python 3 エンジニア認定基礎試験」向けのサービスが展開されています。
プログラミング未経験者向けの教材を活用した学習
Python 未経験者の方かつお金に余裕がある方は、こちらの教材を使って勉強することを推奨いたします。
- いちばんやさしいPythonの教本 第2版 人気講師が教える基礎からサーバサイド開発まで (「いちばんやさしい教本」シリーズ)
- スラスラわかるPython 第2版
- Pythonスタートブック [増補改訂版]
生成 AI の利用
ChatGPT や GitHub Copilot などを活用しても十分学習できると思います。ただし、生成 AI の主張を鵜呑みにしないように十分気をつけてください。
Qiita の「記事」機能と「質問」機能を利用した学習
「記事」機能を活用したアウトプット
Qiita の「記事」機能を活用して、多くのエンジニアが日々記事を投稿しています。学習した内容をアウトプットすることで、スキルの獲得に大きく寄与します。
tag:Python3エンジニア認定基礎試験
の記事は、以下のリンクから見ることができます。
「質問」機能を活用した対話的学習
Qiita の「質問」機能には、「Q & A」と「意見交換」のフォーマットが用意されています。他のエンジニアと対話を重ねることで、理解を深めることができると思います。
tag:Python3エンジニア認定基礎試験
の質問は、以下のリンクから見ることができます。
成功要因
- 実際に Python コードを組むことで、頭の中にそれぞれのコードの印象が残った。
- 移動時間に Qiita の記事などを読むことを意識した。
- 「分からない」に対しても、「自分で考える」あるいは「他のエンジニアの記事を読む」行動を取ることで、自分の中で咀嚼して理解することに繋がった。(生成 AI を使うと良くも悪くもすぐに答えがわかあってしまい、個人的には好きな勉強法ではなかった。)
- (主に、機械学習関係ではあるが、)4 年間の Python 経験があった。
おわりに
この記事では、私の「Python 3 エンジニア認定基礎試験」合格体験記を書かせていただきました。
この記事がみなさんの勉強の参考になれば幸いです。
また、みなさんが試験に合格することを心から願っています。
謝辞
私が「Python 3 エンジニア認定基礎試験」の合格できたのは、Qiita の記事などを投稿しているエンジニアの方々や企業様のおかげです。心より感謝申し上げます。
参考記事等
一度でも、拝見させたいただきた記事等を以下に載せます。
出題範囲外の内容もあります。ご注意ください。
Qiita
note
YouTube
Zenn
Articles
Books
その他