이론적 CS에서 어떻게 시작합니까?


35

저는 컴퓨터 공학을 전공하는 신입생이며 이론적 과학에 중점을두고 학계에 가고 싶다는 것을 이미 알고 있습니다. 나는 이미 언급 된 논문의 일부 읽기 이 질문을 하고 이 질문은 더 나를 설득했다.

학부생으로서 현장에 참여하려면 지금 무엇을해야 합니까? 현장에서 연구 할 준비를하려면 어떻게해야합니까?


7
이것은 답변으로 게시하기에 충분히 중요하지는 않지만 Michael Sipser의 "계산 이론 소개"사본을 선택하는 것도 고려하십시오. 그 책에 대해 스스로 공부할 시간이 없더라도 Wikipedia에 명확하게 설명되어 있지 않은 것을 찾아야한다면 훌륭한 참고 자료입니다.
Philip White

2
절차가 어떻게 작동하는지 모르겠지만 커뮤니티 위키로보고 싶습니다.
chazisop

3
중재자의 관심을 끌기 위해 질문에 플래그를 지정하면 처리하겠습니다.
Suresh Venkat

2
@Good Person : OP는 CW 에게 질문을 할 수 없으며 중재자 만 할 수 있습니다.
Kaveh

2
@Good Person : Kaveh가 언급했듯이 원본 포스터는 더 이상 게시물을 CW로 만들 수 없으며 편집 권한을 가진 사람도 할 수 없습니다. 개조 만 가능합니다. 범죄가 의도되지 않았습니다.
Suresh Venkat

답변:


29

상대방의 대답을 알려 드리겠습니다. 학부생 연구원 몇 명이 저와 함께 일했습니다. 경험이 섞여 있습니다. 어떤 사람들은 논문을 발표하고 진행하고 있으며 다른 사람들은 결코 어떤 종류의 출발도하지 않았습니다.

당신이하고 싶은 것을 아는 것이 좋습니다. 학부생으로서 다음에 중점을 두어야합니다.

  • 본격적으로 문제에 대한 작업을 시작할 때 도움이되는 수학적 "근육"구축
  • 이론적 CS의 다양한 측면을 탐색하여 해당 영역을 파악하고 어떤 종류의 문제 / 영역이 흥미로운 지 파악
  • (지역에 따라) 퍼즐을 풀거나 연습 문제를 해결하고 연구 문제를 해결하는 방법도 있습니다.

당신을 안내 할 교수를 찾고 시간을 내십시오! 가장 어려운 것은 수업 시간, 과제 및 시험 중에 문제에 대해 생각할 수있는 개방 시간을 만드는 것입니다. 그러나 독립적 인 연구와 연구를 위해 시간을 절약해야합니다. 교수님을 찾아서 일주일에 한 번 만나서 중간 목표를 설정하거나 장기 목표 (텍스트에서 X 연습을 통해 작업)를 설정하고 꾸준히 작업 할 수 있습니다. 그.


4
좋은 대답입니다! "당신은 당신의 독립적 인 연구를 위해 시간 블록을 예약해야합니다": 이것은 내 자신의 경험을 기억합니다. 나는 게으른 수학 학생이었고 마스터에서 멋진 TCS 문제 (바쁜 비버 기능을 중심으로)를 발견했습니다. 나는 내 교수 중 한 사람의지도로 자유 시간을 작업하기 시작했습니다. 나는 그 문제에 관해 흥미로운 것을 발견하지 못했지만 12 년 후, 그와 함께 15 편 이상의 논문을 썼다.
Sylvain Peyronnet

1
수레 쉬의 대답은 훌륭합니다! OP에게 : 수학적 "근육"을 만드는 것은 수학의 언어와 도구 (조합, 그래프 이론, 분석 등)에 익숙해지고 이론 을 증명 하는 데 익숙해지는 것을 의미합니다 ! (그리고 이것은 정말로 흥미로운 부분입니다! :-)
Jay

19

저는 현재 박사 학위를 소지하고 있으며 교수가 아닙니다. 제 제안은 대학원생으로서의 (제한된) 개인적인 경험에서 비롯됩니다.

학부생이었을 때 저는 여름에 항상 부서의 다른 교수들과 연구 조교로 일했습니다. 나는 개인적으로 TCS가 당신을위한 것인지 아닌지를 알아내는 유일한 방법은 구체적인 문제를 해결하고 가장 즐길 수있는 것을 보는 것이라고 믿는다. 교수님과 내가 좋아하는 주제를 찾는 데 꽤 오랜 시간이 걸렸습니다. 연구에는 "사회적"측면이 있으며, 각기 다른 교수진마다 업무 및 감독 습관이 다르기 때문에 이러한 여름 연구 직업은 미래에 감독관이 원하는 품질이 무엇인지 더 잘 알 수있게 해줍니다.

컴퓨터 과학에는 많은 흥미로운 분야가 있으며 TCS는 그중 하나 일뿐입니다. 따라서 항상 옵션을 열어두고 다른 교수와 대화하는 것이 가장 좋습니다. 박사 학위를 취득 할 때 전문화하는 것이 매우 중요하지만 학부생으로서 Mark Braverman 의 조언은 매우 관련이 있다고 생각합니다 .

"할 수있는 한 많이 배우십시오. [...] 나중에 더 어렵습니다!"

[Mark는 많은 코스 (한도 이상)에 등록하려고했으며, 저학년 때 수학 및 컴퓨터 과학의 다양한 영역을 탐색하려고했습니다.] 부서의 다양한 주제에 대한 강의 및 세미나에 참석하십시오. 고학년에 관심이있는 대학원 과정을 감사 할 수있는 권한을 요청해야합니다.

또한 수학 또는 CS를 전공하는 경우에도 탄탄한 기본 기초를 준비하는 데 필요한 과정을 계획해야합니다. 수학 학부생이라면 알고리즘과 복잡성에 대한 더 많은 CS 과정을 수강하여 더 "알고리즘"마인드를 제공해야합니다. CS 또는 공학 학부생이라면 항상 다음과 같은 기본 수학 과정을 배우는 것이 좋습니다.

  • 조합론
  • 확률과 통계
  • 고급 선형 대수
  • 추상 대수
  • 분석

충분한 수학을 배울 수 없으며, 필요할 때마다 새로운 수학 / 방법 / 기술을 빨리 익히는 법을 배워야한다는 것이 사실입니다. 그러나 배경이 확실하면 TCS를보다 쉽게 ​​시작할 수 있습니다.

행운과 성공을 기원합니다!


6
+1 : 좋은 대답입니다. 나는 비 이론적 CS 또는 비 CS 과정을 수강 / 감사하는 것도 좋은 일이라고 덧붙일 것이다. . :)
Kaveh December

Steve Roman의 "Advanced Linear Algebra"를 졸업하여 자체 학습을 하시겠습니까?
Jacob

2
@Jacob : 많은 사람들이 로마의 책을 추천합니다. 실제로 고급이며 모듈, 볼록 함, 아핀 지오메트리, 텐서 제품 등과 같은 멋진 주제를 다룹니다. 그러나 결론은 항상 취향과 배경에 적합한 것을 선택해야한다는 것입니다! 따라서 결정하기 전에 도서관에서 많은 책을 스캔하는 것이 항상 좋은 생각입니다 (적어도 나에게는).
Dai Le

11

신입생 학부생으로서 최선의 방법은 CS 부서의 교수들에게이 관심을 표명하는 것입니다. 그들 대부분은 자신과 같은 것에 관심이있는 학부생들을 도울 수있게되어 기쁩니다. 최소한, 그들은 당신에게 당신의 기관에서 어떤 수업을 수강 할 것인지에 대한 좋은 조언과 여러분의 상황에 맞는 조언을 줄 수 있습니다.


10

다른 많은 사람들이 여러 가지 훌륭한 조언을하고있는 것 같습니다. 지혜를 더하기 위해 다음과 같이 말하겠습니다. 너무 많은 수학을 아는 것과 같은 것은 없습니다 (대신 순수한 수학을하기로 결정하지 않는 한). 진지하게, 당신의 분석, 조합론, 대수학, 아마도 일부 이론, 대수학 등을 아십시오. CS 이론의 영역에서 훨씬 더 쉽게 읽을 수 있습니다. :)


2
훌륭한 조언. 저와 대화하는 모든 저학년 학생들에게도이 사실을 알려줍니다.
Suresh Venkat

7

당신은 훌륭한 첫 걸음을 내딛었습니다! 부서의 교수와 이야기하는 것에 대해 두 번째로 부정합니다. 이론에 관심이 있다면 이론 과정을 가르치는 사람을 찾아서 그들과 대화하십시오. 그들은 시작하는데 너무 많은 배경을 필요로하지 않는 몇 가지 문제가있을 수 있습니다. 개인적 경험으로는 그래프 이론과 조합론에 이론보다 더 접근하기 쉬운 문제가 있지만 여전히 동일한 연구 기술을 구축합니다. 수학 부서를 두려워하지 마십시오!

또한 특히 여기에서 질문하고 답변함으로써 커뮤니티에 참여하는 데 도움이 될 수 있습니다. 그것은 가지고 도움이 될 자신의 이름 당신의 이름을 우리는 당신이 누구인지 알 수 있도록.


6

나는 거의 대학원생입니다. 따라서 귀하의 질문에 대한 답변도 나에게 흥미롭지 만 내 개인적인 경험이 도움이 될 수 있습니다.

다음은 제안 할 수있는 제안 목록입니다 (임의 순서로).

  • 우선 찾을 수있는 한 많은 논문 / 책 / 강의 노트를 읽으십시오. 그러나 지식을 운동에 적용하고 나중에 문제를 해결하는 것이 중요합니다! 내 교사 중 일부는 항상 말합니다 : 당신의 근육뿐만 아니라 지속적인 훈련이 필요합니다 :)
  • 이 사이트 (또는 다른 관련 SE 사이트)에 대한 읽기 / 문의 / 답변 질문은 TCS 또는 수학에서 연구 주제를 다루는 방법을 배우는 좋은 방법입니다.
  • 유명한 연구원의 많은 TCS 블로그를 읽으려고합니다. 주제는 현재 및 과거 결과를 모두 다룹니다.

해당 블로그에 대한 링크가 있습니까?
SH7890

2

가장 중요한 것은 TCS의 어떤 측면이 실제로 당신을 자극하는지 배우기 위해 가능한 한 넓게 탐구하는 것입니다. 이 탐색 과정에서 가장 흥미로운 문제는 TCS와 다른 필드 (생태 공학) 또는 TCS의 응용 (예 : 컴퓨터 네트워크) 또는 CS의 다른 영역의 일부인 TCS 주제와의 교차점입니다. 전산 또는 통계 학습 이론과 같습니다. 당신의 관심사가 당신을 그 방향으로 데려 가면 전공을 수학이나 물리학 또는 관련된 것으로 바꿀 수도 있습니다.

내 요점은 신입생으로서 당신은 대학원생이나 교수보다 적은 압력으로 폭넓게 탐구 할 수있는 기회가 있다는 것입니다. "일반적인 용의자"TCS 주제에 도달하지 않아도 놀라지 마십시오.

물론 어떤 분야에서 "깊게"가고, 견고한 기술을 배우고 훌륭한 결과를 발표하는 것이 이상적입니다.

그리고 당신이 주류가되기 전에 뜨거운 새로운 분야의 전문가가 되려면 아마도 당신의 경력에 ​​큰 도움이 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.