こんにちは、晶(あき)です。
Pythonエンジニア認定基礎試験に向けて、Prime Studyの模試に取り組んでいます。
今回は2回目の模試に挑戦しました。
40問を解き終えたとき、最初に思ったのは、
「ちょっと焦って解いちゃったな」
ということでした。
コードを最後まできちんと追い切れないまま答えを選んだ問題もありました。
正解していても、自信を持って答えられたわけではない問題もあります。
これでは、点数だけを見ても今の自分の実力がよくわかりません。
そこで、40問を最初から一問ずつ答え合わせすることにしました。
40問を解くより、答え合わせのほうがしんどかった
「答え合わせ」と書くと、
正解を見る
↓
解説を読む
↓
なるほど
くらいで終わりそうなものですが、今回はそうはいきませんでした。
間違えた問題について、
なぜ自分はこの選択肢を選んだのか。
どこまで理解できていて、どこからわからなくなったのか。
正解のコードは、実際にどういう順番で動いているのか。
そこまで一つずつ確認していきました。
すると、全然進みません。
一問を理解するために30分、40分とかかることもありました。
特にクラス、継承、オーバーライドが組み合わさった問題は難しく、今も「もう完璧!」とは言えません。
これはたぶん、また問題を解いて引っかかって、もう一度復習することになると思います。
20問目で、脳みそが限界を迎えた
答え合わせを始めたのは午後でした。
そのまま夜まで続けたのですが、20問目あたりで限界が来ました。
頭が熱くなって、文章を読んでも内容が頭に入ってきません。
文字がただ目の前を通り過ぎていくような感じです。
「これはもう続けても意味がないな」と思い、そこで中断しました。
結局、残り20問は翌日に持ち越し。
40問の模試の答え合わせに、2日かかりました。
時間だけ見ると、それほど勉強していない
翌日の勉強時間は、実際には1時間20分ほどでした。
3時間も4時間も勉強したわけではありません。
でも体感では、ものすごく疲れました。
勉強時間だけを見れば、
「今日は1時間20分しかできなかった」
とも言えます。
でも、わからないコードを何度も読み直して、変数の中身を追って、インデントを確認して、「なぜ?」を一つずつ潰していく1時間20分はかなり濃い。
勉強時間の長さと、頭の疲れ方は比例しないんだな
と実感しました。
時間をかけてよかったnonlocalとglobal
今回、一番「時間をかけてよかった」と思ったのが、local、nonlocal、globalが出てくる問題です。
最初は、なぜその出力になるのか納得できませんでした。
関数の中にさらに関数があり、同じ名前の変数がいくつも登場します。
nonlocalが出てきて、さらにglobalまで出てくる。
完全に迷子です。
そこで、コードを何度も見ながら、
「今はどの関数の中にいるのか」
「この変数はどのスコープのものなのか」
「この処理が終わったら、どこへ戻るのか」
をインデントから一つずつ追いました。
かなり時間はかかりましたが、最後にはコードを見た瞬間、
「インデントが見える!」
という感覚になりました。
今まで文字の塊に見えていたコードに、少しずつ構造が見えてきた感じです。
この問題については、次に似た問題が出てきたら、今度は得意問題として解けるかもしれないと思えるところまで来ました。
時間はかかったけれど、ここは粘ってよかったです。
まだ「理解した」ではなく「仮定着中」
40問すべての復習が終わりました。
でも、今の状態を「完全に理解した」とは思っていません。
自分の中では、
「ただいま仮定着中」
くらいです。
今回わからなかったところは復習用にまとめました。
Pythonチュートリアルにも書き込みながら読み返して、同じ内容を違う角度から何度も見ていこうと思います。
一度理解できたことでも、数日後にもう一度見ると忘れているかもしれません。
それでも、そのたびに拾い直していけばいい。
特にクラスや継承、オーバーライドは、また引っかかる気がしています。
引っかかったら、また復習します。
もう一度、Prime Studyに挑戦する
今回の40問を復習してみて、模試は点数を出すためだけのものではないんだなと思いました。
間違えた問題はもちろん、正解した問題でも、
「なんとなく選んだ」
「消去法で当たった」
というものがあります。
そこを拾い上げるところまで含めて模試なのかもしれません。
次は今回作った復習まとめや、書き込みをしたPythonチュートリアルをもう一度読み返します。
そして知識がもう少し定着したところで、Prime Studyの第1回、第2回に再挑戦する予定です。
次に解いたとき、
「あ、この問題わかる」
がどれくらい増えているのか。
点数だけではなく、コードを焦らず最後まで追えるようになっているかも確認したいと思います。
40問の答え合わせに2日。
思っていた以上に大変でした。
でも、わからなかった問題にこれだけ時間を使ったからこそ、少しだけ「Pythonのコードを読む目」が育った気もします。
まだ仮定着中。
もう少し、この知識を自分のものにしていきます。

コメント