いくつもの非効率なやり方

これは N予備校受講者 Advent Calendar 2020 用に書いた記事です。

自己紹介

どーも、すライムです。
一応、社会人のはしくれです。
何をやっても失敗ばかりたけど、せっかくのお祭りですので、このアドベントカレンダーに参加することにしました。
どうせ誰も読んでないし!
それにしても、急に寒くなりましたねー!
ついこの間まで布団のひんやりゾーンを探しながら寝てたというのに!
でも、おいしい紅茶を飲もうと思えば、少しの寒さも必要ですね。(紅茶好き)

プログラミング学習で試したこと

プログラミングを始めたきっかけなんて誰も興味ないので割愛しますね。
N予備校と出会うまでプログラミングの経験はありませんでした。
不安しかなかった私が試した効率の悪いプログラミング学習の、じたばたエピソードを置いておきます。
どうぞ笑ってやってください!

ソースコード全行にコメント

まだ何もかも分からなかった頃、ソースコードの全ての行にコメントを入れていました。
理解のあやふやなところがあぶり出され、自分の課題を見つけることができました。
そこそこ効果は実感したものの、さすがに飽きました。

四諦したいメソッド

教材を読み進めるうえで参考にした、問題解決のための4つのステップです。

  1. 苦: 解決すべき問題です。
  2. 集: 問題に関係ありそうなことのリストです。
  3. 滅: 問題が無くなった状態です。
  4. 道: 苦と滅との差から、解決の道すじが見えてきます。

たいていの物事はこの苦集滅道くじゅうめつどうの順番で考えると楽だよ!というメソッドです。
特に理解の難しい部分は、この4段階に分けて勉強しました。
「今回は入力の部分だけ理解しよう!」みたいな感じですね。
これも効率悪かったですね...
けど、人より時間をかける覚悟があったし、自分との相性は良かった気がします。
そう言えば JSDoc ってまさにコレですね。今書いてて気づきました。
2500年も前にこれを考えてたインド人すごい!

AIZU ONLINE JUDGE

この、通称 AOJ はロジックの勉強になりました。
問題文のいちばん下にある Solutions をクリックすると、賢い人たちが書いたコードを覗けるので、ここでいろんな書き方を学びました。
また、実際に問題を解いていく中で、数字や文字列・配列など、型にはそれぞれに用意されたメソッドがあることを、ようやく概念化できました。
全体から見ると、ごく一部のスキルしか伸びていない気がしてやめてしまいましたが、暇があればまたやってみたいですね。

やっぱりフォーラム

結局フォーラムが最強でしたね。

30分考えてわからないことはフォーラムに書き込むと決めていたのですが、質問を書いているうちに解決策を思いつくのです。
自然とラバーダッキングをしていたのでしょうね。

フォーラムの質問に答えるのも、本当に勉強になりました。
「知っている」と「説明できる」とでは、天と地ほどの差がありますよね。
まぁ、説明はできませんが。
それに、他人に親切にすると、ストレス疾患の予防につながるそうです。
勉強にもなって、さらに健康につながるなんて最高じゃないですか!
この辺のお話は Kelly McGonigal さんというキレイなお姉...心理学者さんが TED で解説されているので興味があれば観てみてください。
自分のために、困ってる人を利用しましょう!

間違った答えを書き込んでしまったらどうしよう...という心配は不要です。
ネット上で正しい答えを得る最良の方法は、質問することではなく、間違っている答えを書くことなのですから。

N予備校すごいよ!

結局、下手の考え休むに似たりで、プロの作る教材は最高ですね。
N予備校のプログラミング入門コースは、山頂までのルートを見渡せる登山地図のようなものだと思います。
狭い範囲の、より詳細な地図なら Qiita にたくさん転がっています。
しかし、旅の計画を立てるには全体を見渡せる地図が必要になります。
「とりあえず1周した」というだけでもこのコースを学んだ意味があると思いますので、まず完走を目指してみてください。

こんなテキストだけの記事でアドベントカレンダーの敷居も下がったことですし、みなさんもぜひ書いてみてくださいね!