Je ne suis pas le meilleur en mathématiques, pas très horrible non plus, mais inférieur à la moyenne, j'ai toujours pensé à améliorer mes mathématiques, mais les écoles et les livres n'ont pas fait le travail parce que je m'ennuie trop vite. La seule chose qui ne m'ennuie pas est le codage et les jeux, alors j'ai pensé que si le codage d'un programme qui résout des problèmes mathématiques m'aiderait à mieux comprendre les mathématiques, la plupart de ces problèmes sont les limites (calcul), les fonctions, le calcul différentiel et certains autres sujets (je l'ai déjà dit ne sont pas si bons) similaires au précédent noté.
Ma question est: suis-je capable d'acquérir une meilleure connaissance en mathématiques si je fais un codage de programme spécifique, et si possible, la physique est-elle également possible de cette façon? Ou ai-je tort et les mathématiques doivent être apprises avant la programmation pour améliorer mon codage?
PS: C ++ est le langage préféré.
la source
Réponses:
Vous n'apprendrez les mathématiques ou la physique de la programmation que si vous utilisez réellement la programmation pour résoudre des problèmes de mathématiques et de physique, bien que les langages fonctionnels comme Haskell contiennent des concepts très "mathématiques". Je suggère d'aller sur un site Web comme Kahn Academy ou Project Euler . Résolvez les problèmes à l'aide de code et vous améliorerez à la fois vos compétences en codage et vos compétences en mathématiques.
la source
Évidemment, vous devez apprendre les mathématiques grâce à la programmation. Si vous essayez de simuler des objets physiques, vous devrez apprendre toutes sortes de physique et de mathématiques, et vous l'apprécierez.
la source
Ceci est mon point de vue ...
La programmation vous aidera à tester vos CONNAISSANCES
Quand j'étais au lycée et au collège, je programmais mes calculatrices pour faire les mathématiques monotones pour moi. Certaines personnes ont prétendu que c'était de la triche, mais j'ai toujours soutenu que je ne serais pas en mesure d'écrire les programmes si je ne comprenais pas vraiment les mathématiques.
Par exemple, supposons que vous vouliez créer un petit programme pour calculer la valeur C, étant donné A et B, dans le théorème de Pythagore. Comment faisons-nous ça? Eh bien, nous savons que:
Donc, pour résoudre pour C, nous avons:
Par conséquent, le programme pourrait être quelque chose comme (en supposant des en-têtes appropriés, ceci est un exemple simple):
TOUTEFOIS...
Où et comment acquérir ces connaissances?
Dans l'exemple précédent, nous avions besoin de savoir comment résoudre le problème de C dans l'équation.
A^2 + B^2 = C^2.
Si nous ne savions pas mettre la racine carrée des deux côtés pour trouver C, comment pourrions-nous résoudre le problème?IMO, cela se résume à: la programmation ne vous ENSEIGNERA PAS absolument, mais elle AMÉLIORERA les compétences que vous acquérez.
la source
Le livre SICP a une très belle section sur les mathématiques. Mais je suggérerais que vous essayiez de prendre l'algèbre linéaire, les mathématiques discrètes et le calcul au minimum, si vous apprenez seulement en écrivant des programmes, votre éducation est susceptible d'être très approfondie, mais pas très large.
la source
Je pense qu'ils vont de pair. Une base solide en techniques mathématiques ouvrira des options de programmation que vous n'auriez pas autrement, tandis que la programmation peut ouvrir des voies intéressantes d'étude mathématique.
J'ai récemment commencé à utiliser wxMaxima , une belle interface graphique pour l'excellent système open source Maxima Computer Algebra (alias un CAS , comme les systèmes commerciaux Maple ou Mathematica ).
Cela ne vous apprendra rien sur les mathématiques à lui seul, mais cela rendra certainement plus intéressant et amusant de jouer avec les mathématiques, ce qui en soi pourrait vous encourager à en savoir plus.
la source
Vous n'avez pas besoin de beaucoup de mathématiques pour la "programmation".
Vous avez besoin de mathématiques pour "l'informatique".
Si vous prévoyez d'utiliser des solutions de bibliothèque préexistantes pour tout, vous ne vous souciez probablement pas de leur fonctionnement. Mais si vous prévoyez de créer vos propres algorithmes et structures de données, vous devrez connaître les mathématiques, car CS est fortement basé sur les mathématiques.
la source
Si vous souhaitez travailler en IA, en traitement de données, en simulation physique ou en graphisme, vous avez besoin de mathématiques. Inversement, si vous ne l'êtes pas, je pense que non. Il s'agit de l'utiliser ou de le perdre, pourquoi apprendre le français si vous ne voulez pas vivre en France? Il existe de nombreux domaines problématiques qui nécessitent simplement une logique conditionnelle.
Cela dit, il y a une inclinaison naturelle dans la programmation vers les mathématiques, et cela ne vous fera que du bien pour en comprendre un peu.
la source
Jetez un oeil à matlab . C'est un langage conçu pour faire des fonctions mathématiques dans le code.
la source
Les mathématiques sont une science avec un domaine très large. Il existe différents types de mathématiques qui n'ont explicitement rien en commun (à part les mathématiques).
Maintenant, la programmation est souvent associée aux mathématiques parce que les ordinateurs calculent et calculent, le plus fondamentalement, ils le font avec des types de données entiers ou à virgule flottante en étapes discrètes.
Il existe des domaines mathématiques que vous pouvez étudier en programmant en "rapprochant" les mathématiques d'un programme. Disons que vous étudiez le calcul différentiel et calculez des valeurs numériques pour de petits intervalles "émulant" ainsi la limite des mathématiques "pures".
D'autres aspects de la programmation sont facilement mappés aux mathématiques (peut-être ne faisant pas partie de votre classe de mathématiques au secondaire, mais toujours des mathématiques précieuses qui ne font pas partie d'un programme traditionnel). Théorie des types par exemple - ou induction mathématique.
Souvent, la seule façon de raisonner sur la «correction» d'un morceau de code est l'induction mathématique par exemple. Ce type de raisonnement est particulièrement visible dans les langages fonctionnels (récursivité, etc.).
C'est-à-dire qu'il existe de nombreuses façons d'apprendre les mathématiques lors de la programmation, mais toutes les mathématiques ne sont pas facilement accessibles dans le modèle de calcul de nos ordinateurs et langages de programmation.
la source
Je n'ai pas trouvé l'entrée de blog mais je me souviens d'un "type" de designer de la fin de la première ère de l'éclatement de la bulle (avant '01 -ish) qui a blogué sur la découverte d'un amour des mathématiques en devenant développeur web et en réalisant qu'il était en fait assez bon dans ce domaine, même s'il avait toujours lamentablement échoué au lycée et avait supposé qu'il n'était tout simplement pas quelqu'un qui serait jamais bon en maths, puis s'est imposé comme un type artistique.
Non pas moi. J'étais juste paresseux. Je dois réapprendre de temps en temps trig mais c'est à peu près tout.
IMO, vous pouvez écrire beaucoup de code décent sans connaissances mathématiques approfondies jusqu'à ce que vous ne puissiez pas, fondamentalement.
Ce que la programmation PEUT faire pour quiconque s'y intéresse raisonnablement, cependant, est de vous aider à surmonter l'idée de savoir si vous êtes ce genre de personne ou ce genre de personne, et de vous donner les outils dont vous avez besoin pour simplement essayer des choses et découvrez par vous-même jusqu'où vos intérêts vous mèneront dans un domaine d'études donné.
Et bien sûr, tout ce que nous faisons est lié à la hanche avec les mathématiques afin que vous puissiez découvrir que vous avez déjà appris plus que ce que vous avez réalisé lorsque vous faites des choses comme apprendre ce qu'est ce truc de sommation à l'envers.
la source
Une autre option consiste à utiliser votre amour de la programmation pour stimuler votre désir d'apprendre les mathématiques. À peu près n'importe quoi a tendance à devenir plus facile à apprendre si vous l'apprenez avec un problème spécifique auquel vous voulez l'appliquer et les mathématiques ne font pas exception. Vous avez juste besoin de comprendre les problèmes de programmation lourds en mathématiques qui vous intéressent et de les utiliser comme raison d'apprendre les mathématiques associées. Apprentissage de l'algèbre linéaire afin de pouvoir jouer avec des graphiques par exemple, ou des probabilités et des statistiques pour le traitement d'images / des trucs de type vision par ordinateur.
Je pense que votre kilométrage va varier à ce sujet car différentes personnes ont différentes façons d'apprendre des choses, mais s'asseoir et apprendre les mathématiques dans l'abstrait pour apprendre les mathématiques n'a tout simplement jamais fonctionné pour moi.
la source
Eh bien, vous pouvez demander aux élèves de résoudre certains problèmes de géométrie, comme dessiner des carrés, des pentagones, des hexagones et des cercles avec Scratch. Mettez-les au défi de développer des solutions et NE leur répondez PAS comment les coder. Laissez-les explorer et tester des solutions. Au moins, vous pouvez demander des choses comme la somme des angles dans les polygones. Ensuite, ils peuvent construire les algorithmes et leurs propres catégories.
la source