Open1

ADS学習

ゆうとゆうと

学習のtips

私がこれまで(十日ほど)アルゴリズムとデータ構造を学習して学んだ知見を述べていく。
ちなみに、これは直接的な学びではなく、より効率よく初学者がアルゴリズムを学ぶために述べたものである。

筆者の経歴

私は現在私立文系大学に通う大学3回生であり、プログラミングは主にフロントエンドのReact,web開発を学習している。期間としては5ヶ月ほどである。
最近は就職を意識して学んでいるので、アルゴリズム、データ構造を学び始めたという経緯である。

なぜ情報を共有するのか

これはOSSの観点から学びを公開することは意味があり、私自身も自分の理解を深め、振り返るきっかけとなるからである。
そして今までまなんできたweb開発のような学習とアルゴリズムの学習が大きく異なると思ったためである。

では次に、学習のtipsを話していく。

1.コードがどう動いているのかを考える。

最初はコードがどのように動いているのかがわからないと思います。
私はそこで、出来上がったコードをデバックして、今どのようにコードが動いているのかを追うようにしました。
デバックを紙に書いて見るのもかなり良かったです。
これによってコードの動きが追えるようになり、今はどのような動きをしているのかや、想像の難しいループ処理の動きを理解するための一助になり得ます。
またこの方法は再現性の高いもので、どんなコードでも試すことができるでしょう。

2.2つ以上の情報を見る

これは私が受験勉強をしていた頃から感じていた有用な方法であると思います。間違いなくプログラミング以外の学習にも役立つでしょう。
例えば、教科書を読んで、翌日のテストに挑み、問題文をみて、別の視点が自分の中でできるという経験があったと思います。
これは一つの表現から学ぶのではなく、別の視点、言い回しで同じことを学ぶことで、そのことについて理解が深まるということが挙げられます。
私は、Udemyという動画プラトフォームで学習していますが、わからないところはノートにメモをとりAIに質問しています。
質問する際も自分の背景情報、例えば私であれば、文系の学生であり、プログラミング歴は5ヶ月、などの情報を載せることで、回答も優しくなったりして、理解の手助けになります。

3.復習する

これも2と同じようにどんなものを学ぶときにも言えることです。
私たちはかつては理解に苦しんだ10桁の掛け算、割り算を大人になった今、それほどのストレスなく計算できるようになっているでしょう。
学校での学びは日を追うごとにレベルが上がっていきます。その度に私たちも少しづつレベルが上がっています。
初めはレベル5の状態でスライムに挑むを苦労をして何度も攻撃をし、回復魔法を使って倒したことでしょうが、連戦の末に苦労しながらもレベル30になったときにスライムに挑むと弱攻撃一発でスライムを倒せることでしょう。
このことがプログラミングでも起こります。
最初は何を言っているのかわからなかったソートのアルゴリズムも毎日学習を進める中で、振り返って初日に見た動画を見ると理解がみるみる早くなっています。
これは一度その動画を見ただけでは得られないようなレベルでの理解が得れるでしょう。
このことは今も現在進行形である学習の手助けにもなります。
最初に学んだことは基礎的な内容であることがおおくその上に応用はあるためです。

4.人に教える。

私は自分が学んだことをわからないなりにAIに確認をしたり、人に話します。
アルゴリズムはコードも大事ですが、その解決の方法がより大事だと思うので、口で説明することはとても大事だと思います。(大事フィーバー)
実際アウトプットは最も効果のある学習の一つです。

最後に

ここまで読んでくださり、ありがとうございます。
レイアウトが酷くすみません。
この辺りもまた読みやすいように綺麗にしていきます。
私もまだアルゴリズムを学び始めて、数日で、これから学ぶ皆さんよりも少し用語を知っている程度ですが、以上に話した方法を試しながら、理解を深めていきます。
初心者の私だから話せることがあると思います。
これからも学んだことを発信していくので、よろしくお願いします。