web-dev-qa-db-ja.com

論理プログラミングのスキルを向上させるために何をしますか?

プログラミングの練習だけが論理的なプログラミングスキルの向上に役立つと思いますか、それとも宇宙がどのように機能するか、楽器を演奏するなど、想像してみてパズルゲームで脳を訓練しますか?

プログラミングにより多くの時間を費やしますが、論理プログラミングスキルをより速く習得できますか?

28
killown

私はフルタイムのプログラミングは私の論理スキルを十分に実践していると思います、そして彼らは仕事の後に休息が必要です。楽器を演奏してmotoricスキルを練習するなど、他のことをするのは脳にとって良いことです。

23
Joonas Pulakka

はい、プログラミングは役立ちますが、あらゆる種類のロジック/問題解決がプログラミングスキルの向上に役立ちます。たとえば、論理の正式なコースを受講したり、数独パズルを解いたりします。試しにプログラミングパズルを掲載しているすばらしいウェブサイトがいくつかあります。最初に、プロジェクトオイラーを探してください。

11
Martijn Verburg

「論理プログラミングスキル」をより深く改善したい場合は、ロジックを少なくとも1つまたは2つのコースで学習することが重要です。 Stephen Cookによる 講義ノート のようなものは、命題と一次論理の学習を始めるのに最適です。 HuthとRyanによるテキスト Logic in Computer Science:Modeling and Reasoning for Systems も多くの人に愛されています。

また、アルゴリズム的な考え方を開発することも非常に重要です。クックは、アルゴリズム的に考える能力が、コンピューター科学者と数学者の主な違いであると私に言った。アルゴリズムに関する優れた本はたくさんあります。あなたはあなたに最も合うものを選ぶ必要があります!

5
D. L.

@Joonasが言ったように、他の活動をすることはあなたがしなければならないときにあなたがよりよく集中するのに役立ちます...

私は隔日実行し、できる限り本を読みます

3
sebagomez

私はこれを読みます: プログラミングスキルを向上させるためにあなたがした最も効果的なことは何ですか?

もっと真剣に、私はあなたが試すことができると思います:

  • あなたの脳を訓練し、パズルや他のゲームを解くために
  • 論理理論 を学び、それに伴うハードコア数学に戻ります。

しかし、ほとんどの場合、私はあなたがすべきだと思います:

  1. アルゴリズムバンクを見て、いくつかを手で選んで、
  2. 彼らが取り組む問題の解決策を実行しようとする、
  3. 次に、リファレンス実装を見て、
  4. あなたがそれらを打ち負かした場合は、論文を公開してください:)

アルゴリズムとデータ構造のNIST辞書 を使用すると、しばらくの間忙しくなります...

次に、何かを解決することを含むペットプロジェクトを見つけます。

2
haylem

一般的な問題解決、これがパズルであるかどうか、ハウスを見る、謎の小説を読む、または隣人を車で助けるなど、これらのいずれも解決策を構築する方法のアイデアを得るのに役立ちます。貪欲、分割統治、動的プログラミング、データ構造の作成などのアイデアは、これらの種類のアイデアがおそらく数十あるため、ほんの数例です。もちろん、それらがうまく機能するかどうかは別の話ですが、これらの種類のアイデアを取得するだけでも大きな課題になる場合があります。

2
JB King

私は、プログラミングとソフトウェア開発について(必ずしも正式ではない)学習を通じて、問題をより小さなチャンクにさらに効果的に分割することを学びました。

ソフトウェア開発の分野以外で使用することで、その特定のスキルを向上させることができると思います。あなたが日常生活で遭遇する問題を打破しようとすることによって。この手法を使用して、何か新しいもの(エンジンや電子機器など)がどのように機能するかを理解しようとすることは、特に優れています。

1
Andy Hunt