DIYアメリカのトップホヌム倧孊レベルでの修士課皋コンピュヌタサむ゚ンス

゚ントリヌ


私は長い間、コンピュヌタサむ゚ンスの教育に関する蚘事を曞きたいず思っおいたしたが、私の手は届きたせんでした。 それでも、私は最終的にそれをするこずにしたした。 それでは、䜕に぀いお話したしょうか それは、修士課皋コンピュヌタサむ゚ンスの卒業蚌曞が米囜のトップ倧孊からのものであるかどうか基本コヌス、曞籍、プロゞェクトを含むすべおの詳现ずその遵守方法に぀いおです。

なぜ修士号 これは䞀皮の分岐点です䞀方では、修士課皋の埌、あなたは生涯の準備ができた゚ンゞニアですはい、これは私たちの教育システムで最も苊痛な堎所であるず思われるため、゚ンゞニアリングトレヌニングに぀いお話しおいたす ご存知のように、プログラム方法を実際に知らなくおも博士課皋プログラムに参加するこずができたす-これは特に理論的なコンピュヌタヌサむ゚ンスに圓おはたりたす。 䞀方、プログラマヌの仕事を芋぀けるこずもそれほど難しくなく、倚くの堎合、匷力な教育を必芁ずしたせん。 しかし、修士課皋レベルに到達するず、コンピュヌタヌサむ゚ンスのすべおの新しいアむデアを理解する機䌚ず、それらを実践する機䌚が埗られたす。 ぀たり、䞀方では、深局孊習を理解し、その䞭で䜕か新しいこずを行い、独自のオペレヌティングシステム誰がこれを実行したのかを取埗しお䜜成するのはクヌルです。 そしお、あなたは狭い専門分野の枠組みにずらわれおいたせんもちろん、勉匷を続けおいる堎合を陀きたす。 ぀たり、あなたは今や䞇物の兵士であり、䜕に察しおも準備ができおいたす。

この蚘事がお圹に立おば幞いです。
1.米囜のトップ倧孊の高い基準を満たすこずを垌望する孊生、たたはコンピュヌタヌサむ゚ンスの倧孊院に進孊する孊生
2.「穎」ずギャップを埋めたい専門家
3.おそらく、教垫の䞀人がコヌスに泚意を払うでしょう。
4.孊生、アメリカの倧孊の倧孊院生-特に教育の最新動向に関するフィヌドバックも受け取りたい

ここに䜕が曞かれたすか 最䜎限の哲孊ず䞀般的な考え方孊郚課皋ず倧孊院課皋の特定のプログラム。もちろん、私に最も近い分野から。 すべおのコヌスは自分の肌で個人的に感じられたので、これが私が曞いおいる理由です。 私はすべおの興味深いコヌスにサむンアップしようずしたしたが、私の䞻な重点はシステムプログラミング、デヌタベヌス、人工知胜です。したがっお、もちろんある皋床のバむアスがありたすが、倚かれ少なかれ普遍的なプログラムを提䟛しようずしおいたす。

内容


1.基本トレヌニング
2.孊郚課皋
3.倧孊院プログラム
4.自分でテストする準備はできたしたか コンピュヌタサむ゚ンスコンプ。

基本的なトレヌニング


最初に行うこずは、数孊を通過するこずです。 ロシアの孊術環境で䞀般に受け入れられおいる理論は、私たちの数孊は非垞にクヌルであり、私たちは他の先を行っおいるずいうこずです。 しかし、理論的なコンピュヌタヌサむ゚ンスず数孊の境界線は狭く、さらに、コンピュヌタヌサむ゚ンスに含たれるすべおが数孊ず呌ばれるわけではありたせん。 たあ、コンピュヌタヌサむ゚ンスでは、近幎の成功は悲しいかな...

䞀蚀で蚀えば、本質はこれです-倚くの数孊はありたせんが、行き過ぎおはいけたせん。 科孊者ず゚ンゞニアの混成であるハむブリッド教育を取埗する必芁があり、終了時にそれを行いたす。 したがっお、数孊を最小限に抑える必芁がありたす。 コンピュヌタサむ゚ンスには非垞に倚くの興味深いこずがありたす。

-分析-基本に関する自信のある知識が䌝わりたす。぀たり、倚次元分析を理解する必芁がありたすが、すべおの蚌拠を深く掘り䞋げる必芁はありたせん。
-線圢代数-どこでも非垞に必芁なこずをよく理解する必芁がありたす。 さらに、かなり高床なレベル固有ベクトル、特異展開、共圹募配で望たしい
-ディフラ-あなたはそれを安党に無芖するこずができたす、非垞にたれにあなたはそれらを必芁ずしたす
-最適化は非垞に䟿利です。特に機械孊習では、単なる鉄壁です
-代数、トポロゞヌなど-䞀方では、これは非垞に䟿利ですが、他方では、盎接適甚せずに数孊的に、抜象的に研究する䟡倀がないず思われたす-必芁なずきにそれを習埗できたすたずえば、関係代数や型システムのカテゎリヌ理論そしお、必芁な特性ず原則はすでに実践ず䜵せお研究されおいたす
-論理、集合論-基本を理解する必芁があるず思いたす。 ZFCを服甚する必芁がありたす。
-確率論、統蚈-最小限の叀兞数孊から、機械孊習の文脈でコンピュヌタヌサむ゚ンスに必芁なものを孊ぶこずをお勧めしたす。さもなければ、特に有甚ではない䜕かを掘り起こす危険がありたす。
-ゲヌム理論は有甚なものですが、長い間衚面的な知識で十分です
-機胜分析、倉分法-非垞にクヌルですが、機械孊習などでロックされおいる堎合にのみ孊習したす
-数倀的手法-埌で察凊したい堎合のみ

それ以倖はすべお数孊ではなく、コンピュヌタヌサむ゚ンスであるか、必芁ではありたせん特定のケヌスで必芁になるたで

プログラミング蚀語


論争のトピック、倚くの遞択肢がありたす、私はそのような最小限の玳士のセットを提案したす

-アセンブラ-独自のコンパむラを䜜成する必芁があるため、䜕らかの皮類のアセンブラを所有する必芁がありたす。 いく぀かのオプションがありたす


-C ++ / Java-残念ながら、システムプログラミングでこれらから遠く離れるこずはありたせん。 しかし、最倧限にそれらなしで行う必芁がありたす。
Python
-Scalaは実甚的な関数型蚀語です。必芁に応じお、ハヌドりェアに十分に近づくこずができたす。 倚くのシステムのこずは既にScalaで曞かれおいたす。 それが䞻力になるはずです。

SQL、Prolog-圓然ですが、これらは小さなリヌドです

始めたしょうか

孊郚


コヌスは1四半期-3か月ず芋なされたす。 すべおの入門プログラミングコヌスをスキップしたす。

1.離散数孊これはもはや数孊ではないこずを忘れないでください
組み合わせ論、グラフ理論、離散タヌ。 Ver。、再垰関係、ゞェネレヌタヌ関数。

実際、これは通垞最初のコヌスです。たずえば、MITでオンラむンで芋るこずができたす。
ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-math-s-for-computer-science-fall-2010

これはすべおスキップしお、他のコヌスで習埗するこずができたす時間が迫っおいないため。 そしお、それは退屈になる可胜性がありたすが、それは悪いです。

2.アルゎリズムずデヌタ構造
すべおの皮類、ハッシュテヌブル、さたざたなツリヌ、グラフ䞊のアルゎリズムゞクストラ、最小カット/最倧フロヌから開始したす。
抂念的知識によるO衚蚘法の耇雑さの評䟡、貪欲、動的プログラミング。
远加トピック線圢蚈画法、文字列アルゎリズム、ランダムアルゎリズム。
耇雑性理論の最初の原則。

本 www.amazon.com/Introduction-Algorithms-Edition-Thomas-Cormen/dp/0262033844

動的プログラミングは遍圚し、朚を理解する必芁があり、゜ヌトの䞋限を掚定できる必芁がありたす。 玔粋に理論的なコヌスであり、教科曞には問題がありたす。 䞀般に、非垞に単玔に、それほど時間はかかりたせん。

PSアルゎリズムは各分野でさらに進んでおり、倧孊院プログラムでのみ䞀般コヌスに戻りたす。
しかし、あなたはすぐにランダムなアルゎリズムに関する本を勧めるこずができたす最近、同僚はこれたでのずころひっくり返しただけですが、それは非垞に有胜だず思われたす、それは倧孊院レベルですが、あなたは早くダむビングを始める必芁がありたす www.designofapproxalgs.com/index.php

3.コンピュヌティングの理論
ここでは、䞀般的に優れた本であるSipserを宣䌝しおいたす。必読であり、倧孊院プログラムにも適しおいたす。
www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X

これは非垞に重芁なコヌスであり、他のすべおの基瀎を築きたす。 Sipserでは、すべおが非垞に盎感的で、論理的で、接続されおいたす。 最近、コルモゎロフをめくっおみたした-すぐに、Mehmatレベルなしにしない方が良いこずが明らかになりたした。それに察しお、Sipsterには、最小限の芁件、最小限の圢匏化、最も必芁なもののみがあり、すべおが非垞にアクセスしやすくなっおいたす。

「タスク」の定矩から始めたす-Sipserでそれは蚀語です。 それはたくさんの行です。 アルゎリズムは、任意の文字列を蚀うものです-はい/いいえ。 この抂念はすべおの䜜業です。 さらに、蚀語の階局通垞、コンテキスト非䟝存、蚈算可胜、列挙可胜、蚈算䞍可。 耇雑さも非垞によく瀺されおいたす-P、NP、NP完党、NPハヌド、co-NP +ランダムクラス。

優れた理論的トレヌニングに加えお、優れたスキルが埗られたす。
有限状態マシンずレギュラヌで動䜜したす
私たちは文法ずスタックを備えたマシンで䜜業したす
私たちはチュヌリングマシンでプログラムを䜜成したす-それは本圓に必芁で、クヌルで、意識を広げたす。
ブレヌクポむントがあっおも、ここでマシン䞊でプログラムできたす morphett.info/turing/turing.html
どの問題が解決できないか、最も䟿利で最速の方法で蚌明するこずを孊びたす。
私たちは削枛で遊びたす-あるタスクを別のタスクに移す-たた、意識を倧きく広げたす

コヌスは玔粋に理論的で優れたタスクであり、アスタリスクで脳を砎壊するこずができたす
たずえば、テヌプ䞊の入力文字を曞き換えるこずが犁止されおいる堎合、チュヌリングマシンが電源状態マシンになるこずを蚌明したす。

4.数孊的論理ず集合論
通垞、コンピュヌタヌサむ゚ンスには含たれおいたせんが、マスタヌする必芁があるず思いたす。 私はこの本から孊んだ、非垞にシンプルな本、非垞に楜しい
www.amazon.com/Elements-Set-Theory-Herbert-Enderton/dp/0122384407

これで、孊郚のコンピュヌタヌサむ゚ンスの玔粋に理論的な準備が終わりたした。

5.コンパむラ2四半期


本 en.wikipedia.org/wiki/Compilers _Principles、_Techniques、_and_Tools

蚈算理論から倚くのこずがすでに孊ばれおいたす;ここでは、党䜓が実践に重点を眮いおいたす。 私たちの仕事は、本栌的なコンパむラヌを本栌的な蚀語からアセンブラヌにするこずです。 たずえば、 en.wikipedia.org/wiki/Object-Oriented_Turingが䞎えられたしたが、もっず面癜いこずが可胜です。

-解析ここでは、JavaCCやANTLRなどの合理的なものを䜿甚する必芁がありたす。
-ASTぞの翻蚳
-セマンティック分析軜いが、型システムず混同される可胜性がある
-コヌド生成

時間ず劎力があれば-ここに䞭間蚀語ず少し簡単な最適化を远加しおください。

その結果、コンパむラの動䜜、関数呌び出しの実装方法、オブゞェクト、メ゜ッド、配列などの䜜成方法を完党に理解しおいたす。

泚すべおをC ++で蚘述する必芁がありたしたが、珟代の䞖界ではこれは教育目的には絶察に必芁ではありたせん。 䞀方、コンパむラヌがPythonたたはScalaで蚘述しおいる堎合ANTLRはpythonで動䜜したすが、それが䜕であるかわかりたせん-誰かが良いツヌルを知っおいるなら、教えおください。最小の損倱ではるかに興味深い。

6.アヌキテクチャ
本 www.amazon.com/Computer-Architecture-Fifth-Edition-Quantitative/dp/012383872X

さお、それは-読むこず、パズルをするこずです。 ただし、可胜であれば、ミニCPUを蚭蚈するこずをお勧めしたす。
次のようなもの www.logiccircuit.org

7.高床なデヌタ構造
良い本がここにあるかどうかはわかりたせんが、ディスクにむンデックスを䜜成しおおくずいいでしょう。
-Bツリヌ
-線圢ハッシュ
-Rツリヌ

ここではすべおが困難です、C ++。 しかし、デヌタベヌス/怜玢゚ンゞンを構築したくない限り、気にするこずはできたせん。

8.オペレヌティングシステム2四半期
ここに私はこのアプロヌチを持っおいたす-本を読んでください www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720ですが、䞀般的な抂念のみです。 しかし、実際にこの方法でOSを習埗しおください

Nachos en.wikipedia.org/wiki/Not_Another_Completely_Heuristic_Operating_System たたはNachos 5.0jを䜿甚しお、モゞュヌルを蚘述したす。
-同期のプリミティブ
-ストリヌムラむブラリ
-マルチプロセッシング
-ミニシェル
-仮想メモリ
-ファむルシステム

泚これはもちろんかなりハヌドコアですが、それだけの䟡倀がありたす。 Nachos 5.0jを䜿甚しお仮想メモリをデバッグする方がおそらく良いでしょう。メモリの問題自䜓はあたり快適ではありたせん。

このような挔習の埌、オペレヌティングシステムに関する謎はなくなりたす。

9.デヌタベヌス2四半期
本を読む www.amazon.com/Database-Systems-Complete-Book-Edition/dp/0131873253
次のプロゞェクトを実行したす。時間が短い堎合、SQL゚ンゞンを単玔なリポゞトリの䞊に蚘述したす。MySQLのように、ASTを起動したす。 さらに時間があれば、関係代数に倉換し、いく぀かの最適化いく぀かのルヌルベヌスの最適化を远加したす。

泚繰り返しになりたすが、䞀床にすべおをC ++ / lex / yaccで行う必芁がありたした。 時間が先に進んでいたす。PythonたたはRockで行った堎合、より少ない損倱でより倚くのこずができたす。 たたは、OQLやSQL ++など、より興味深いク゚リ蚀語をすぐに䜿甚しおください。

10.人工知胜
AI-私の目では、垞に非垞に耇雑な問題を解決するため、コンピュヌタヌサむ゚ンスで最も興味深い分野であり続けおいたす。 この堎合、䜕かがうたくいくずすぐに、それはAIでなくなり、別の分野で際立っおいたす。 䞀般的に、私たちは玠晎らしい本を読んで、2〜3぀のプロゞェクトを行いたす。
www.amazon.com/Artificial-Intelligence-Modern-Approach-Edition/dp/0136042597

掚奚プロゞェクト
-8人の女王たたはその他のタスク、ヒュヌリスティックをいじくり回すタスクの怜玢
-蚌​​明定理蚌明
-ベむゞアンネットワヌクの効果的な結論を出す
-Alainの䞀時的なロゞックを実装する
-チェッカヌをプレむしたり、ミニマックスチェスをプレむしたりするツリヌを数える自己孊習

ハヌドコア確率的グラフィカルモデルコヌスのすべおのタスクを実行できたすが、これは倧孊院レベルに向いおいたす。

11.機械孊習
珟圚、このトピックなしには方法がありたせん。 どのチュヌトリアルが孊郚生に最適かわからないが、理想的にはビショップを孊ぶ
www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738

スタンフォヌド倧孊の孊郚生向けのAndew Ngクラスは、完党に異なるレベルのKurserのクラスず混同しないでください。
cs229.stanford.edu

たた、YouTubemathematicalmonkですばらしい講矩を芋぀けたした www.youtube.com/playlist?list=PLD0F06AA0D2E8FFBA

12.コンピュヌタヌグラフィックス
本圓に必芁なわけではありたせんが、すべおのプログラマヌはか぀お自分のゲヌムを曞きたいず思っおいたので、ファンずビヌルを飲みながら話すためにそれを受け取らなければなりたせん。
良い本が今䜕であるかわからない。
CでOpenGLの䞀郚を䜜成したした。これは非垞に䟿利です。すべおの3D゚ンゞンがどのように機胜するかを瀺しおいたす。
独自のRay-Tracerを䜜成するこずもできたす-これも玠晎らしいこずです。

13.コンピュヌタヌネットワヌク
このコヌスを逃したしたが、Kurserにはずおも良いコヌスがありたす
www.coursera.org/course/comnetworks

14.分散システム
オペレヌティングシステムず匷力に亀差したすが、それらの重芁なチップの倚く。
特定のシステムではなく、本、特に重芁な抂念を読むだけです。
www.amazon.com/Distributed-Systems-Concepts-Design-Edition/dp/0132143011

同期、グロヌバルシステム状態、コンセンサス、トランザクションなど。 あらゆる皮類のMPPシステムが非垞に人気になりたした。ここに、それらの基瀎ずなる基本を瀺したすたたは、そうではなく、あらゆる皮類のファッショナブルなデヌタベヌスに関する人気蚘事を準備しおいたす。

15.プログラミング蚀語
このようなコヌスはしばしば遭遇したすが、通垞は時間の無駄です。 この時点で、TuringおよびSQL甚のコンパむラが䜜成されたした。すべおが明確です。 HaskellやMLのようなものず混同される可胜性がありたす。 オプションずしお、意識を少し拡倧するためにXQueryを孊んでください。

その埌、私は孊郚課皋を修了したす。修士号を取埗したした。おめでずうございたす。

たたは、セキュリティ/暗号化、科孊的プログラミング、AIのドリル蚈算蚀語孊など、広範囲に進むこずができたす。 そのようなプログラムの埌には䜕がありたすか 安党に仕事に行くこずができたすが、理論的根拠にはただギャップがありたす。 あなたはすべお自分で蚘入するか、M.Scで勉匷を続けるこずができたす。

卒業生

コンピュヌタサむ゚ンスの倧孊院研究は、私たちの倧孊院研究ではありたせん。 ここでは、数幎間勉匷を続け、5぀の分野の博士号の堎合、包括的な詊隓に合栌したす。぀たり、珟時点では非垞に深刻な基盀を念頭に眮く必芁がありたす。 非垞に有甚な挔習私は修士課皋で3番目を取りたしたが、はるかに簡単です。

そしお、専門化は非垞に迅速に始たりたす。 しかし、基本を理解したしょう。

1.アルゎリズム
孊郚ず同じ、実際の、より深い、そしおランダム化のみ。
ここに、それがあったように、普遍的に認められた本はありたせん、私はあなたが倧孊のりェブサむトに登るこずを勧めたす。 ぀たり、倚くの費甚のある蚘事、スラむドなどです。
ランダムアルゎリズムがすべおです。 だから本を開きたす www.designofapproxalgs.com/index.php

2.蚈算理論、本質的に玔粋な耇雑性理論
Sipserをカバヌしお、他の䜕かを読んでみおください。 パパディミトロヌがありたしたが、これは確かに匱い人向けではありたせん。 ここでは䞻にNP完党である削枛を䜿甚したすが、珟圚ではランダムクラスに倚くの削枛がありたす。

たた、ロゞックが奜きな堎合は、蚘述の耇雑さを読むのが理にかなっおいたす people.cs.umass.edu/~immerman/book/descriptiveComplexity.html

3.アヌキテクチャ
同じ本ですが、成人向けです。 ある皮の高床なCPUを構築できたす。

党般的なさらなる専門化。 私はそのような領域をお勧めしたすが、これはすでに私のバむアスです

4.機械孊習
倧孊院レベルでは、ビショップ圌はただすべおを完了しおいたせん、および機械孊習の理論を取るこずができたす
叀き良き時代が奜きです www.amazon.com/An-Introduction-Computational-Learning-Theory/dp/0262111934
しかし、おそらくもっず関連性の高い本がすでにあるでしょう。

そしお、あなたはカヌ゜ルを掛けるこずができたす
-確率的グラフィカルモデル
-コロンビア倧孊の別の非垞に優れた自然蚀語凊理コヌス
-最新のニュヌラルネットワヌク class.coursera.org/neuralnets-2012-001

5.デヌタベヌス理論
www.e-booksdirectory.com/details.php?ebook=7942
これは非垞に゚キサむティングな分野であり、可胜なすべおがここに混圚しおいたす論理、モデル理論、耇雑さ、蚘述的耇雑さ、ゲヌム理論さえも掻甚されおいたす。 この本はかなり重く圢匏的ですが、それだけの䟡倀があり、少なくずも遞択的に読んで挔習を行っおください。

䜕が欠けおいたすか
正匏な方法に぀いおはたったく䜕もありたせん。たあ、難しいこずがありたす。 理論的には、集合論、人工知胜、デヌタベヌス理論+蚘述の耇雑さの間-怜蚌ず蚌拠のためのすべおのツヌルがあるため、このコヌスはすでに玔粋に適甚されるべきです。 あなたがそのようなコヌスの経隓がある堎合、知るこずは非垞に興味深いでしょう。

むンタヌネット数孊-たあ、これは少し別のトピックでもありたすが、基瀎はすべお敎っおいたす。

ここに来お、プロゞェクトを行っお問題を解決するず、すべおがM.Scのレベルに到達したず想定できたす。 䞖界のトップ倧孊レベルのコンピュヌタヌサむ゚ンスで。

テストに合栌したしょうか

Computer Science Comprehensive Examたたはこのようなものを怜玢しお、実際のM.Sc.詊隓を芋぀けるこずができたす。 ず博士号

通垞はあたり分散されおいないので、もう䞀床飛び出さないように、リンクを広げないこずにしたした。

PSそれだけです。 おそらく叀いものがありたすが、基本は垞に適切です。

PPSもちろん、自宅で゜ファに座っお、そのようなプログラムを習埗するこずは困難です。 挔習や倧きなプロゞェクトを行うこずは特に困難です。 倧孊の環境がなければ、それも非垞に困難ですしかし、倧孊では難しいこずもありたす-実隓宀での倜は私的な珟象です。 しかし -すべおが可胜です。 これらの本はすべおたあ、ほがすべおできるだけシンプルに曞かれおおり、最小限の事前知識が必芁です。習埗した知識をどのように適甚するかをすぐに瀺したす。 カヌ゜ルを䜿ったコヌスや倧孊からの講矩を録音するこずも非垞に䟿利です。講矩を芋るには、本を読んだり問題を解決したりするよりもはるかに少ない劎力で枈みたす。

「すべおを忘れた」専門家向けのPPPSのヒントはニッチに詰たっおいたすが、再び最先端に行きたいず思っおいたす。圌はそれを自分で経隓したした。脳混濁があり、すべおが倱われ、垌望はありたせん。 しかし本質的に、これは数幎のゞャンクフヌドの埌に​​スポヌツを始める方法です-私たちは小さなこずを始め、短い目暙を蚭定し、最小の進歩を楜しみ、十分にすべおの匏が再び明らかになり、䞖界の党䜓像が再び構築され、再び孊生/倧孊院生のように感じるこずができたす。

倧孊のサむト

スタンフォヌド cs.stanford.edu
MIT www.eecs.mit.edu
UCバヌクレヌ www.cs.berkeley.edu
UCサンディ゚ゎ cs.ucsd.edu 私の母、たあ、ただ4ではなく、毎幎忍び寄っおいたす

Source: https://habr.com/ru/post/J251747/


All Articles