Je suis un programmeur autodidacte. Honnêtement, je ne suis pas bon en maths. Quel conseil donneriez-vous pour améliorer mes compétences en mathématiques afin que je ne sois pas si peu en sécurité avec mes collègues programmeurs? Quelles sont les étapes ou les lignes directrices que vous pouvez recommander pour améliorer mes compétences en mathématiques?
Existe-t-il un livre qui constitue la norme de facto pour décrire les meilleures pratiques, les méthodologies de conception et d'autres informations utiles sur les mathématiques pour les programmeurs? Qu'en est-il de ce livre qui le rend spécial?
Réponses:
Hmm, d'après ce que vous dites, vous semblez vouloir commencer très basique. Rien de grave à ce sujet, j'ai fait la même chose. Mes maths étaient principalement au niveau secondaire et beaucoup ont été oubliés.
Commencez par Khan Academy , allez à la section pratique et voyez jusqu'où vous pouvez aller. Cela vous donnera une bonne idée de ce que vous pouvez faire et du début de l’apprentissage.
Ne prenez pas la peine de regarder les vidéos. Au moins pour moi, les vidéos ne sont qu'un moyen lent d'apprendre et celles de Khan sont extrêmement ennuyeuses. Il existe de nombreuses autres ressources pour apprendre les mathématiques de base. Comme certains des WikiBooks ou ck-12
La question est discutée sur Math.StackExchange assez souvent et la recherche de «ressources gratuites» ou de «livres gratuits» vous apportera beaucoup d'informations et de matériaux. Il en va de même pour les termes de recherche tels que "début" ou "débutant". Ou posez votre propre question ici. Cela fonctionne également dans la sous-section / r / math sur Reddit. Vous y trouverez plus de sous-titres, par exemple pour l’apprentissage des mathématiques.
Pratique beaucoup. Il ne suffit pas de comprendre un concept, puis de passer au suivant. Vous devez être à l'aise pour l'appliquer. Vous ne comprendrez pas les pourcentages si vous n'êtes pas à l'aise avec la division et la multiplication (à titre d'exemple). Cela est vrai aussi pour les concepts supérieurs. C'est pourquoi, pour moi, la section pratique de Khan est beaucoup plus utile que les vidéos.
Comme pour la programmation, rester en contact avec la communauté vous gardera motivé. Il suffit de se connecter à un forum de temps en temps et de lire de quoi les gens parlent.
la source
Concrete Mathematics: Un socle pour l'informatique (2e édition) serait mon choix pour un bon livre de mathématiques couvrant divers domaines des mathématiques, tout en ayant un peu d'humour qui puisse être utile.
la source
Paul's Online Notes de l'Université Lamar est disponible en format PDF. C'est très bien pour un référencement rapide et il y a des exemples sur chaque page. Si j'ai toujours voulu me rafraîchir sur un sujet ou saisir quelque chose, j'ai tendance à revenir sur ce site.
Voici l'ensemble:
Algèbre (Mathématiques 1314): Notes complètes
Liste du contenu
Calcul I (Math 2413): séparés en
Problèmes d'attribution
Calcul II (Math 2414) Notes Complètes
Calcul III (Math 2415) Notes Complètes
Algèbre linéaire (Math 2318) Notes complètes
Équations différentielles (Math 3301) Notes complètes
Vous pouvez consulter le site pour le reste des listes de sujets.
la source
Je réalise que ce n'est pas un livre, mais je pense que cela pourrait être un bon moyen d'élargir votre réflexion sur les mathématiques. Essayez de résoudre les problèmes liés au projet Euler .
Par exemple, le premier est :
la source
Je recommande toujours les mathématiques discrètes de Kenneth Rosen et leurs applications . Il couvre un grand nombre de sujets différents (comme le fera tout bon livre de mathématiques discrètes) avec un bon équilibre entre théorie et application. Il comporte également de nombreuses barres latérales intéressantes sur les mathématiciens et les informaticiens à l'origine des concepts abordés.
la source
Bien que la lecture d’un livre de mathématiques discrète soit une bonne solution, il n’est peut-être pas le chemin optimal si le temps est une contrainte. Si vous voulez avoir une idée de la quantité de maths que vous devriez avoir sans aller plus loin, jetez un coup d'œil à l' annexe A de l'introduction du livre de l'algorithme (cormen) : http://www.acmsolver.org/books/ Introduction% 20to% 20Algorithms,% 202nd% 20Ed% 20-% 20Thomas% 20H.% 20Cormen.pdf
J'ai lu l'annexe et cela m'a permis de mieux comprendre quels sujets liés aux mathématiques devrais-je passer en revue davantage. Une fois que vous savez à quoi vous attendre, jetez un coup d'œil sur:
http://www.amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15
À mon avis, apprendre à prouver (en particulier par induction) est la pierre angulaire de la compréhension des algorithmes d'analyse . Malheureusement, la plupart des algorithmes et même des cours de mathématiques CS ne se concentrent pas sur la preuve. ils supposent déjà que vous êtes compétent en la matière, ils ne vont donc pas au-delà de quelques pages. Le livre Journey into math book est très petit et facile à lire. Il utilise les problèmes CS et leur aspect mathématique également. L' arithmétique matricielle , la probabilité , le comptage et la théorie des graphes sont d' autres sujets intéressants à apprendre .
Les deux autres grands manuels populaires: Discrete Math et son application de EPP (mon préféré) et l’autre de Rosen.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0534359450/ref=sr_1_4?ie=UTF8&qid=1308591784&sr=8-4
http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073229725/ref=sr_1_1?ie=UTF8&qid=1308591784&sr=8-1
Je n’ai pas eu le plaisir de lire le manuel intitulé « Mathématiques concrètes » mais j’ai toujours entendu de bonnes choses à ce sujet.
la source
Franchement, vous pouvez être un programmeur parfaitement adéquat dans de nombreux domaines sans une connaissance fondamentalement très solide en mathématiques. Vous n’êtes peut-être pas très compétent en matière de moteurs de jeu ou d’optimisation du routage réseau, mais, à vrai dire, de nombreuses applications professionnelles sont assez simples. Cependant, je vous encourage à garder espoir et à ne pas abandonner les calculs.
Il y a un monde de différence entre les mathématiques que vous prenez à un niveau inférieur et les mathématiques que vous prenez à un niveau supérieur. C'est très différent de dire que vous êtes mauvais en calcul (j'étais - j'ai échoué dans Calc I la première fois que je l'ai pris) que de dire que vous êtes mauvais en théorie des graphes. Au fur et à mesure que vous avancez en mathématiques, vous ne vous concentrez pas sur une simple résolution de problème qui est franchement assez ennuyeuse et répétitive et qui pourrait tout aussi bien être réalisée à l'aide de votre calculatrice graphique. Au lieu de cela, l'accent est mis sur la capacité de raisonnement logique: la construction de preuves ressemble franchement à l'écriture de logiciels.
Le meilleur cours de mathématiques que j'ai jamais eu est ce que je considérais être mon premier "vrai" cours de mathématiques: en gros, un cours d'introduction aux épreuves couvrant un large éventail de domaines allant de la théorie des graphes à la théorie des nombres. Le texte que nous avons utilisé était excellent ( Pensée mathématique: résolution de problèmes et preuves de D'Angelo et West .) Vous trouverez peut-être utile de parcourir ce livre pour avoir quelques idées sur l'attaque de preuves.
Globalement, avais-je vraiment besoin des mathématiques que j'avais prises au collège? Non, probablement pas. Mais avoir une certaine formation formelle m'a donné de meilleures compétences de pensée critique, une meilleure imagination (il y a généralement plusieurs façons de résoudre un problème, parfois bon, parfois mauvais, mais une idée unique peut être utile) et une confiance en soi dans la résolution de problème.
la source
Ecoute, je suis bon en maths, mais je ne l'utilise vraiment pas du tout pour la programmation, et je programme beaucoup. Mon conseil serait simplement de vous habituer à ne pas en savoir assez et à ce que quelqu'un fasse le calcul à votre place.
Il y a tellement de choses à savoir que vous ne pouvez pas vous attendre à toutes les qualités, mais en mathématiques, ce n'est pas très utile.
Bien sûr, vous en aurez peut-être besoin parce que vos programmes sont scientifiques, sinon utilisez ce temps pour apprendre quelque chose de plus utile.
la source
Il peut être intéressant de consulter les notes de cours de certains des cours (débutants) de la section "Logique et calcul" de ESSLLI (par exemple, le programme à venir de 2011 ou le programme de 2010 , rechercher plus). Cela vous donnera une idée des développements théoriques actuels dans le domaine de la programmation. Vous pourrez ensuite décider d’approfondir les bases d’un sous-domaine concerné par ces cours.
(Sinon, il est difficile de répondre à votre question, il y a tellement de "mathématiques" différentes, dont vous n'avez peut-être pas besoin ou qui ne vous intéressent pas. L'une des raisons pour lesquelles les cours ESSLLI peuvent s'avérer intéressants pour nous est qu'ils reflètent certains la recherche, donc il s’agit de résoudre certaines énigmes, et essayer de résoudre un certain casse-tête est un élément important dans le processus de compréhension réelle d’une théorie, de la compréhension de ce qui est l’intéressant derrière elle.)
la source
Si vous étudiez correctement les mathématiques en CS, vous examinez des éléments tels que la logique mathématique et la théorie des ensembles. Ce sont des maths assez compliquées qui les soutiennent. Par conséquent, si votre niveau élémentaire de mathématiques est un peu bas, vous ferez mieux de commencer par les bases, avant de passer aux domaines plus liés à la CS.
Par conséquent, je vous suggérerais de commencer par les mathématiques de l'ingénierie de KA Stroud . Bien écrit, facile à suivre et couvre les bases ainsi que des outils plus avancés.
la source
Commencez par les principes fondamentaux, puis passez à la spécialité: Mathematician's Delight et Comment le résoudre sont deux excellents livres à commencer. Mathematician's Delight aborde des sujets mathématiques fondamentaux (par exemple, la géométrie, l'algèbre, le calcul, etc.) d'une manière conviviale et amusante. Je n'ai pas encore lu Comment résoudre ce problème, mais il se concentre sur la manière d'attaquer les problèmes de maths en raisonnant.
la source