理論上のCSを始めるにはどうすればよいですか?


35

私はコンピュータサイエンスを勉強している新入生で、理論的な理論に焦点を合わせて学界に進学したいと思っています。私はすでにこの質問で参照されている論文のいくつかを読んでおり、この質問は私をさらに確信させました。

学部生として、この分野に参加するために何をすべきでしょうか?野外での研究の準備をするにはどうすればよいですか?


7
これは回答として投稿するほど重要ではありませんが、Michael Sipserの「計算理論の紹介」のコピーも取り上げることを検討してください。その本を使って独習する時間がない場合でも、Wikipediaで明確に説明されていない、調べる必要のあるものがある場合は、非常に参考になります。
フィリップホワイト

2
手順がどのように機能するかはわかりませんが、これをコミュニティwikiとして見たいです。
chazisop

3
モデレーターの注意を喚起するために質問にフラグを立てて、対処します。
スレシュヴェンカト

2
@Good Person:OPは質問を CWにすることはできません。モデレーターのみができます。
カベ

2
@Good Person:Kavehが述べているように、元のポスターはもはやCWで投稿できません(また、編集権限を持つ人も投稿できません)。MODのみがこれを行うことができます。違反は意図されていません。
スレシュヴェンカト

回答:


29

反対側から答えさせてください。学部生の研究者が私と一緒に働いていました。経験はさまざまです。あるものでは論文を発表し、進行中の作業がありますが、他の場合では、私たちはどんな種類のスタートにも決して降りませんでした。

やりたいことを知っているのは素晴らしいことです。学部生として、ここに焦点を合わせるべきです:

  • 問題に真剣に取り組み始めるときに役立つ数学的な「筋肉」を構築する
  • 理論的なCSのさまざまな側面を調査して、その分野の感覚をつかみ、どのような問題/分野がおもしろいと思うかを把握する
  • (地域によって異なります)いくつかのパズルを解き、おそらくいくつかの演習を解き、研究の質問に向かって進みます。

あなたをガイドする教授を見つけて、時間を置いてください!あなたが直面する最も難しいことは、授業、課題、試験の最中に問題を考えるためのオープンタイムを作ることです。しかし、独立した研究や研究のために時間のブロックを確保する必要があります。そうしないと、何らかの進歩を遂げることが非常に難しくなります。これを行う方法はあなた次第です。週に1回会って教授の中間目標を設定する教授を見つけるか、長期目標(テキストからX演習を行う)を設定して着実に作業することができます。それ。


4
いい答えだ!「独立した学習のために時間のブロックを予約する必要があります」:これは私自身の経験を思い出します。私は怠け者の数学の学生でしたが、マスターで素敵なTCSの問題を発見しました(忙しいビーバー機能を中心に)。私は私の教授の一人の指導のもと、自由時間に取り組み始めました。私はこの問題に関して何か面白いものを見つけたことがありませんでしたが、12年後、彼と一緒に15を超える論文を書きました(しかし、彼は私のphd / master advisorではなく、「外部」メンターでした)。
シルヴァンペロンネット

1
Sureshの答えは素晴らしいです!OPにとって:数学的な「筋肉」の構築とは、言語と数学のツール(組み合わせ論、グラフ理論、分析など)に慣れ、定理を証明することに慣れることを意味します。(そして、これは本当にエキサイティングな部分です!:
ジェイ

19

私は現在博士課程の学生であり、教授ではありませんので、私の提案は大学院生としての(限られた)個人的な経験から来ています。

私が学部生だったとき、私は夏に研究部門のさまざまな教授と常に研究助手として働いていました。私個人としては、TCSが本当にあなたに合っているかどうかを判断する唯一の方法は、具体的な問題に取り組み、何が一番楽しめるかを見ることだと思います。私が好きな教授とトピックを見つけるのにかなり時間がかかりました。研究には「社会的」側面もあり、異なる専門家は異なる作業および監督の習慣を持っているため、これらの夏の研究の仕事は、将来スーパーバイザーに最も求められる品質をより良く理解するのに役立ちます。

コンピュータサイエンスには多くの興味深い分野がありますが、TCSはそのうちの1つにすぎません。そのため、常に選択肢を開いてさまざまな専門家と話をするのが最善です。あなたが博士号を取得しているときに専門化することは非常に重要ですが、学部生としてMark Bravermanのアドバイスは非常に重要だと思います:

「できる限り多くのことを学ぼう。[...]後でもっと難しい!」

[マークは多くのコース(制限をはるかに上回る)に入学しようとし、学部生のときに数学とコンピューターサイエンスのさまざまな分野を探索しました。]学部のさまざまなトピックに関する講義やセミナーに参加してみてください。あなたが上年にいるとき、あなたはあなたの興味に関連する大学院課程を監査する許可を求めるべきです。

また、数学を専攻しているのかCSを専攻しているのかにもよりますが、しっかりとした基本的な基礎を整えるために講座を計画する必要もあります。あなたが数学の学部生であるなら、あなたはより多くの「アルゴリズム」マインドを与えるアルゴリズムと複雑さでより多くのCSコースを取るべきです。あなたがCSまたはエンジニアリングの学部生である場合、次の基本的な数学コースを学ぶことは常に良い考えです。

  • 組み合わせ論
  • 確率と統計
  • 高度な線形代数
  • 抽象代数
  • 分析

十分な数学を学ぶことができないこと、そして必要なときにいつでも新しい数学/メソッド/テクニックを素早く習得することを学ぶべきであることは事実です。しかし、背景がしっかりしていれば、間違いなくTCSを簡単に始めることができます。

幸運と成功をお祈りします!


6
+1:いい答え。私は、非理論的なCSまたは非CSのコースを受講/監査することも良いことです、それは可能な問題に取り組むためにあなたの心を開きます、あなたは素敵な理論の質問がどこに現れるかわかりません。:)
カベ

大学院の自習用にスティーブ・ロマンの「高度な線形代数」をお勧めしますか?
ジェイコブ

2
@Jacob:ローマの本は確かに多くの人に推薦されています。それは本当に高度で、モジュール、凸性、アフィン幾何学、テンソル製品などの素敵なトピックをカバーしています。しかし、一番下の行はあなたの好みや背景に適したものを常に選択するべきです!そのため、決定する前にライブラリ内の多数の本をスキャンすることは常に良い考えです(少なくとも私にとっては)。
大ル

11

新入生の学部生として、あなたは最善を尽くして、あなたを助けることができるCS部門の教授にこの関心を表明することです(これは彼らの仕事の大部分を提供します!)。彼らのほとんどは、彼らと同じことに興味を持っていた学部生を助けて喜んでいるでしょう。少なくとも、彼らはあなたの教育機関でどのクラスを取るべきかについての良いアドバイスや、あなたの状況に合わせてカスタマイズされたアドバイスを与えることができます。


10

他の多くの人々がさまざまな良いアドバイスをしているようです。知恵に追加するには、私にこれを言ってみましょう:あまりにも多くの数学を知っているようなものはありません(あなたが代わりに純粋な数学を行いたいと決定しない限り)。真剣に、あなたの分析、組み合わせ論、代数、おそらくいくつかの担当者の理論、alg topなどを知ってください。これにより、CS理論のさまざまな分野で広く読めるようになります。


2
優れたアドバイス。私に話しかけてくるすべての学部生にこれを伝えます。
スレシュヴェンカト

7

すばらしい第一歩を踏み出しました!私はあなたの学部の教授と話すことについて二回目をします。理論に興味がある場合は、理論コースを教えている人を見つけて、彼らと話してください。彼らは始めるのにあまり多くの背景を必要としないいくつかの問題を抱えているかもしれません。私の個人的な経験では、グラフ理論と組み合わせ論には、理論よりも親しみやすい問題がありますが、それでも同じ研究スキルを構築します。数学科を恐れないでください!

また、特にここで質問をしたり答えたりすることで、コミュニティに参加し始めるのに役立つ場合があります。ユーザー名を自分の名前にすると、ユーザーが誰であるかがわかります。


6

私はほとんど大学院生です。ですから、あなたの質問への答えも私にとっては興味深いものですが、おそらく私の小さな個人的な経験が助けになるでしょう。

ここにあなたができることの提案の私のリスト(ランダムな順序で)があります:

  • まず第一に、できるだけ多くの論文/本/講義ノートを読んでください。しかし、あなたの知識を演習に適用し、後で問題を解決することも重要です!私の家庭教師の何人かはいつも言います:あなたの筋肉だけでなく継続的なトレーニングが必要です:)
  • このサイト(または他の関連するSEサイト)で質問を読む/質問する/回答することは、TCSまたは数学の研究トピックを扱う方法を学ぶ良い方法です。
  • 私は有名な研究者から多くのTCSブログを読みたいと思っています。トピックは、現在および過去の結果の両方をカバーしています。

それらのブログへのリンクはありますか?
-SH7890

2

最も重要なことは、TCSのどの側面が本当にあなたを興奮させるかを知るために、できる限り広く探求することだと思います。この調査の過程で、最も興味を引く問題は、TCSと他のフィールド(経済学など)の共通点、またはTCSのアプリケーション(コンピューターネットワークなど)、またはCSの他の領域の一部であるTCSトピックであることがわかります。計算または統計学習理論のような。ヘック、あなたの興味がその方向にあなたを連れて行くならば、あなたはあなたの専攻を数学または物理学または関連する何かに変えるかもしれないことさえ可能です。

私のポイントは、新入生として、あなたが大学院生や教授としてよりも、より少ない圧力で広く探求する機会を本当に持っているということです。また、「通常の疑わしい」TCSトピックに至らなくても心配しないでください。

もちろん、ある分野で「深く」行き、しっかりしたテクニックを学び、素晴らしい結果を公開することが理想的です。

そして、あなたが主流になる前にホットな新しい分野の専門家になってしまうなら、おそらくあなたのキャリアにとって素晴らしいでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.