Python 3 エンジニア認定基礎試験を受験し、850点で合格しました。
勉強を始めたのは8月15日。受験日は10月1日だったので、学習期間は約1か月半です。
私はIT系の資格はいくつか持っていますが、仕事でPythonを書いているわけではありません。
勉強を始めたころは、コードを見ても「なんとなく意味は分かる」程度。
そこから問題集や模擬試験、公式チュートリアルなどを使って勉強しました。
実際に受験してみると、
「もっと早くこれをやっておけばよかった」
と思ったことがいくつもありました。
今回は、850点で合格するまでにやったことと、受験後だからこそ分かった勉強法をまとめます。
850点で合格しました
結果は850点/1000点でした。
試験では、すぐ答えられる知識問題もあれば、コードを落ち着いて追わないと判断できない問題もありました。
私は一通り解き終えるまで35分弱。
迷った問題には「あとで確認する」という印をつけて進み、最後にそこを中心に見直しました。
結果を見ると、自分が「ここは怪しい」と感じていた問題数と実際の失点がかなり近かったので、
分かっているところと、分かっていないところをある程度判断できる状態にはなっていた
のかなと思います。
「簡単な試験」と思っていたけれど
Python 3 エンジニア認定基礎試験について調べていると、「比較的簡単」という感想も見かけます。
私も勉強を始めたころは、問題集を繰り返せば何とかなるかな、くらいに考えていました。
でも、実際にPythonを書いて仕事をしているわけではない私にとっては、そこまで簡単な試験ではありませんでした。
特に最初は、コードに出てくる一つひとつの要素を理解するだけで時間がかかります。
知識問題なら覚えていれば数秒で答えられます。
一方でコード問題は、インデントや処理の順番を一つ読み落としただけでも答えが変わります。
勉強を進めるうちに、
用語を覚えることと、コードを読めることは別なんだ
と感じるようになりました。
一番「もっと早くやればよかった」と思ったのは公式チュートリアル
受験後、一番強く思ったのがこれです。
Python公式チュートリアルを、もっと早く読めばよかった。
最初は正直、
「問題集を解きながら覚えればいいのでは?」
と思っていました。
そのため、公式チュートリアルを本格的に読むのは後回しになりました。
でも勉強が進んでから読むと、
「あ、このコード見たことある」
「問題集で出てきたのは、この話だったのか」
と、それまでバラバラだった知識がつながっていきました。
最初から全部理解する必要はないと思います。
まず一度ざっと読んで、問題演習をして、もう一度戻る。
この順番でもよかったなと思います。
コードは「読む」だけでなく、紙とペンで追った
特に効果があったのが、コードを眺めるだけで終わらせず、処理を紙に書きながら追うことでした。
たとえば、
- この変数には今何が入っているのか
- このループは何回動くのか
ifに入るのかcontinueしたら次にどこへ行くのか- この
print()はいつ実行されるのか
といったことを一つずつ確認します。
私は勉強中、continue に気を取られて、その前にある print() を見落とすようなこともありました。
コード全体をぼんやり眺めて「分かった気になる」のではなく、
Pythonが実行する順番を自分でもたどる。
この練習はかなり重要だったと思います。
特に時間をかけてよかったのは「制御構造」
勉強していて、時間をかけてよかったと思うのが、公式チュートリアルの「制御構造ツール」にあたる部分です。
if、for、range()、break、continue、関数など、Pythonの基本になる内容が集まっています。
一見すると簡単そうなのですが、問題になると意外と間違えます。
私自身、
「これは分かっている」
と思っていたところで何度もミスしました。
ここは答えを覚えるより、
コードの骨組みを見て、どの順番で処理されるか説明できる状態にする
ほうが強いと思います。
クラスには時間をかけすぎたかもしれない
逆に、少し時間配分を間違えたかなと思うのがクラスです。
私はクラスがかなり苦手でした。
self が何なのか。
インスタンスを作るとはどういうことなのか。
メソッドを呼び出すとはどういうことなのか。
最初はそのあたりから怪しかったので、かなり時間を使いました。
結果的には理解が進んだので無駄だったとは思いません。
ただ、試験全体の点数を効率よく取ることだけを考えるなら、もう少し出題範囲全体のバランスを見てもよかったと思います。
苦手なところほど気になって、そこばかり勉強してしまうんですよね。
ライブラリはかなり苦戦した
私にとって特に覚えにくかったのが、標準ライブラリ関係でした。
仕事でPythonを書いている人なら、
「これはこういうときに使うもの」
という経験と結びついているのかもしれません。
でも私には、その引き出しがありません。
モジュール名と機能をセットで覚えようとしても、
「そもそも使ったことがない」
ので、なかなか頭に残りませんでした。
このあたりは、実務でPythonを書いていない人にとって一つの壁になるかもしれません。
模擬試験は「点数」より、間違えた理由を見る
模擬試験もかなり使いました。
ただ、今からもう一度勉強するなら、同じ模試を答えを覚えるまで繰り返すことはしないと思います。
同じ問題を何度も解けば、当然点数は上がります。
でも、
「理解して解けた」
のか、
「前に見た答えを覚えていた」
のかが分からなくなってしまいます。
実際、私は模試を繰り返す中で、点数そのものより、
なぜ間違えたのかを説明できるか
を重視するようになりました。
計算を飛ばしたのか。
インデントを見落としたのか。
用語そのものを知らなかったのか。
コードの仕組みを理解していなかったのか。
同じ不正解でも、原因によって復習方法はまったく違います。
Prime Studyは難しく感じる部分もあった
Prime Studyの模擬試験にも取り組みました。
私の場合、本番より難しく感じる部分もありました。
もちろん、どの分野が得意かによって感じ方は変わると思います。
ただ、本番前に少し難しい問題まで考える練習をしていたことで、コードを見た瞬間に固まらず、
「分かるところから追ってみよう」
と思えるようになったのは大きかったです。
電子書籍も便利。でも私は紙の本が合っていた
勉強中は電子書籍も活用しました。
いろいろな本をすぐ試せるのは、とても便利です。
ただ、Pythonの勉強では最終的に紙の本を使うことが増えました。
理由は、
コードをじっくり追うときに、私は紙のほうが使いやすかったから。
付箋を貼ったり、線を引いたり、少し前のページへ戻ったり。
「あの説明どこだったっけ?」
と思ったときも、紙の本なら位置の感覚で探せます。
これは完全に好みだと思いますが、少なくとも私には紙が合っていました。
約1か月半勉強して、一番変わったこと
勉強を始めたころは、知らない構文が出てくるだけでコード全体が分からないように感じていました。
でも少しずつ、
「ここは分かる」
「これは前にやった」
「知らない部分はあるけれど、ここまでは追える」
と考えられるようになりました。
これは試験が終わったあとにも感じています。
知らないコードを見ても、全部を理解できないからといって投げ出すのではなく、知っている部品から処理を追ってみるようになりました。
850点という結果もうれしかったです。
でも今回の勉強で一番大きかったのは、資格が一つ増えたことではないのかもしれません。
今まで自分の中になかった考え方が、ひとつ増えた。
そんな感覚があります。
まとめ|ここからPythonを実際に使ってみたい
8月15日に勉強を始めて、10月1日に850点で合格。
約1か月半のPython基礎試験の勉強はいったん終了です。
もし今からもう一度勉強するなら、
公式チュートリアルをもっと早く読み、コードを自分の手で追う時間を増やす。
ここは間違いなく変えると思います。
そして、模試の点数だけを追いかけすぎない。
「なぜこの答えになるのか」を自分の言葉で説明できるところまで理解する。
遠回りに見えますが、結果的にはそれが一番役に立ちました。
とはいえ、資格に合格しただけでPythonを使えるようになったわけではありません。
むしろここまでがチュートリアルだったのだと思います。
これからは資格試験の問題ではなく、実際にPythonで小さなものを作ってみたい。
Python学習、第2部へ。
そんな気持ちで、次に進みます。


コメント