先日、「Python3エンジニア認定基礎試験」に合格しました。忘れないうちに学習方法などを記録しておこうと思います。
1 自分のスペック
文系事務職で、仕事でプログラミングに関することを扱うことはありません。また、プログラミング学習の経験もありません。
2 学習期間・学習量
7月上旬に初めてUdemyの講座を購入し、その後、諸々学習を重ねて10月下旬に受けた試験で合格しました。
その間、学習を中断していた時期もありますので、期間としては概ね3ヶ月弱といったところです。
学習時間は記録していませんが、週7時間(平日計3時間・土日計4時間)×12週で84時間程度といったところでしょうか。
最初は学習方法が定まらなかったのですが、後述する方法で短期集中して学習すれば、もう少し短縮できたと思います。
3 大まかな学習の流れ
UdemyでPython初心者向けの動画をいくつか見ながら、「徹底攻略Python 3 エンジニア認定[基礎試験]問題集」を解きました。動画を見ている時点では十分な理解はできていませんでしたが、とりあえず早めに全体像を把握し、問題集に着手できるようにしました。
問題集を解く過程で、関数(定義・スコープの範囲・仮引数・デフォルト引数・実引数など)やオブジェクト指向(クラス・インスタンスなど)がよく理解できなかったので、この辺りについて動画や書籍などで重点的に確認しました。(関数のスコープのあたりは最後までよく理解できませんでした。)
4 主に使用した教材(良かったもの)
1.問題集・テキスト(書籍)
-
徹底攻略Python 3 エンジニア認定[基礎試験]問題集
https://book.impress.co.jp/books/1122101079
↑最初に購入した書籍(問題集)です。自分の場合はテキストよりも問題集の問題と解説で理解していった感じです。学習の最初から最後まで継続して使用しました。 -
Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書
https://gihyo.jp/book/2019/978-4-297-10756-7
↑数年前に出版された書籍ですが、内容が試験の傾向や先述の問題集と合っているところが良かったです。全部読むことはせず、問題集の解説で理解できなかった箇所を確認する際に使用しました。
2.講義(動画)
- TRAINOCAMPの「Python本格入門シリーズ① データ構造とアルゴリズム」の講座が非常にわかりやすかったのですが、サービスを終了するようです。
https://camp.trainocate.co.jp/map/python/
今後は以下のUdemyで(概ね)同じ内容の講座が受けられます。
- Python本格入門シリーズ データ構造とアルゴリズム
https://www.udemy.com/course/python-basic1/
また、オブジェクト指向(クラス・インスタンスなど)も苦手意識があったのですが、以下の講座がわかりやすかったです。
- Python本格入門シリーズ オブジェクト指向プログラミング
https://www.udemy.com/course/python-object/
3.問題(WEB)
模試はDIVE INTO CODEとプライム・ストラテジーのものを受けましたが、個人的な感想としてはDIVE INTO CODEの方だけでよかったかと思います。
DIVE INTO CODEは一ヶ月間だけ有料の受験対策プランに登録しました。
-
diveintocode
https://diver.diveintocode.jp/python_basic/lp -
プライム・ストラテジー
https://study.prime-strategy.co.jp/
また、Udemyの模試も受けました。
【模擬試験・全3回分】Python3エンジニア認定基礎試験の模擬試験対策
https://www.udemy.com/course/python3_basic/
5 合格までの感想など。
自分の場合は先に記載した教材のほか、試験対策に特化していないものも含め、Udemyの初学者向けの講座をいくつか受講して学習しました。
講師の方によって使うエディタがVisual Studio CodeだったりPyCharmだったり、あるいはJupyter NotebookやGoogle Colaboratoryを使ったりしていて、様々なツールの使い方を知ることができました。
最終的に、試験対策だけ考えるのであればGoogle Colaboratoryが使えればいいのかなと思います。
そのほか、複雑なコードはpythontutorで順番に実行の流れを見たりしましたが、自分はそんなに使いこなすことはできませんでした。
- pythontutor
https://pythontutor.com/
6 まとめ
プログラミングの経験がなくても、一定期間学習すればそれなりの確度で合格できる試験だと思いました。
他のプログラミング言語はなかなか体系立てて学習できる資格試験が少ないような気がしますので、プログラミングに興味がある方のとっかかりとしては非常に良い試験だと思います。