Quais são alguns projetos interessantes de programação de verão que se pode fazer?
Se você está interessado em matemática aplicada um pouco e onde ela se relaciona com CS (por exemplo, computação gráfica, ciência computacional/engenharia, otimização, IA/ML), você poderia tentar implementar alguns problemas canônicos nestas áreas.
Acho que é uma boa idéia para as pessoas aprenderem matemática. O que's melhor é que você tem uma maneira de aprender que outros não podem - através da programação de uma solução. Melhor ainda, você pode ver como outras pessoas fizeram isso também. Mais importante ainda, a alfabetização matemática mostra uma grande habilidade que as pessoas que sabem alguma coisa sobre qualquer coisa verão como uma vantagem, então coloque no GitHub.
Aqui estão algumas coisas:
ul>Code um Newton-Raphson, descida gradiente, recozimento simulado, ou métodos de algoritmo genético para optimização>li>Escreva um simples solucionador de equações de difusão numa grelha plana 2D (ou 1D)>li>Implement k significa clustering, algum modelo Markov simples, ou SVM linear (você pode fazer batota aqui um pouco e usar apenas algumas bibliotecas de otimização)>Li>Escrever uma rotina de transformação de Fourier, e depois fazer a transformação rápida de Fourier. Ou Walsch-Hadamard, o que quer que seja.Escreva uma biblioteca de álgebra linear simples (ou seja, adição/subtração, matriz-matriz, multiplicação matriz-vetor, produtos internos e externos, produtos tensor/Kronecker, inversão de matriz, resolução de sistemas lineares, e realmente o quão longe você quiser ir com ela. se você're realmente está nessa, tente eigendecomposição ou variações nesses outros métodos para matrizes particulares... se você'foi tão longe, seria aconselhável pegar um livro de álgebra linear numérica)li>li>Escreva um simulador de circuito quântico simples (estado inicial, aplique portões (leia-se: operadores) a ele, verifique os resultados) e implemente alguns algoritmos básicos de resfriamento. Pode querer pegar um livro sobre isso mas não é necessário.
** Pontos de bônus se você fizer uma implementação multithreaded, memória distribuída, GPU, ou de baixo nível otimizado (por exemplo, SSE). Eu acho que isso seria uma coisa boa para qualquer um ver. E don'não se esqueça de colocar no seu GitHub, droga!
Acho que esta é uma grande chance de se aclimatar com a matemática. Muita gente usa as coisas acima ou versões mais complicadas delas. A matemática é tudo igual na sua cabeça, você só precisa começar em algum lugar. Uma vez que você sabe como raciocinar sobre uma transformação de Fourier você pode entender melhor como resolver certas ODEs/PDEs, ou se você entender eigendecomposição/SVD você pode entender a redução da dimensionalidade no ML. A partir daí você pode construir para uma boa compreensão da matemática e como você pode explorá-la em seus problemas diários.
>p>Boa sorte! Se você decidir resolver algum destes problemas, sinta-se livre para comentar/mensagem para livros ou outros recursos.Artigos semelhantes
- Quais são alguns estudos de casos corporativos interessantes sobre os quais se pode ler?
- Quais são alguns dos projetos mais divertidos que eu poderia começar no Spring Framework para ter o meu interesse nisso?
- Quais são alguns projectos interessantes que se podem fazer com o Raspberry Pi?
- Quais são alguns projetos divertidos para experimentar usando uma API?