Mathématiques pures et appliquées pour les programmeurs [fermé]


13

Les mathématiques ont toujours été mon truc en ce sens que j'ai toujours trouvé le sujet facile. Mais l'informatique est mon deuxième amour. Étant donné le choix, je préférerais me spécialiser en mathématiques. Étant donné que les seules carrières que l'on entreprend habituellement avec un diplôme de premier cycle en mathématiques ne sont pas du tout attrayantes, je serais très content de passer mes journées en tant que développeur de logiciels.

Ma question est la suivante: de quelle discipline mathématique un futur programmeur profiterait-il le plus? Mathématiques appliquées ou mathématiques pures?

J'aime m'enseigner moi-même et je suis convaincu que je peux m'apprendre à être un grand programmeur, mais j'ai toujours l'intention d'obtenir une mineure en CS!


16
Si vous avez toujours trouvé les mathématiques "faciles", je suppose que vous n'êtes pas encore allé assez loin.
Mark C

Facile par rapport à la façon dont les autres le trouvent, je dois dire.
Joose

Réponses:


12

Tout dépend de ce que vous voulez faire en tant que développeur de logiciels.

Si vous voulez entrer dans les graphiques, vous avez besoin d'une solide formation en géométrie, en algèbre linéaire, en transformations matricielles (la physique ne serait pas terrible non plus), etc.

Si vous voulez entrer dans SQL ou d'autres types de programmation de base de données, la logique (preuves, lois d'inférence, etc.) et les mathématiques discrètes (peut-être même le calcul lambda) sont toutes nécessaires.

Mais en général, plus vous connaissez les mathématiques appliquées, mieux c'est.

Les mathématiques pures seraient meilleures dans des domaines comme le développement d'algorithmes et la programmation théorique. Peut-être même mapper une programmation redux ou similaire.

Fondamentalement, vous ne pouvez pas vous tromper de toute façon.


Le développement du jeu ne nuirait pas à mes sentiments mais j'entends que c'est un domaine difficile à aborder. Et je ne peux pas imaginer que ne pas avoir de diplôme CS aiderait mes chances.
Joose

Le développement de jeux est très compétitif. Tu serais surpris. Surtout avec toutes les applications iOS, Android et WP7 qui gagnent en popularité. C'était beaucoup plus difficile d'y entrer (tout comme les animateurs 3D professionnels. C'était mon rêve avant CS), mais l'arène mobile a ouvert de nouvelles portes. Quoi qu'il en soit, avec le développement de logiciels, si vous avez les compétences nécessaires pour trouver un emploi, ce n'est pas un problème. Je suis diplômé en 2 mois et mon conseiller me disait que notre département CS. a 100% de placement pour ses diplômés. Ce nombre est typique des grandes universités et CS
joe_coolish

4

Je peux compter sur un doigt le nombre de fois où j'ai dû utiliser des mathématiques plus compliquées que l'algèbre de base dans n'importe quel projet sur lequel j'ai travaillé.

Cela dépend vraiment du domaine dans lequel vous allez.


Très vrai. Mais les mathématiques avancées ont été utiles cette fois-ci, et elles seront probablement utiles au moins une fois de plus avant votre retraite. Où mon cours de vannerie sous-marine n'a pas encore été utile dans mon expérience. Fondamentalement, plus il y a de mathématiques, plus vous avez d'outils pour résoudre les problèmes. Ce n'est jamais une mauvaise idée de prendre plus de mathématiques
joe_coolish

Et il y a une mesure dans laquelle vous pouvez apprendre ce dont vous avez besoin quand vous en avez besoin - en particulier si vous avez déjà une solide formation mathématique. J'ai étudié CompSci, mais lorsque dans mon premier travail j'avais besoin de connaître la géométrie sphérique, je suis allé et j'ai passé un peu de temps dans la bibliothèque de mon ancien collège pour le lire.
Peter Taylor

@joe_coolish Le saviez-vous pas? Ils recherchent des experts dans le domaine pour aider avec Underwater Basketweaving Simulator 2011.
Maxpm

3

La programmation est une mathématique appliquée. Cela dit, je ne pense pas que cela fasse beaucoup de différence. Les mathématiques appliquées que j'ai prises pour mon diplôme (en mathématiques) étaient principalement orientées vers la physique, ce qui ne ferait pas grand-chose pour la logique requise pour la programmation, mais cela fonctionne très bien pour déterminer les algorithmes.


2

Je suppose que je recommanderais une sorte d'équilibre.

Il est certainement utile de connaître la théorie de base des automates, les langages formels, la théorie de l'information et les mathématiques discrètes de base.

Il est également très utile pour les nombreux domaines d'applications mathématiques lourds de connaître le calcul, l'algèbre linéaire, la probabilité et les statistiques.

Il est également très important d'obtenir une ingénierie logicielle sans fioritures, afin que vous sachiez comment analyser une zone à problème et lui proposer une gamme d'approches, avec des avantages et des inconvénients. Ensuite, soyez capable de les mener à bien avec une équipe. Comprendre l'importance du contrôle du code source, de la maintenabilité, des tests et du contrôle qualité appropriés et de la gestion du cycle de vie des logiciels.

J'ai vu des gens très intelligents qui étaient timides dans un ou plusieurs de ces domaines, et cela les retient définitivement. Et s'ils sont enseignants, cela retient leurs élèves.


2

Je termine actuellement un diplôme en mathématiques pures, mais j'ai également passé beaucoup de temps à travailler dans des projets de recherche en mathématiques appliquées. Bien que chaque discipline dessine ses propres frontières culturelles, la distinction entre mathématiques pures et appliquées est souvent plus difficile à cerner que nous ne le souhaiterions. Jusqu'à une date relativement récente dans l'histoire des mathématiques, presque toutes les mathématiques étaient ce que nous appellerions maintenant des «mathématiques appliquées». (Accordez une exception pour la théorie des nombres si vous le souhaitez.) Parfois, les limites changent également. Un de mes intérêts de recherche était motivé par un problème extrêmement «appliqué» correspondant à un système physique réel, mais a grandi pour englober les techniques centrales du semi-groupe et de la théorie du langage formel, des sujets relativement «purs». N'oubliez pas que même Gauss, le prince des purs, a passé des heures à calculer l'orbite de Cérès à la main.

Il est très difficile d'en dire plus sur votre situation sans des détails spécifiques sur les cours et les opportunités de recherche, mais il serait juste de dire que les mathématiques appliquées vous donneront beaucoup plus d'expérience en programmation. Cela ne veut pas dire qu'il n'y a pas de problèmes de calcul en "mathématiques pures", (il y en a!), Mais que ceux-ci ne seront pas mis en évidence, et vous devrez les rechercher par vous-même. D'un autre côté, il semble que la plupart des gens passent plus facilement de pur à appliqué à vice-versa. Il y a beaucoup de possibilités de confondre les variables ici, mais cela peut vous donner une pause.

En fin de compte, l'une des compétences les plus utiles que vous pouvez cultiver en tant que premier cycle est la capacité de déterminer les réponses aux questions suivantes: "qu'est-ce que j'ai besoin d'un pistolet sur ma tête pour apprendre?" Si vous avez des intérêts qui couvrent plusieurs domaines et vous empêchent d'épuiser les offres de cours dans chacun, cette question devrait motiver beaucoup de cours. Par exemple, j'aime beaucoup la théorie des automates mais je n'ai jamais suivi de cours de théorie du calcul car je pouvais simplement lire le manuel pour le plaisir. (Nota bene: cela ne fonctionne que si vous lisez réellement le manuel ). En géométrie différentielle, cependant, je savais que je ne serais jamais réellement incité à traiter des symboles Christoffel et autres à moins d'avoir un pistolet sur la tête sous la forme d'un quiz hebdomadaire.

Vous devez apprendre à reconnaître vos propres inclinations et vos refus et à les rediriger autour d'eux.


1

Des mathématiques pures, certainement. En particulier, les mathématiques discrètes et la logique mathématique.

Le département de mathématiques de l'Université de l'Illinois a un programme de MS intéressant appelé Mathématiques appliquées (théorie du calcul). Il s'agit d'un programme conjoint entre le département de mathématiques et le département CS. C'est peut-être le genre de chose que vous voulez, mais c'est un programme d'études supérieures.


En tant que majeure en mathématiques appliquées (au moins à l'université où j'irai), je devrai prendre des mathématiques discrètes. J'ai remarqué que de nombreux cours sont à la fois purs et appliqués.
Joose

Les mathématiques discrètes sont essentielles!
Morgan Herlocker

1

J'ai réussi à avoir un diplôme d'ingénieur logiciel parfaitement agréable avec un diplôme en mathématiques computationnelles. J'ai eu de la chance, mon école avait un programme spécialement pour cela, et c'était un mélange de CS et de mathématiques avec un accent sur les mathématiques qui soutenaient CS (Discrete, Abstract Algebra, Graph Theory & Networks) et les mathématiques qui nécessitent une aide informatique (numérique analyse, algèbre linéaire).

Je suppose que ce sont des mathématiques «pures», mais je n'y ai jamais vraiment pensé de cette façon - elles étaient tellement axées sur les ordinateurs, que les mathématiques computationnelles étaient une très bonne description.


1

Si vous pensez à une carrière dans la finance: statistiques, analyse, EDP, simulations de Monte Carlo (et assortiment de "mathématiques du (pseudo) hasard"), algèbre.


Je n'ai aucune intention de travailler dans le secteur financier. :)
Joose

Bon pour vous :)
quant_dev

++ Ceux-ci sont précieux pour bien plus que la finance.
Mike Dunlavey

1

Je pense que cela dépend de ce que vous voulez faire. J'ai toujours été impliqué dans le calcul, appliqué à la science et à l'ingénierie, donc les mathématiques appliquées sont la plus grande partie de l'ensemble de compétences. Beaucoup de comp sci, me semble plus mathématique pure, s'inquiète de savoir s'il existe un algorithme qui est NP complet et tout ça, ne m'a jamais semblé très intéressant ou pratique. Mais l'approximation fonctionnelle, les PDE, l'algèbre linéaire, etc. ont toujours été assez fondamentaux. Mais si vous prévoyez une carrière en programmation générale, je pense que ce truc ne fera pas grand-chose pour vous, à part les compétences de réflexion sur le développement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.