こんにちは、Hawaiiです。
このブログでも記事にしていますが、
2020年の9月にpython3エンジニア認定基礎試験を900点(1,000点満点)、
11月にPython3エンジニア認定データ分析試験を満点で合格しました。
上の関連記事2つに共通して、
「おすすめの勉強法は自作の問題集を作って試験直前はそれをそらでみてコーディングできるようにすること」
と書いています。
この自作の問題集、
シンプルながらも本当に試験に合格するためにおすすめの勉強であること
+
試験に合格するためだけでなくしっかり実力も付くので、
本日はこの自作の問題集について詳しく説明しようと思います。
本記事の目次は以下の通りです。
1.自作の問題集とは
先ほどの関連記事にも載せていますが。
私が取得したPythonの資格試験は問題自体はそこまで難しくないですが、
実際に手を動かしていないと、
あれ?どっちだっけな・・?
と迷う問題が意外に多いです。
ですので、「テキストを読む」だけでなく、実際に手を動かして「コーディングできるようにしておくこと」が非常に重要になります。
また、せっかく勉強するので「合格することだけ」を目的にするのではなく、
「実力もきちんとつけたい」ですよね。
そのために、テキストに載っている(かつ出題割合が多いチャプターの)コーディングは、テキストを見なくてもできるようにしておく必要があります。
そこで登場するのが、私のおすすめする「自作の問題集」です。
「自作の問題集」とはいっても非常にシンプルです。
たとえば、Python3エンジニア認定データ分析試験の公式テキストのNumpyのチャプターでは、
以下のようなコーディングがテキストに最初の方に書かれています。
command
a = np.array([1,2,3])
これは、一次元配列[1,2,3]を変数aに格納しています。
これを、ぼーっとテキストを眺めているだけだと、たとえば以下のような設問が出た時、ぱっと正解がわかるでしょうか?
(問題例)一次元配列の書き表し方で正しいのはどれ?
command
a = np.array(1, 2, 3)
a = numpy([1, 2, 3])
a = array(1, 2, 3)
a = np.array([1,2,3])
どうでしょう?今は1つしか例をお見せしなかったのですぐに分かるかもしれないですが、
テキスト丸一冊から出題されるとなると、テキストを流し読みしているだけだと危ないということが分かっていただけたのではないでしょうか。
この場合も、普段から手を動かしてコーディングする癖をつけておくと、全く悩まずに正解を選ぶことができます。
なぜなら、自分でコーディングするときに上で書いたようなミスを既にしたうえで、「np.array」と書くことと、中は[]でくくることを体で覚えているからです。

と思われるかもしれませんが、それはやめた方がいいです。
なぜなら、テキストを見ながらコーディングすると、必然的に答えのコードが見えますよね。
そうすると、「わかったつもり」になって、意外に身についていないことが少なくありません。
ですので私は以下のようにして、「ざっくりこういうこと」をコメントで書いておき、
そのコメントを見ながら他は何も見ずにコーディングするということを試験直前は行っていました。
詳しくは次でご説明します。
2.自作の問題集の作り方
(1)問題+解答を作っておく
先ほどと同じ例ですが、テキストに以下のコードが書いてあったとします。
command
a = np.array([1,2,3])
これを見た時、自分の頭の中で
これはつまり、1,2,3の一次元配列をaに入れてるんだな
と考えます。
その後、
jupyter notebookにこのように書きます。
この時点では答えも書いておき、おおよそ1つのチャプター分を1つのnotebookで作ります(分量はもちろん適当で大丈夫です)。
私の自作の問題集の一部は、実際このようになっています。
こんな調子で、テキストに出てくる内容を一旦全部理解しながら日本語の説明+正解を書いていきます。
(2)問題だけを作る
次に、(1)で作ったnotebookを一部コピーしておきます。
コピーはこのように、赤枠のFile→Make a Copyで作成できます。
コピーした一部から、正解を削除します。
こんなかんじですね。
あとは、この問題を毎日1周していくだけです!
細かい注意点ですが、コピーした1部にいきなりコーディングしていくと、明日の練習問題のnotebookがなくなってしまいますよね。
(=また明日、答えを全部消す作業が発生してしまい、手間)
なので、この問題集は2部コピーをとっておき、明日は1部を使って練習、明後日は残りの1部を練習前に1部コピーして練習・・とサイクルを回していくと効率的です。
3.自作の問題集の練習のコツ
毎日1周、自作の問題集を解いていたら、
これはもうさすがに解ける
というものと、
何回やってもすぐ忘れる
ものに分かれてくると思います。
明らかに解けるコードを何回もやり続けるのは効率が悪いので。
数日たったあとに、まだコーディングできない内容、苦手意識がある箇所にだけ
「★をつけておき、★がついた部分だけ毎日コーディングする」といいです。
このように、たとえば「aの書き方はさすがにできるけど、bの二次元配列がまだ不安」という場合は★をbのところにつけておき、
翌日は★がついた部分だけ練習していくイメージです。
このようにすると、自分が覚えていない箇所を効率的に勉強できるので、非常におすすめです!
3.まとめ
いかがでしたでしょうか。
非常にシンプルですが、合格力・実力をつけるためにすごく効果的なやりかただと思います。
実際に私もこのやり方で勉強し、合格した後も今回の資格試験のために勉強したことを体が覚えているので、実務でも使えています!
Pythonの資格受験を検討している方は是非ためしてみてください。
最後までお読みいただきありがとうございました。