web-dev-qa-db-fra.com

Que faites-vous pour améliorer vos compétences en programmation logique?

Pensez-vous que seule la pratique de la programmation vous aidera à améliorer vos compétences en programmation logique ou entraînez-vous votre cerveau avec des jeux de puzzle, en essayant d'imaginer comment fonctionne l'univers, en jouant des instruments, etc.?

En consacrant plus de temps à la programmation, obtiendrez-vous plus rapidement des compétences en programmation logique?

28
killown

Je pense que la programmation à temps plein pratique mes compétences logique assez bien, et elles ont besoin de repos après le travail. Faire autre chose comme pratiquer moteur compétences en jouant des instruments de musique est bon pour le cerveau.

23
Joonas Pulakka

Oui, la programmation vous aidera, mais toute sorte de logique/résolution de problèmes vous aidera à améliorer vos compétences en programmation. Par exemple, suivre un cours formel de logique ou résoudre des énigmes de Sudoku. Il existe d'excellents sites Web avec des puzzles de programmation à essayer, recherchez le projet Euler pour commencer

11
Martijn Verburg

Si vous souhaitez améliorer vos "compétences en programmation logique" de manière plus approfondie, il est important d'avoir au moins un ou deux cours sur ... la logique. Quelque chose comme notes de cours par Stephen Cook est bien pour commencer la proposition d'apprentissage et la logique du premier ordre. Le manuel Logic in Computer Science: Modeling and Reasoning about Systems par Huth et Ryan est également apprécié par beaucoup.

Il est également extrêmement important de développer un mode de pensée algorithmique . Cook m'a dit que la capacité de penser de façon algorithmique est la principale différence entre un informaticien et un mathématicien. Il existe de nombreux bons livres sur les algorithmes. Il vous suffit de choisir celui qui vous convient le mieux!

5
D. L.

Comme @Joonas l'a dit, faire d'autres activités vous aide à mieux vous concentrer lorsque vous devez ...

Je cours tous les matins et lis des livres chaque fois que je le peux

3
sebagomez

J'ai lu ceci: Quelle est la chose la plus efficace que vous ayez faite pour améliorer vos compétences en programmation?

Plus sérieusement, je suppose que vous pouvez essayer:

  • pour entraîner votre cerveau et résoudre des puzzles et autres jeux (comme suggéré par d'autres),
  • pour apprendre théorie de la logique , et revenir aux maths hard-core qui l'accompagnent.

Mais surtout, je pense que vous devriez:

  1. jetez un œil à une banque d'algorithmes et choisissez-en quelques-uns,
  2. essayer de mettre en œuvre des solutions aux problèmes qu'ils abordent,
  3. puis regardez les implémentations de référence,
  4. publiez un article si vous les battez :)

Le NIST Dictionary of Algorithms and Data Structures devrait vous occuper un moment ...

Trouvez ensuite un projet pour animaux de compagnie qui consiste à résoudre quelque chose.

2
haylem

Résolution de problèmes généraux, que ce soit des énigmes, regarder Maison, lire un roman mystère ou aider un voisin avec sa voiture, tout cela peut être utile pour obtenir des idées sur la façon de construire des solutions. Des idées comme être gourmand, diviser pour mieux régner, la programmation dynamique et la création de structures de données ne sont que quelques exemples, car il existe probablement des dizaines de ces types d'idées. La façon dont ils fonctionnent est bien sûr une autre histoire, mais parfois, simplement obtenir ce genre d'idées peut être un grand défi.

2
JB King

J'ai découvert qu'en apprenant la programmation et le développement de logiciels (pas nécessairement de façon formelle), j'ai appris à décomposer les problèmes en morceaux de plus en plus petits.

Je pense que vous pouvez améliorer cette compétence particulière en l'utilisant en dehors du domaine du développement logiciel; en essayant de résoudre les problèmes que vous rencontrez au quotidien. Essayer de comprendre comment quelque chose de nouveau fonctionne (comme un moteur ou un composant électronique) en utilisant cette technique est particulièrement bon.

1
Andy Hunt