46 votes

Mathématiques utiles pour les programmeurs

D'après votre expérience en tant que praticien, quelles sont les connaissances mathématiques les plus utiles pour un programmeur? Si "ça dépend", quel est votre domaine d'expertise et de quoi avez-vous le plus besoin en mathématiques?

Pouvez-vous indiquer du matériel d'apprentissage pour un débutant?

24voto

mreggen Points 2940

Steve Yegge a un blog informatif post sur ce sujet (comme d'habitude, c'est un exceptionnellement longue, mais bon). Béton Mathématiques par Knuth et coll. est peut-être LA programmation d'un livre de maths qui vient à l'esprit. Fait de jeter les bases mathématiques nécessaires pour comprendre L'Art de la Programmation Informatique, il a été à la base d'un cours Knuth a enseigné à Stanford dans les années 1970. Autres que que divers algèbre linéaire livres vient à l'esprit, mais aucun n'est aussi important que ce Knuth livre.

9voto

Barrett Conrad Points 1705

Je pense que rien au-dessus de la trigonométrie serait de commencer à aiguiser votre cerveau pour la programmation. Une fois que vous obtenez dans le Calcul, vous pouvez commencer à voir où certaines notions de mathématiques commence à ramper dans la programmation. Les mathématiques discrètes, est sans doute tout aussi essentiel.

L'équation

f(x) = x^2

porte une ressemblance frappante avec

function square(x) {
    return x * x;
}

pour une très bonne raison.

Je n'ai jamais vraiment utilisé le haut de mon niveau de math de l'expérience (mineurs en mathématiques et en physique avec un diplôme en sciences de l'informatique) en procédant de la client le travail de consultation, mais ils ont certainement partager des concepts et des processus de pensée.

Il y a des champs de programmation qui demande certaines compétences mathématiques: des graphiques 3-d aura besoin d'algèbre linéaire, tandis que la bioinformatique aurait besoin d'une bonne connaissance des statistiques.

Bien sûr, n'oubliez pas, l'étude des algorithmes en général est un domaine des mathématiques.

Depuis que je ne connais pas votre niveau d'expérience, je ne peux pas le recommander tout de bonnes ressources. Je peux vous recommander quelques livres que j'ai aimé et connecté les deux champs.

David Berlinski est Un Tour du Calcul était incroyable. Le livre est sur le Calcul, pas sur la façon de l'apprendre. Son écriture, et des exemples sont l'homme et souvent profonde. Je ne serai jamais sauter d'un plongeoir de la même façon.

J'ai également très apprécié Martin Davis de L'Ordinateur Universel. Ce livre éternellement lié maths et en informatique dans mon esprit pour toujours. L'ordinateur ne sont pas des accidents, mais des siècles de l'ancien monde à l'échelle de la mission.

7voto

Erik Öjebo Points 6937

Si l'on a l'intention de faire quelques fonctionnelle de la programmation, je dirais que c'est un avantage d'être à l'aise avec les mathématiques de la manière de définir les fonctions, le nombre de séquences, et ainsi de suite. La récursivité est un bon concept pour comprendre, par exemple, comme l'est l'induction.

Légèrement hors sujet, mais si l'on veut combiner les mathématiques et la programmation, je vous recommande fortement le Projet Euler, qui vous permet d'obtenir dans de certains gros calculs, pour obtenir une sensation pour ce qui est rapide et ce qui ne l'est pas, quand il s'agit d'algorithmes.

5voto

Eldila Points 4048

Bien que vous ne pouvez pas utiliser les mathématiques directement dans votre travail de programmation, je crois que la prise de niveau collégial classes de mathématiques sont très précieux. La prise de ces classes est une très bonne méthode (bien que, pas la seule méthode) de développer vos compétences de résolution de problèmes. C'est sorta comme l'apprentissage "c". Vous ne pourriez pas l'utiliser dans votre travail, mais il permettra d'enrichir votre vie de programmation. Il ya tellement de nombreux concepts de la programmation qui sont étroitement liés aux mathématiques.

De toute façon, voici une liste de champs mathématiques que j'ai trouvé utile.

La Théorie des ensembles: j'ai trouvé cela particulièrement utile lorsque vous traitez avec SQL. À tout le moins, vous devriez comprendre des Diagrammes de Venn. Ils sont incroyables utile.

La Logique formelle: j'ai trouvé la logique formelle utile lorsque vous traitez avec des complexes "if else"/"l'affaire" états. Ce domaine est encore plus utile lorsque prouvant l'exactitude ou la simplification de ces instructions logiques.

Algèbre linéaire: l'Algèbre Linéaire est utile lorsque vous traitez avec des graphiques. Vous n'avez pas la chance de vraiment comprendre le Pipeline Graphique sans comprendre les matrices.

Calcul vectoriel et Multivariable Calculus: Ce champ est extrêmement utile lorsque vous êtes à la modélisation 3d de l'objet.

Équations différentielles: Équations Différentielles sont utiles pour la modélisation des systèmes physiques. Ce serait utile lors de la création de moteurs de physique ou de modélisation d'un système (ie. marché boursier).

4voto

GateKiller Points 19113

Je pense que BODMAS est la règle de calcul la plus utile que j'ai apprise jusqu'à présent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X