Comment améliorer mes compétences en mathématiques pour devenir un meilleur programmeur
Même si je me considère comme l'un des meilleurs programmeurs sur mes cours de fac d'informatique, je suis fasciné par les gens qui sont vraiment bons en maths. Je dois dire que chaque fois que j'ai eu un math-type de cession ou d'examen, mon approche a été très stéréotypé, c'est à dire si je rencontre un problème qui ressemble à Un je dois utiliser la méthode B et le résultat devrait ressembler à C, ou bien j'ai fait une erreur. Je ne sais vraiment comment faire pour résoudre les problèmes que je révisée.
J'aimerais bien consacrer un peu de temps cet été pour comprendre mathématique des problèmes et de leurs solutions mieux afin de plonger plus profondément dans les domaines de l'algorithmique et complexité de calcul.
Des conseils?
OriginalL'auteur Leonard Ehrenfried | 2009-05-14
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez décent compétences en mathématiques-vous comprendre la mécanique et peut-être un peu de l'intuition derrière ce que vous avez appris-mais que vous êtes un peu à court de de bonnes compétences en résolution de problèmes, surtout depuis que vous dire "je ne sais vraiment comment faire pour résoudre les problèmes que je [précédemment rencontrées]".
Pour remédier à cela, je voudrais prendre un coup d'oeil à Projet Euler. Il y a vraiment pas moyen de résoudre ces problèmes, et ils ont souvent besoin d'une synthèse de plusieurs domaines de connaissances pour aborder avec succès. Vous allez avoir votre gâteau et le manger aussi, à devenir un meilleur programmeur/mathématicien et une meilleure solution au problème, en voyant comment apporter beaucoup de choses à garder à l'encontre d'un problème particulier. Et vous gagnerez un aperçu plus profond de la façon dont les choses qui semblent complètement différente pouvez réellement rentrer ensemble dans un ensemble unifié. (Ceci est particulièrement vrai dans de nombreux domaines des mathématiques.)
Enfin, bravo à vous pour votre désir de devenir un meilleur praticien de votre métier! Si tout le monde affiche le même niveau d'ambition, je ne peux m'empêcher de penser que des logiciels en général serait beaucoup mieux.
OriginalL'auteur John Feminella
En fin de compte, vous avez besoin de "passer un peu de temps en selle" et choisissez quelque chose de l'intérêt et de savoir comment l'utiliser. Je me suis intéressé à la programmation de jeux vidéo en mathématiques et ramassé les Nouveaux Coureurs livre sur le sujet - ne me souviens pas le nom pour le moment. Il avait des concepts et des exercices et comme je l'ai progressé grâce à elle, j'ai senti que je n'ai pas seulement de comprendre les concepts et la théorie, mais comment le mettre en pratique.
Vous pouvez prendre un coup d'oeil à certaines de ces questions connexes. Il y a quelques bonnes réponses. Ils pourraient ne pas être applicables dans votre cas, mais certains seront.
Comment puis-je apprendre les mathématiques nécessaires pour travailler avec la vision par ordinateur?
Comment apprendre la notation mathématique?
https://stackoverflow.com/questions/651865/basic-math-book-for-a-programmer
L'apprentissage Statistique Appliquée avec un focus sur la R
https://stackoverflow.com/questions/568899/user-friendly-math-textbooks
https://stackoverflow.com/questions/509488/recommendations-for-discrete-math-resources
https://stackoverflow.com/questions/488502/best-language-to-program-some-math-free-fast-easy-cool-etc
Jeu d'apprentissage de la programmation (partie 2) (mathématiques)
Ressources de mathématiques pour les Programmeurs C/C++
https://stackoverflow.com/questions/420500/helpful-math-classes-for-programmers
Les mathématiques, la programmation et l'apprentissage
OriginalL'auteur itsmatt
OriginalL'auteur TheTXI
Je voudrais aller avec ces champs:
Ce serait vous donner une adhérence sur la plupart des domaines de la CS. Si vous voulez aller dans les champs spéciaux, vous devez plonger dans certains domaines en particulier:
Vous avez trouvé ces entrées: blogs pour rafraîchir mes maths en pratique et les mathématiques de la programmation et de l'apprentissage. Ils auront quelques conseils.
Alors que d'autres vous procurer quelques bons livres de base sur l'algèbre linéaire et de la logique. Sedgewick a quelques bons livres sur les algorithmes à la base de concepts mathématiques. John Vince a un sur match concepts de l'informatique graphique.
OriginalL'auteur Ralph M. Rickenbach
Mettre en œuvre. Beaucoup.
Calcul intégral et d'Algèbre Linéaire est une mauvaise façon d'aller. Méthodes numériques (ils sont faits pour être mis en œuvre dans les ordinateurs), parce que si vous pouvez les mettre en œuvre, vous pouvez mettre en œuvre quelque chose de mathématique avec un peu d'effort.
Voici quelques sujets que je vous recommande de commencer la recherche. J'ai mis en œuvre au moins un type de chaque et ils m'ont aidé à comprendre non seulement les mathématiques, mais comment réellement programme de difficiles problèmes de mathématiques.
La recherche de racines.
La résolution des systèmes Linéaires et d'autres de manipulation de Matrice (comme la décomposition LU et efficace déterminant des algorithmes). La résolution de systèmes Non linéaires.
Méthode des moindres carrés (Continue et Discrète).
L'Interpolation (Lagrange polynons plupart du temps, et simple de la matrice d'interpolation.)
L'Intégration numérique (je pense que c'est le plus facile... Newton–Cotes, de Tchebychev–Gauss, Gauss–Laguerre, etc)
Numérique d'équations différentielles ordinaires (RungeKutta en plusieurs étapes et méthodes)
Maintenant, certains non-numérique sujets:
Recherche opérationnelle, programmation Linéaire/Optimisation: avec le Simplex avec la Matrice de notation(personnellement, je les appel de ce Complexe), Alors essayez un BranchAndBound et de l'aventure yourselfinto de la programmation Dynamique..
De la Théorie des nombres ont certaines applications intéressantes, spécialement de la sécurité et de criptography
De mettre en œuvre une classe Vector3D vous-même.
Aussi, amusez-vous avec graphiques, y compris la plupart des algorithmes du plus court chemin et les recherches. Je considère que c'est la plus importante structure de données.
Si vous voulez un défi pour vous-même, creuser plus profondément dans l'Optimisation: la Théorie de la File d'attente. La Prise De Décision. Ant Colony Optimization.
J'Espère que j'ai donné votre perspicacité et de ne pas vous effrayer loin! 🙂
OriginalL'auteur rprandi
La pratique, la pratique et la Pratique est la réponse. Mon enfant avait un problème avec les maths et j'ai été en mesure de surmonter ce problème en faisant une habitude qu'il a des pratiques mathématiques presque chaque jour, pendant 30 minutes, ce qui est inférieur à la moitié du temps qu'il passe à jouer à des jeux Wii. Cette pratique a été réalisé avec cet outil à partir de http://www.ourflashcards.com. Je ne suis pas de la publicité pour de l'outil et je vous promets que vous vous sentirez la même manière à son sujet.
OriginalL'auteur a. hamdan
Je pense que cela dépend. Un livre que j'ai apprécié la lecture -- qui commence avec les maths revoir -- est Matt Buckland est La programmation de Jeu de l'IA par Exemple.
Un rapide google produit ce livre, mais encore une fois cela dépend de quel type de programmation que vous êtes en train de faire ou prévoyez de le faire.
Personnellement, je ne pense pas que vous pouvez vous tromper avec une bonne compréhension de la physique et de la algébrique en mathématiques.
OriginalL'auteur Alex
Me rappelle étudiant diplômé jours. J'ai vite appris que c'était plus facile à poser un problème mathématique et trouver un numérique ou le monte-carlo solution que de résoudre le problème de manière analytique (c'est à dire la façon dont le computerless professeur de mathématiques sur un tableau noir). Cela fonctionne pour les problèmes numériques et généralement ne sera pas vous aider autant que le passage d'une économie mathématique de l'examen.
L'autre façon de faire des maths sur l'ordinateur est à utiliser Mathematica ou similaire, mais qui rend de nombreux problèmes de maths si facile à résoudre vous n'avez pas apprendre quelque chose. L'intégration de la arbitrairement complexes des fonctions de la main est la science de fusée. L'intégration de fonctions arbitraires (analytiquement!) dans Mathematica n'est pas plus difficile que d'utiliser calc.exe
Je recommande de ré-inventer la roue et de l'écriture d'une source ouverte, autonome de la bibliothèque dans l'accolade de la langue de votre choix visant à votre favori branche des mathématiques appliquées, que ce soit les premiers ou de programmation linéaire. Les mathématiques de l'API des bibliothèques sont célèbres pour diablement difficile d'écrire des boîtes noires que personne ne sera en mesure de toucher de nouveau. Un exemple en est les statistiques de la fiche dans Excel, il ne ressemble pas à quelqu'un s'est améliorée depuis des décennies. Qui a jamais écrit une bibliothèque de mathématiques apprendrez une tonne.
OriginalL'auteur MatthewMartin
Goto http://www.projecteuler.net site web.
Vous trouverez des problèmes difficiles. Essayez de les résoudre et vous serez fier de vous-même un jour.
bonne Chance
OriginalL'auteur user106991
Si vous voulez comprendre le logiciel, étude catégorie de la théorie
OriginalL'auteur egaga