プログラマーの学習法

2024-10-10 hit count image

プログラマーが新しい言語を学ぶ時、できる学習方法には何があるかを調べてみましょう。

次はプログラマーが新しい言語を学ぶ時、使えば良い学習方法です。

何を作るか考えながらチュートリアルを読む

新しい言語のチュートリアルを読む時、具体的なプログラムを考えながら読んで、プログラムを書けると思ったら読むのを止めて、そのプログラムを書きます。現在読んでいるチュートリアルで書ける部分を完成すると、読むのを止めた所に戻って再度読みます。もちろん、書くプログラムの次の部分を考えながら読みます。

例えば、’タスクリストを作る’、’単語の数を数える’などといった具体的なプログラムを目標にしてチュートリアルを読みます。こうして目標を設定してチュートリアルを読むと、’この言語ではループはどう書くのか?’、’出力はどうするのか?’などといった質問を持ち、積極的に読むようになります。

この読み方を積極的読みと言います。積極的読みは具体的な質問や目的を持って読む方法を言います。教育学では受動的に読むより積極的に読む方が理解度や記憶力などに肯定的な効果を見せると言います。

SQ3R読書法

この積極的読み方の中で最も代表的な方法はSQ3R(Survey, Question, Read, Recite, Review)読書法です。SQ3Rはアメリカの教育心理学者ロビンソン(Francis P. Robinson)が効果的学習法(Effective Study, 1946)で初めて紹介した方法です。

SQ3R読書法は以下のような段階で進行されます。

  1. 見渡す(Survey)

見渡す(Surbey)とは本を読む前に本全体と各章の内容を全体的に素早く見渡し、主要概念の間の関係を把握することを言います。見渡すは以下のような方法で進行されます。

  • 学ぶ章(chapter)の大見出しを覚える。
  • その章の紹介、概要、学習目標などを素早く読む。
  • 中見出しと小見出し、図表の見出しに注目する。
  • 太字、斜体、下線部分など重要概念を示す手がかりを見つける。
  • 章別要約を読む。
  • 主要概念リストを見る。
  1. 質問する(Question)

質問する(Qustion)とは見渡すを基に質問を投げることを言います。質問する方法は以下の通りです。

  • タイトルに出てくる概念の定義に関する質問を投げる: ⚪︎⚪︎は何か?
  • 概念の特性に関する質問を投げる: ⚪︎⚪︎の特性は何か?
  • 概念同士の関係に関する質問を投げる: ⚪︎⚪︎と△△の関係は何か?
  • タイトルの表現を活用した質問を投げる: タイトル - ⚪︎⚪︎の必要性 → 質問 - ⚪︎⚪︎の必要性は何か?
  • 自分の背景知識に関する質問を投げる: 私は⚪︎⚪︎についてどれくらい知っているか?

質問するはこうして本を読みながら質問をすることです。こうして本を読みながら質問した内容を別途書き留めて学習中に確認することも良い方法です。

  1. 読む(Read)

読む(Read)とは1段階と2段階を基に本文を読みながら自分が投げた質問に対する答えを探していく過程を言います。質問に対する答えを探すために本を読むことで、本を読んだ後に内容を少し長く記憶できるようになります。これは試験対策においても内容をより正確に記憶するのに大きな助けになります。

  1. 暗唱する(Recite)

暗唱する(Recite)とは読んだ内容に対する忘却を防ぐための重要な過程です。暗唱するは自分が知っていると思うことを直接書き込むことで、自分が実際に内容をどれだけ理解しているかを確認する方法です。暗唱するは以下のような方法で進行されます。

  • 自分が読んだ内容を振り返る。
  • 本を閉じて、その質問に対する答えを大声で朗読するか、紙に書く。
  • 答えはできるだけ完全に書くようにし、理解を助けるために概要、図表、図式、式の形で書くこともある。
  • 本や本を読みながら書いたノートと比較して、答えが正しいかどうかを確認する。
  1. 復習する(Review)

復習する(Review)とは学習した内容を定期的にそして時折再度暗唱することを言います。復習するは特に試験対策において非常に効果的な方法です。復習するは以下のような方法で進行されます。

  • 本文とノートを再度読みながら重要な部分を確認する。
  • 難しい部分は別途暗記カードを作るなどの方法を使って記憶する。
  • 復習した内容をテストして、自分の理解度を確認する。
  • 学んだ部分に関して自分なりの目次や概念マップを作る。

勉強する時に標準ライブラリのソースコードを読む

良いコードを書くためには良いコードを読む必要があります。標準ライブラリは通常、その言語を発明した人やその言語のスタイルに従う人々が書きます。そのため標準ライブラリはその言語らしいコードで構成されており、このようなコードを通じてその言語の文化やスタイルを学ぶことができます。

このような文化やスタイルに従うことはプログラムの機能の違いはもたらさないかもしれませんが、プログラムの作成コストや保守コストを削減することができます。

勉強中に他の人のコードに自分が必要な機能を追加する

自分が勉強している言語でのオープンソースに自分が必要な機能を追加してみます。実際に使用しているコードを変更してみることで、その言語をよく知っている人々からフィードバックを受けることができ、オープンソースコミュニティと交流することができます。

専門性を効果的に引き出す専門家になる

専門家から秘訣を受け継ぎ、その秘訣を実行してみます。周囲の専門家の専門性を引き出し、適用することが自分の専門性を早く高める方法です。専門家に秘訣を尋ねるときはプログラミング言語を早く学ぶ秘訣は何ですか?と尋ねると、あまり有用な答えを得ることができません。専門家はこのような質問を受けると一般的な答えをしたり、実際の行動と異なる理論的な答えをする傾向があります。

この場合、認知的作業分析を活用すると専門家の専門性を引き出すことができます。

認知的作業分析を活用することで専門家の秘訣を尋ねる時は具体的な出来事について話すように促すことが重要です。最近学んだ言語が何か、その言語を学ぶために時間通りにした行動は何かなどを尋ねながら暗黙的な意思決定と状況判断が何かを把握することです。

何かをうまくしたいと思ったら、すでにうまくしている人を観察し、インタビューすることが大きな助けになります。

完了

このブログポストでは、プログラマーができる学習方法について調べてみました。もし新しい言語を学んでいるか、プログラマーになるために努力している方がいる場合は、この記事を参考にして勉強してみてください。

私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!

アプリ広報

今見てるブログを作成たDekuが開発したアプリを使ってみてください。
Dekuが開発したアプリはFlutterで開発されています。

興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。

Posts