独学プログラマになるための包括的なガイド
パートII:プログラマのように考え、計画し、実行する
問題を解決し、解決策についての理P>
C++を学び、簡単なプログラムを書き始める
前の部分ですでにPythonを学んだことがあります。 Pythonは使いやすさのためにプログラマから多くの低レベルの詳細を隠しているので、プログラマに優しい言語です。 しかし、進歩したい場合は、C++でのプログラミングの基礎を学ぶことが絶対に必要です。
何に焦点を当てるべきか: C++でコードを書くと、マシンレベルの記述に向かっているので、よりプログラマのように感じられます。 構文とセマンティクスの違いを学びます。 静的および動的な型指定、メモリ管理、およびポインタの学習に時間を費やします。 条件、ループ、関数、データ型、およびPythonで学んだものをC++で再び実装する方法を学びます。 このすべてがギリシャ語とラテン語のように思えるなら、心配しないでください。 リソースセクションでは、すべてがあなたに明確になります。
エラーの処理:エラーが発生したときはいつでも、落胆しないでください。 最も経験豊富なプログラマでさえ、プログラムにエラーやバグがあります。 あなたがしなければならないのは、エラーを読み、迅速なGoogle検索を行い、コード内の問題を修正することだけです。 あなたがこれを行う間、あなたが間違いを犯した場所を理解し、あなたの理解を修正し、続行します。 時には、ドキュメントのビットを読む必要があるかもしれません。 次のセクションを確認してください。
ドキュメントを読むことはあなたのための第二の性質でなければなりません
Google検索を行うのと同じように、プログラマのスキルは、ドキュメ ドキュメントを読むことを学ぶと、コードにコメントを付けたり、読みやすいコードを書いたり、コードのドキュメントを書いたりすることも学びます。なぜあなたはこれを学ぶべきですか?
なぜあなたはこれを学ぶ必要がありますか? 多くの人が新しい技術を学ぶことに苦労し、学ぶための既製のコースを探しています。 これは初期段階では問題ありませんが、あなたの知識が深まるにつれて、あなた自身に餌を与えるための既製のチュートリアルは見つかりません。 あなたはドキュメントを読んで、あなたが必要なものを拾う必要があります。 再度、情報をろ過し、仕事を終らせる必要があるものを丁度取ることを学びなさい。
練習します。 繰り返す 練習だ今、あなたは練習を続けなければなりません。
今、あなたは練習を続けなければなりません。 Hackerrankに向かい、そこにウォームアップと実装セクションのすべての簡単な問題を解決します。 あなたが解決できない問題がある場合は、議論を読んで、社説を読んで、あなたがそれを自分で解決する方法を参照してください。 あなたが理解していない何かがある場合は、Googleを使用しています。前の部分で測定を行っている場合は、ここで問題はありません。
あなたが苦労しているなら、私はあなたが戻ってそれらのセクションを再訪することをお勧めします。 あなたはコードを書くのが得意にならなければならないので、この部分をスキップしないでください。 アイデアは、あなたの平易な英語の解決策をプログラミングの同等物に表現することに堪能であることです。 あなたが言語の詳細によって行き詰まっていないなら、あなたは進むことができます。 Pythonで書いたすべてのプログラムをC++でコード化します。あなたは競争力のあるプログラミングの周りの誇大宣伝に出くわすかもしれません、私はそれが良いよりも害を行うので、この段階でそれから離れて滞在することをお勧めします。 あなたはパートIIIを終了したら、あなたはそれを試すことができ、右行われた場合、それは途方もなくあなたの問題解決のスキルを高めることがで
再帰をよく理解する
計算機科学者の心は、再帰を理解する能力にあります。 再帰することは、それ自体の観点から何かを表現することを意味します。 ループを使用してできることはすべて、再帰的かつ非常にエレガントな方法で行うことができます。 これを直感的に理解し、リソースで提供したビデオを見てみてください。 あなたが再帰を十分に理解していないソフトウェア開発者であれば、すぐにそれを行うことをお勧めします。これまでのところ、あなたは低レベルと高レベルの言語を知っており、プログラムに対する”コントロール”の違いを十分に理解することができます。
Summary
これまでのところ、あなたは低レベルと高レベルの言語を知っていて、あなたが持っている”コントロール”の違いを十分に理解することができます。 今では、PythonとC++を使用して簡単なプログラムを書くことができ、両方の言語の違いを理解できるはずです。ここから、多くの人々は、それ自体で無駄な運動に過ぎないより多くの言語を学ぶことのマンネリに入ります。
ここから、多くの人々は、より多くの言語を学 私は初心者から尋ねられる最も一般的な質問の一つは、”どのように多くの言語を知っていますか?”これは、プログラミングの腕前をより多くの言語を知ることに関連付けるとき、初心者が一般的にどのように見当違いの初心者であるかを理解す プログラミングは、多くの言語を知ることではありません。 あなたが使用する言語は、あなたがあなたの問題を効果的に表現して解決するための単なる方法です。 この段階では、あなたは”プログラマ”ですが、それだけでは不十分です。 あなたは今、次のレベルにあなたのスキルセットを取るためにコンピュータサイエンスを学ぶ必要があります。
パートIII: 計算機科学のあなたのTryst
この段階の資源の固体理解はあなたの同等者グループのほとんどのプログラマーよりよくさせる。 あなたも、インドのほとんどの2nd/3rd年工学学生よりも良くなることがあります。 ここからのあなたの進歩は、このセクションの材料のためのあなたの渇きに依存します。 だから集中してp>
このセクションのトピックのほとんどは、学部コンピュータ工学コースの2年目にカバーされています。 このガイドの目的に最も合うように、私はそれらに少し違ったアプローチをしました。
これは通常の学部課程とどのように違うのですか? 通常の学部カリキュラムには理論が満載されています。 私がリソースセクションで提案したコースは、理論と実践の良いミックスを持っています。 これはエンジニアを志望するための良いことかもしれませんが、そこに素人のために、それは非常に有用ではありません。 あなたは理論が終了し、練習が始まる場所のトラックを失います。 私はあなたがまっすぐに行くと練習することができるように、理論的に学ぶために必要なものを正確に指摘します。 理論は、この段階でより良いコードを書くのに役立つツールに過ぎないので、あまりにも重く行き詰まってはいけません。楽しい事実:工学の私の第二学期では、私たちはDBMS(データベース管理システム)と呼ばれる科目を持っていました。 私は彼らのデータベース設計のための最高のER図を描くだろう人を見つけるために驚いたが、それは実際に実用的なアプリケーションのためのデータベース 彼らは図の詳細を正しく取得することに集中していたので、彼らは最初にそれをやっていた理由を忘れてしまいました。 彼らは、図がより良いデータベースを構築し、スケッチスキルを向上させるのではなく、図がそこにあると教えられたことがなかったので、私は彼らを責あなたはすでに無意識のうちに離散数学を使用してきました。
離散数学
あなたはすでに離散数学を使用しています。
離散数学 離散数学は、計算機科学で繰り返し使用されていた応用数学の分野の組み合わせです。 この分野の専門家は、それをすべて一緒にクラブにし、それに名前を付けることに決めました—私たちは今離散数学と呼んでいます。div>
女の子を心配しないで、彼女は最初のプログラムを書いた
女の子を心配しないで、彼女は最初のプログラムを書いた
離散数学を学ぶときは、私がパートiで概説したのと同じ原則に従ってください。 離散数学は、単に問題に取り組むためのあなたの処分でツールの数を増加させます。 あなたが数学の恐怖を克服したならば、あなたは私がリソースセクションでリンクしたコースを徹底的に楽しむでしょう。
データ構造とアルゴリズム
これはあなたの旅全体のバックボーンです。 実際には、あなたはすでにずっとデータ構造とアルゴリズムを使用してきました—再び無意識のうちに。 今、私たちはそれを形式化し、これをより詳細に研究します。
プロジェクトを取り上げるたびに従うことができるガイドラインがいくつかあります。 私は自分自身のためにこのルーブリックを開発し、それがあなたの人々が新しいプロジェクトを取っているために便利であることを実現しました。作業している問題を特定し、詳細について非常に具体的にしてください。
- あなたの目的および目的について明確がありなさい。
- 既存または類似のプロジェクトを検索し、彼らが優れている場所と欠けている場所を特定します。 あなたのアイデアがどこに収まるか、プロジェクトがあなたが念頭に置いている目標や目標とどのように整列し、すべてのメモを作るかを見てくださ
- プロジェクトを行うために学ぶ必要があるすべてのスキルと、プロジェクトを完了するためにスキルを開発する必要がある範囲のリストを作 あなたの長所と短所を知っています。
- 必要なスキルを学ぶための計画を作成します。 あなたと始めるために必要なチュートリアルを助けるために右の人々を識別します。 あなたのプロジェクトを終らせるために技術の開発に専ら焦点を合わせなさい。 詳細に行くことに夢中になるのは簡単です。 覚えておいて、あなたはプロジェクトを完了し、博士号を書かないためのスキルを学んでいます。 それがあなたの目標でない限り。
- プロジェクトを開始し、あなたの目標と目標を更新し、あなたの強みと弱みについて非常に明確にしてください。 プロジェクトを実行可能なサブタスクに分割し、それぞれに客観性指標を割り当てます。 これは、完璧を追いかけて停止し、全体像に焦点を当てるときに知っておく必要があることを意味します。
- イライラして実行します。 すべてのあなたの目的が達成されるまで繰り返しなさい。
より良い学習者になるためのヒントやコツについては、これを読んでください。
あなたの既存の知識を考えると、あなたはウェブサイト、モバイルアプリケーション、ゲーム、小さなスクリプト、Chromeプラグイン、デスクトップアプリ、およ 私は次の記事でこれについての詳細を提供します。 あなたのベルトの下でいくつかの完了したプロジェクトを持っていたら、あなたはフリーランスに十分な開発者になり、あなたが学生なら収入の素晴ら あなたが別の分野から来ている場合、これはあなたに技術であなたの現在の仕事を強化することができるように十分な強固な基盤を提供します。 あなたの現在のスキルセットでできることは無限であり、ブログ投稿全体でさえそれを正義にすることはできません。