Não sou o melhor em matemática, nem muito horrível, mas abaixo da média, sempre pensei em melhorar minha matemática, mas as escolas e os livros não fizeram o trabalho porque me cansava muito rápido. A única coisa com a qual não me aborreço é em codificação e jogos. Por isso, pensei que codificar um programa que resolve problemas matemáticos me ajudará a entender melhor a matemática, a maioria desses problemas são limites (cálculo), funções, cálculo diferencial e alguns outros assuntos (eu já disse que não sou tão bom) semelhantes ao observado anteriormente.
Minha pergunta é: Posso obter um melhor conhecimento em matemática se eu fizer alguma codificação específica de programa e, se possível, a física também é possível? Ou estou errado e a matemática deve ser aprendida antes da programação para ajudar a melhorar minha codificação?
PS: C ++ é o idioma preferido.
fonte
Respostas:
Você só aprenderá matemática ou física da programação se realmente usar a programação para resolver problemas de matemática e física, embora linguagens funcionais como Haskell tenham conceitos neles muito "matemáticos". Eu sugeriria ir a um site como a Kahn Academy ou o Project Euler . Resolva os problemas lá usando código e você aprimorará suas habilidades de codificação e matemática ao mesmo tempo.
fonte
Obviamente, você deve aprender matemática através da programação. Se você tentar simular objetos físicos, precisará aprender todos os tipos de física e matemática e irá se divertir.
fonte
Esta é a minha opinião ...
A programação ajudará a testar seu conhecimento
Quando eu estava no ensino médio e no ensino médio, programava minhas calculadoras para fazer a matemática monótona para mim. Algumas pessoas alegaram que estava trapaceando, mas eu sempre argumentei que não seria capaz de escrever os programas se não entendesse verdadeiramente a matemática.
Por exemplo, digamos que você queira criar um pequeno programa para calcular o valor C, dados A e B, dentro do teorema de Pitágoras. Como fazemos isso? Bem, sabemos que:
Então, para resolver C, temos:
Portanto, o programa pode ser algo como (assumindo cabeçalhos adequados, este é um exemplo básico):
CONTUDO...
Onde e como você adquire esse conhecimento?
No exemplo anterior, precisávamos saber como resolver C dentro da equação.
A^2 + B^2 = C^2.
Se não soubermos raiz quadrada de ambos os lados para encontrar C, como poderíamos resolver o problema?Na IMO, tudo se resume a: a programação não ensina absolutamente a matemática, mas MELHORIA as habilidades que você adquire.
fonte
O livro do SICP tem uma seção muito boa de matemática. Mas eu sugiro que você tente usar álgebra linear, matemática discreta e The Calculus no mínimo, se você aprender apenas com programas de escrita, sua educação provavelmente será muito profunda, mas não muito ampla.
fonte
Eu acho que eles andam de mãos dadas. Uma sólida base em técnicas matemáticas abrirá opções de programação que você não teria de outra forma, enquanto isso a programação pode abrir caminhos interessantes de estudo matemático.
Recentemente, comecei a usar o wxMaxima , um bom front-end gráfico para o excelente sistema de álgebra computacional Maxima de código aberto (também conhecido como CAS , como os sistemas comerciais Maple ou Mathematica ).
Ele não ensinará nada sobre matemática por si só, mas certamente fará com que brincar com matemática seja mais interessante e divertido, o que por si só poderia encorajá-lo a aprender mais.
fonte
Você não precisa de muita matemática para "programação".
Você precisa de matemática para "ciência da computação".
Se você planeja usar soluções de bibliotecas pré-existentes para tudo, provavelmente não se importa como elas funcionam. Mas se você planeja criar seus próprios algoritmos e estruturas de dados, precisará conhecer matemática, pois o CS é fortemente baseado em matemática.
fonte
Se você estiver interessado em trabalhar em IA, processamento de dados, simulação de física ou gráficos, precisará de matemática. Por outro lado, se você não estiver, acho que não. É um caso de uso ou perda, por que aprender francês se você não quer morar na França? Existem muitos domínios problemáticos que exigem apenas lógica condicional.
Dito isto, há uma inclinação natural na programação para a matemática, e você não fará nada além de ser bom para entender um pouco.
fonte
Dê uma olhada no Matlab . É uma linguagem projetada para executar funções matemáticas no código.
fonte
A matemática é uma ciência com um domínio muito amplo. Existem diferentes tipos de matemática que explicitamente não têm nada em comum (além de matemática).
Agora, a programação é frequentemente associada à matemática, porque os computadores calculam e calculam; o mais fundamental é que eles fazem isso com tipos de dados inteiros ou de ponto flutuante em etapas discretas.
Existem campos de matemática que você pode estudar programando "aproximando" a matemática de um programa. Digamos que você estude o cálculo diferencial e calcule valores numéricos para pequenos intervalos, "emulando" o limite da matemática "pura".
Outros aspectos da programação são facilmente mapeados para a matemática (talvez não faça parte da sua aula de matemática do ensino médio, mas ainda uma matemática valiosa que não faz parte de um currículo tradicional). Teoria dos tipos, por exemplo - ou indução matemática.
Freqüentemente, a única maneira de raciocinar sobre "correção" de um pedaço de código é a indução matemática, por exemplo. Esse tipo de raciocínio pode ser visto especialmente em linguagens funcionais (recursão etc.).
Ou seja, existem muitas maneiras de aprender matemática durante a programação, mas nem toda a matemática é facilmente acessível no modelo computacional de nossos computadores e linguagens de programação.
fonte
Não consegui encontrar a entrada do blog, mas lembro-me de um "tipo" de designer da era anterior à primeira explosão de bolhas (antes de '01 -ish) que blogou sobre descobrir o amor pela matemática ao se tornar um desenvolvedor da web e perceber que ele era na verdade, muito bom nisso, mesmo que ele sempre tenha falhado miseravelmente no ensino médio e assumido que ele simplesmente não era alguém que seria bom em matemática e depois se considerava um tipo artístico.
Não eu não. Eu era apenas preguiçoso. Eu tenho que reaprender trigonometria ocasionalmente, mas é isso.
Na IMO, você pode escrever um monte de código decente sem conhecimentos pesados de matemática até não conseguir, basicamente.
O que a programação PODE fazer por qualquer pessoa com uma quantidade razoável de interesse nela, no entanto, é ajudá-lo a superar a ideia de ser esse tipo de pessoa ou esse tipo de pessoa, além de fornecer as ferramentas necessárias para experimentar as coisas descubra e descubra por conta própria até que ponto seus interesses o levarão em um determinado campo de estudo.
E é claro que tudo o que estamos fazendo está ligado ao quadril com a matemática, para que você descubra que já aprendeu mais do que imaginou quando faz coisas como aprender sobre o que é essa coisa de soma de trás para frente.
fonte
Outra opção é usar seu amor pela programação para direcionar seu desejo de aprender matemática. Praticamente qualquer coisa tende a se tornar mais fácil de aprender se você estiver aprendendo com um problema específico ao qual deseja aplicá-lo e a matemática não for uma exceção. Você só precisa descobrir problemas pesados de programação de matemática que lhe interessam e usá-los como um motivo para aprender a matemática associada. Aprenda Álgebra Linear para que você possa brincar com gráficos, por exemplo, ou probabilidade e estatística para processamento de imagens / material do tipo visão por computador.
Eu acho que sua milhagem vai variar nisso, já que pessoas diferentes têm maneiras diferentes de aprender as coisas, mas sentar e aprender matemática em abstrato para aprender matemática simplesmente nunca funcionou para mim.
fonte
Bem, você pode pedir aos alunos que resolvam alguns problemas de geometria, como desenhar quadrado, pentágono, hexágono e círculo com o Scratch. Desafie-os a desenvolver soluções e NÃO responda sobre COMO codificá-lo. Deixe-os explorar e testar soluções. Pelo menos você pode perguntar coisas como a soma dos ângulos nos polígonos. Então eles podem construir os algoritmos e suas próprias categorias.
fonte