Como começo no CS teórico?


35

Eu sou um calouro estudando ciência da computação e já sei que quero entrar na academia com foco em ciência teórica. Eu já li alguns dos documentos mencionados nesta questão e essa questão me convenceu ainda mais.

O que devo fazer agora , como estudante de graduação, para me envolver no campo? O que posso fazer para me preparar para a pesquisa em campo?


7
Isso não é realmente significativo o suficiente para postar como resposta, mas considere pegar uma cópia da "Introdução à teoria da computação" de Michael Sipser. Mesmo se você não tiver tempo para estudar sozinho com esse livro, é uma ótima referência se houver algo que você precise procurar que não esteja claramente explicado na Wikipedia.
Philip White

2
Não sei como o procedimento funciona, mas adoraria ver isso como wiki da comunidade.
chazisop

3
sinalize a pergunta para obter a atenção do moderador e trataremos disso.
Suresh Venkat

2
@ Good Person: OP não pode fazer uma pergunta CW, apenas moderadores podem.
Kaveh

2
@ Good Person: como Kaveh menciona, os pôsteres originais não podem mais fazer posts na CW (e nem alguém com privilégios de edição). Somente mods podem fazer isso. nenhuma ofensa foi intencional.
Suresh Venkat

Respostas:


29

Deixe-me dar uma resposta do outro lado. Alguns pesquisadores de graduação trabalham comigo. A experiência foi mista: com alguns, publiquei trabalhos e tenho trabalhos em andamento e, com outros, nunca realmente começamos.

É ótimo que você saiba o que quer fazer. Na graduação, eis o que você deve focar:

  • Construir os "músculos" matemáticos que o ajudarão quando você começar a trabalhar seriamente nos problemas
  • Explorando diferentes aspectos do CS teórico para entender a área e descobrir que tipos de problemas / áreas você acha interessantes
  • (dependendo da área), resolvendo alguns quebra-cabeças, talvez resolvendo alguns exercícios e trabalhando até uma pergunta de pesquisa.

Encontre um professor para guiá-lo e COLOCA NO TEMPO! A coisa mais difícil que você enfrentará é criar um tempo aberto para pensar em problemas no meio dos trabalhos de aula, tarefas e exames. Mas você precisa reservar blocos de tempo para seu estudo e pesquisa independente, caso contrário, será muito difícil fazer qualquer tipo de progresso. A decisão de como você faz isso: talvez você encontre um professor para se encontrar com você uma vez por semana e defina metas intermediárias para você, ou talvez defina uma meta de longo prazo (trabalhando com exercícios X de um texto) e trabalhe constantemente aquele.


4
Boa resposta! "você precisa reservar blocos de tempo para o seu estudo independente": isso me lembra a minha própria experiência. Eu costumava ser um estudante preguiçoso de matemática, então, no mestre, descobri um bom problema no TCS (centrado na função de castor ocupado). Comecei a trabalhar no meu tempo livre com a orientação de um dos meus professores. Eu nunca encontrei algo interessante sobre o problema, mas 12 anos depois, escrevi mais de 15 artigos com ele (mas ele nunca foi meu orientador de mestrado / doutorado, apenas um mentor "externo").
Sylvain Peyronnet

11
A resposta de Suresh é ótima! Para o OP: Construir "músculos" matemáticos significa se acostumar com a linguagem e as ferramentas da matemática (combinatória, teoria dos grafos, análise, etc.) e também se acostumar com a prova de teoremas! (E esta é a parte realmente emocionante :-)!
Jay

19

Atualmente sou estudante de doutorado e não prof. Portanto, minha sugestão vem da minha experiência pessoal (limitada) como estudante de pós-graduação.

Quando eu era estudante de graduação, sempre trabalhei como assistente de pesquisa no verão com diferentes profissionais do meu departamento. Pessoalmente, acredito que a única maneira de descobrir se o TCS é realmente para você ou não é trabalhar em problemas concretos e ver o que você mais gosta. Demorei um pouco para encontrar um professor e um tópico que eu gostei. Há também um aspecto "social" na pesquisa, e diferentes profissionais têm diferentes hábitos de trabalho e supervisão, e, portanto, esses trabalhos de pesquisa de verão fornecerão uma idéia melhor de qual qualidade você deseja mais de um supervisor no futuro.

Existem muitos campos interessantes em Ciência da Computação, e o TCS é apenas um deles. Portanto, é sempre melhor manter suas opções em aberto e conversar com diferentes profissionais. É muito importante se especializar quando você está fazendo doutorado, mas como estudante de graduação, acho que o conselho de Mark Braverman é extremamente relevante:

"Tente aprender o máximo que puder. [...] É mais difícil mais tarde!"

[Mark tentou se matricular em muitos cursos (bem acima do limite) e explorar diferentes áreas de Matemática e Ciência da Computação quando era graduado.] Tente participar de palestras e seminários sobre diferentes tópicos em seu departamento. Quando você está no último ano, também deve pedir permissão para auditar cursos de graduação relacionados ao seu interesse.

Além disso, dependendo se você está se formando em matemática ou ciências da computação, também precisa planejar os cursos que deve fazer para preparar uma base básica sólida. Se você é graduado em matemática, deve fazer mais cursos de CS em algoritmos e complexidade, o que lhe dá uma mente mais "algorítmica". Se você é graduado em engenharia ou em engenharia, é sempre uma boa ideia aprender alguns cursos básicos de matemática em:

  • Combinatória
  • Probabilidade e Estatística
  • Álgebra Linear Avançada
  • Álgebra abstrata
  • Análise

É verdade que você nunca pode aprender matemática o suficiente e que deve aprender a aprender rapidamente novos métodos / técnicas / técnicas sempre que necessário. Mas um histórico sólido certamente lhe dará um começo mais fácil no TCS.

Desejo-lhe boa sorte e sucesso!


6
+1: boa resposta. Acrescentarei que fazer / auditar cursos não-teóricos de CS ou não-CS também é uma coisa boa, abre sua mente para possíveis problemas para trabalhar, você nunca sabe onde uma boa pergunta teórica aparece, então mantenha seus olhos abertos . :)
Kaveh

Você recomendaria "Advanced Linear Algebra", de Steve Roman, para auto-estudo de pós-graduação?
Jacob

2
@ Jacob: O livro de Roman é certamente recomendado por muitas pessoas. É realmente avançado e abrange tópicos interessantes, como módulos, convexidade, geometria afim, produtos tensores, etc. Portanto, pesquisar em vários livros da biblioteca antes de decidir é sempre uma boa ideia (pelo menos para mim).
Dai Le

11

Como estudante de graduação, sua melhor aposta é expressar esse interesse aos professores do departamento de CS, que podem ajudá-lo (fornecendo essa ajuda uma grande parte do trabalho deles!). A maioria deles, eu esperaria, ficaria encantada em ajudar uma graduação que estava interessada nas mesmas coisas que são. No mínimo, eles podem lhe dar bons conselhos sobre quais aulas assistir na sua instituição e conselhos personalizados para a sua situação.


10

Muitas pessoas parecem estar dando vários conselhos bons. Para acrescentar mais sabedoria, deixe-me dizer o seguinte: não existe muito conhecimento de matemática (a menos que você decida que deseja fazer matemática pura). Sério, conheça sua análise, combinatória, álgebra, talvez alguma teoria de rep, alg top e assim por diante. Isso torna muito mais fácil a leitura de várias áreas da teoria do CS :)


2
excelente conselho. Digo isso a todos os graduandos que vêm falar comigo também.
Suresh Venkat

7

Você deu um ótimo primeiro passo! Em segundo lugar, conversarei com um professor do seu departamento. Se você estiver interessado em teoria, encontre quem está ministrando os cursos de teoria e converse com eles. Eles podem ter alguns problemas que não exigem muita experiência para começar. Na minha experiência pessoal, há mais problemas na teoria dos grafos e combinatória que são mais acessíveis que a teoria, mas ainda desenvolvem as mesmas habilidades de pesquisa. Não tenha medo do seu departamento de matemática!

Também pode ajudar a começar a se envolver na comunidade, especialmente fazendo e respondendo perguntas aqui. Seria bom ter seu nome de usuário como seu próprio nome, para que possamos saber quem você é.


6

Eu sou quase um estudante de graduação. Portanto, as respostas para sua pergunta também são interessantes para mim, mas talvez minha pequena experiência pessoal possa ajudar.

Aqui está minha lista (em ordem aleatória) de sugestões sobre o que você pode fazer:

  • Antes de tudo, leia quantos documentos / livros / notas de aula puder encontrar. Mas também é importante aplicar seu conhecimento em exercícios e posteriormente para abrir problemas! Alguns dos meus professores sempre dizem: não apenas seus músculos precisam de treinamento contínuo :)
  • Leia / faça / responda a perguntas neste site (ou em algum outro site relacionado do SE) é uma boa maneira de aprender a trabalhar com tópicos de pesquisa no TCS ou na matemática.
  • Eu tento ler muitos blogs do TCS de um pesquisador conhecido. Os tópicos cobrem resultados atuais e históricos.

Você teria algum link para esses blogs?
SH7890

2

Acho que o mais importante é explorar o máximo possível para aprender quais aspectos do TCS realmente o excitam. No decorrer desta exploração, você poderá descobrir que os problemas que mais o intrigam são as interseções do TCS com outros campos (egeconomia) ou aplicações do TCS (por exemplo, para redes de computadores) ou tópicos do TCS que também fazem parte de outras áreas do CS como teoria da aprendizagem computacional ou estatística. Heck, é possível que você mude seu curso para matemática ou física ou algo relacionado se seus interesses o levarem nessa direção.

O que quero dizer é que, como calouro, você realmente tem a oportunidade de explorar amplamente com menos pressão do que como estudante ou professor de pós-graduação. E não se assuste se você não acabar nos tópicos do TCS "suspeito habitual".

É claro que seria ideal se você se aprofundasse em alguma área, aprenda técnicas sólidas e publique ótimos resultados.

E se você se tornar um especialista em um novo campo quente antes que ele se torne popular, provavelmente será ótimo para sua carreira.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.