Quais cursos de matemática devo fazer para me preparar para um mestrado ou doutorado em CS?

10

Sou um programador profissional autodidata. Eu sou muito bom nisso (Ruby, Unix, Clojure, Java, Objective-C), mas agora estou pensando em levá-lo para o próximo nível, talvez se candidatando a um programa de mestrado ou doutorado em CS. Quais tópicos de matemática devo estudar para me preparar para esse objetivo?

dan
fonte
2
Veja: cstheory.stackexchange.com/q/2571/1621
Dana Moshkovitz
11
Se você estiver com frio, com pouco ou nenhum acadêmico por trás, meu conselho seria selecionar um programa que forneça um caminho de entrada para pessoas que não são de CS. Não é incomum que pessoas com EE, física, matemática ou outros títulos similares de BS desejem fazer uma mudança de carreira. Algumas universidades têm programas projetados para ajudar a facilitar isso em suas estruturas de cursos.
Novak

Respostas:

10

Existe um curso no MIT OCW chamado Matemática para Ciência da Computação , que lista alguns tópicos que você DEVE abordar .

Aprender álgebra abstrata será uma grande vantagem. Porque vejo muitas referências à teoria dos grupos na literatura.

Pratik Deoghare
fonte
3
dang. esqueci a álgebra abstrata na minha resposta - boa ligação.
Suresh Venkat
11
A versão do outono de 2005 vinculada acima está ausente em cerca de 1/3 das notas da aula. As versões da primavera de 2005 e da primavera de 2010 têm notas mais completas.
Daniel Apon
13

Um grau geralmente alto de maturidade matemática facilita muito o entendimento de muitos aspectos formais da ciência da computação (não necessariamente teórica). Portanto, fazer um menor em matemática, juntamente com seu diploma em ciência da computação, faria mais bem do que mal.

Dave Clarke
fonte
11

Álgebra linear, teoria das probabilidades, alguma teoria dos grafos / combinatória no mínimo.

Suresh Venkat
fonte
7

Algumas coisas que você pode precisar, algumas mais, outras menos:

  • Lógica Matemática
  • Teoria da Probabilidade / Combinatória / Estatística
  • Álgebra Linear
  • Cálculo
  • Teoria dos grafos
  • Teoria de conjuntos
  • Teoria dos Números
  • Talvez alguma teoria de otimização

É claro que (quase) qualquer coisa será útil, especialmente se você estiver entrando nos campos teóricos da ciência da computação.

George
fonte
4

Todas as outras respostas + ...

Indiscutivelmente, a coisa mais útil para você tentar é se envolver em pesquisas. Após a troca de pilhas, a leitura de alguns materiais / papéis de fundo e a descoberta do que você pode achar interessante pode ser a maneira mais eficaz de se preparar para a pós-graduação.

Sariel Har-Peled
fonte
2

respostas excelentes / amplas até agora. Sugiro algumas aulas não mencionadas até agora. esp aulas que se inclinam para a aplicação da teoria e exigem que o aluno escreva / depure código e visualize [resultados gráficos] como parte de tarefas. ou criar / depurar sistemas de trabalho. etc.

  • equações diferenciais. especialmente a relação entre ele e equações diferenciais discretas, por exemplo, funções geradoras.
  • métodos numéricos. otimização. Runge Kutta diffeq solver etc. Um exercício puro / altamente educacional é resolver / representar graficamente a equação climática de Lorentz. conceitos sobre precisão / exatidão em aritmética de software, etc.
  • existe uma classe MIT "modelagem e simulação de sistemas dinâmicos". algo semelhante não estaria disponível em todas as universidades, mas talvez alguns o tenham.
  • algumas universidades terão princípios / dinâmica de sistemas complexos ou sistemas adaptativos complexos etc.
  • qualquer coisa relacionada à modelagem ou simulação de sistemas usando software com foco matemático
  • sistemas fractal e matemática
  • aprendizado de máquina (esp com técnicas de descida de gradiente)
  • computação quântica (algumas classes são altamente ou principalmente matemáticas)
vzn
fonte
1

Ótima pergunta. Acabei de passar recentemente no exame de doutorado que, em parte, era um vestibular - mistura de tópicos de graduação e pós-graduação.

Para ser prático - depende da escola que você planeja frequentar, tipo de exame de admissão que eles possam exigir e tipo de programa que eles oferecem.

Alguns requerem GRE, portanto, a preparação para a inscrição não é específica do CS. Alguns exigem a disciplina GRE, que é equivalente a 5-6 cursos básicos de graduação em teoria e será abordada (teoria dos autômatos, matemática discreta etc.)

Para obter o background mais fundamental, eu usaria a Matemática Discreta, Algoritmos e Teoria da Computação do Ad Uni .

Existem outras fontes fantásticas do MIT e Stanford, mas esses três cursos, apresentados por Shai Simonson, são excelentes bases.

Espero que isto ajude.

Edmon
fonte
Um desses cursos é espelhado no YouTube: Teoria da Computação . Infelizmente, os espelhos para algoritmos e matemática discreta estão incompletos.
Jeffε
1

Eu realmente apoio as respostas acima. Posso acrescentar o seguinte que pode ser útil para o quadro geral da matemática no CS:

A matemática pode fazer parte do objetivo em si; análise de algoritmos, limites de complexidade, provas determinísticas ou probabilísticas, algoritmos paralelos e muitas outras áreas de pesquisa relacionadas ao tempo e espaço de computação.

Por outro lado, a matemática pode ser o caminho real para uma meta de nível superior; PDEs, equações leves para computação gráfica, toda a área de pesquisa em física computacional (sistemas dinâmicos, mecânica estatística, formação de galáxias) para citar alguns deles.

Sob as circunstâncias certas, ambas as formas de matemática poderiam viver juntas.

labotsirc
fonte