Pythonの勉強が踊り場&停滞気分なので突破作戦を考えた
Pythonの勉強が踊り場に差し掛かって停滞気分なので突破する作戦を考えた。
昨年後半からPythonを勉強し始めた。
本とかPyQを齧りながら少しずつ動くものが作れるようになって楽しくて仕方なかったのが昨年末から今年の2月ぐらいまで。ここ1ヶ月強、最初の踊り場にさしかかったなと思う。入門的なセミナーでは物足りない、かといって 本格的なコードを書いたりがっつりしたコードを読み解くには力不足。思いつきで作るものにも限界がある。といったところで、この先何しようかなぁ〜って感じだ。
この状態は楽しくないので、次のステップに行く作戦を立てた。
今の停滞気分はどういうことなのか
まず、今感じている"停滞気分"は、どういうことなのか考えた。
1つは、毎日コードを書きたい渇望感があるのに、初中級レベルで適当な(扱いやすい)サイズのテーマを持っていないことだ。
2つめは、サービスなりアプリなり何かまとまった動くものを作りたいのに、知らないことが多すぎて進みが悪いことだ。あれもこれも調べているうちに拡散しすぎて脳がパニックを起こす。
1つめ 毎日取り組める "お題" を探す
基礎力アップしたい。しかも毎日毎日楽しくやりたい。 これが続けば 多分2番めの解決にもつながるだろう。 毎日コードを書ける(書く気になる)テーマを探すことにした。
テーマ探しの視点
- ピアノでいうと「ハノン」。100本ノック的な、毎日手を動かす系のもの
- 朝起きがけ30分とか、電車の中の15分とか隙間時間にも取り組めること。できれば Pythonista3 で動くこと(電車で組むのに必要)
- 解く楽しさがあること
- それなりの数があり、レベルにも幅があり、始めてすぐ終わっちゃわないだけの規模があること
候補に上げたもの
書籍・電子本
本屋さんで ドリルっぽく使えそうな本を探した。
「文系プログラマーのためのPythonで学び直す高校数学」谷尻かおり
- 本屋で立ち読みして良さげだった
「問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考」Srini Devadas、 黒川 利明
- 実際に購入。良い本。ただ電車で読むとすぐ眠くなってしまい、多分自分のレベルにあってない。中断。
GitHub上にある良質プロジェクトのコード読み
The Hitchhiker’s Guide to Python! > Reading Great Code
でオススメされていたGitHub上のコードをいくつか読んでみた。しかし、今の自分にはちとレベルが高く、「はぁ〜(?_?)」って感じでコードの素晴らしさを堪能するとか全容を把握するとか楽しめるレベルじゃないので棚上げ。
AtCoderなど競技プログラミング系サイトの問題を解く
WikiPedia>競技プログラミングサイト からチョイス。
ゲームでプログラミング学習する系サイト
CodinGame
https://www.codingame.com/Codewars
https://www.codewars.com/
リアル:スポーツジム形式のプログラミング塾
テックジム(毎日開催)
http://techgym.jp/- リアルな、スポーツジム感覚のプログラミング塾。場所は赤坂見附。
- 都合のいい日に出かけて自習教材を黙々進める形態。会場にはメンターがいて、困った時に質問したり、解決を手伝ってくれる。
- 女子は会費半額の優遇制度がある(ありがたい)。
- 体験会に参加した。自習教材は若干退屈で冗長に感じたが、体験会ではレベル1からなのでそのせいかも。自分で調べながら黙々する形態が自分にあいそう。しかし、家庭の事情で遅い帰宅の曜日をこれ以上増やせず、断念。
Python/C++プログラミング勉強会(原則毎週月曜)
https://techplay.jp/event/702585
結論:Codewarsで修行することにした
それぞれ囓ってみた結果、Codewars で修行することに決めた。
- サイトのUIがきれいで、朝から気持ちがアガる。
- 問題がたくさんあり、それぞれにレベルが明記されている。
- ブラウザベースの編集・テスト環境が整備されている。テストケースが用意されていて提出前にテストを通して自己チェックできる。PyQがこれに近い仕組みだったので馴染みがある。 ・ランク(級)がついて励みになる
ジムの筋トレとかダイエットなんかも2ヶ月続けると身体が変わり始めるというから、 コード書き修行も、まずは2ヶ月続けるのを目標に、4ヶ月目ぐらいに効果の度合いを振り返るよ。
2つめの課題への解決については、また次回書く。