戻ってスキルセットを再学習する必要がある場合、どのように行いますか?[閉まっている]


16

私の弟はプログラミングを始めようとしています。彼は14歳で、技術的には傾いていますが、実際のプログラミング経験はありません。彼は私に指導を求めており、私の経験が十分であるとは思わないので、私はここで尋ねると思いました。

彼はWebプログラミングに興味がありますが、デスクトップ/モバイル/サーバーアプリケーションにも興味があります。

彼がとるべき良い学習パスは何でしょうか?私は彼にクリスマスを始めるために、彼にたくさんの本を買うつもりです。問題は、彼が何を学ぶべきか、そしてどの順序であるか?

私の考えでは、彼は理論とコードを学ぶ必要があります。彼をPython、Ruby、PHPで始めたいと思います。Webにアクセスしたい場合は、HTML、CSS、Javascriptなどを学ぶ必要もあります。

これらの3つのドメイン(言語、理論、マークアップ/その他)のうち、学習するのに最適な順序は何ですか?また、何か不足していますか?

ありがとう!


18
本の代わりに、ホスティングサイトの1年間のサブスクリプションを購入します。Webには初心者向けの無料のツールがたくさんあります。自宅のコンピューターにサイトを配置することは、ティーンエイジャーにとってそれほどクールな要素です。
ジェフ

ハハ、私は彼と一緒に設定した多くのVPSを実行しているので、彼はその部門に行くのが良いでしょう!
vorbb

回答:


10

彼にStackOverflow.comProgrammers.StackExchange.comのアカウントを登録します

そして、彼が退屈しているとき、彼に異なる質問閲覧する習慣を身に付けさせます。ホット/最も人気のある質問から始めてください。

また

彼が作成したい何かの目標、つまり彼の手の届かないところにある単純なゲーム、ツイートを送信できるアプリを思い付くのを手伝ってください。それは刺激的なものなければなりません。これは、彼が自分自身にさらしているトピックを導き、彼が作成する具体的なアウトプットを通じてモチベーション提供するのに役立ちます。

そして

可能であれば、彼がデジタル印刷うまく機能している場合、物理的な形で本を購入しない でください。あなたの誰かがアンドロイドやiPhone、ブラックベリー、iPodタッチを持っていると確信していますか?ibooksまたはkindleアプリを入手して、デジタルバージョン購入します

物理的な本を扱う必要があると、知識の獲得プロセスが遅くなります。デジタルリーダーに組み込まれたツールは、技術的な読書に多くの利点提供します

注:コメントで述べたように、デジタル書籍と印刷書籍には欠点があります。


15
デジタル読書には同意しません。実際、私は学生に論文を渡し、彼らにそれを読ませる。コンピューターでは、彼らは他のすべてのキャンディーにすぐに気を取られます。概念の研究は、私の経験上、どのデジタル機器からでも最もよく離れて行われます。さらに、携帯電話で読むと目が痛くなります。スキームと数字はどうですか?唯一の利点はリンクですが、それは私たちの学生をあまり助けませんでした。
ジョリスメイズ

1
@Joris Meys、モバイルでの読書は目が難しいと認め、「他のキャンディーに気を取られている」ことが問題になると思いますが、同時に、不足しているものを簡単に探すことができると、情報をはるかにすばやく吸収できます断片...何か新しいものを調査するときに、ブラウザに表示されるタブの数を見積もることさえできません。
instanceofTom

6

プログラミングに入ってきた方法が本当に好きです。変化を想像できる唯一のことは、本へのアクセスです。私の家族は私が食い尽くすことができるすべての本のためのお金を持っていなかったし、私たちの小さな田舎の図書館は正確に技術マニュアルをストックしていなかった。物事の壮大なスキームでは、これは小さな点です。

私は14歳で理論を学ぶことができないと言う人々に心から反対します。理論を早く学ぶほど、より良いです。私は14時にThe Art of Computer Programmingを読みましたが、私はすでにしばらくコーディングしていました。

あなたの兄弟のためにできる最善のことは、彼に彼の興味を追求するためのツールを提供し、可能な限り彼をハッカー/コーダーのコミュニティに含めることです。そうすれば彼は偉大なコーダーの考え方を学ぶことができます。

  • 可能な限りプロプライエタリなツールから遠ざけてください。オープンソースの世界には、彼にとって非常に多くのものがあります。私は、オープンソースコミュニティの経験豊富な人々から受けた指導のおかげで、私は大体満足しています。

  • 余裕がある場合は、Safariアカウントを取得するか、必要なときに書籍を購入できるようにします。既に所有しているものを貸すことも役立ちます。

  • 適切なデスクトップまたはラップトップ、実験するサーバーまたはVPSにアクセスできることを確認してください。モバイルアプリが彼のものなら、彼が作業する電話またはデモデバイスを持っていることを確認してください。

  • 彼と一緒に仕事をすることに興味があることのために、IRCチャンネルやメーリングリストなどを見つける方法を彼に見せてください。

  • 彼が賢い質問をする方法と、逆にサポートリーチの詳細を知っていることを確認して、何をしてはいけないかを知ってください。

  • 彼の最初のプログラミング言語は最も重要な要素ではありません。彼が学んだプログラミング言語の全体は非常に重要です。1言語コーダーが特定の(比較的低い)レベルのcoding-fooを渡すことはありません。


間違いなくそこに同意します。私は14歳までにアセンブラーに夢中になりました。間違いなく、明るい子供には若すぎません。14歳の誕生日プレゼントにRISC OS PRMがありました。(computinghistory.org.uk/userdata/PRODPIC-12025.jpg-私はそれらの本が大好きでした)。しかし、それから私は7から始めました。
10

3

私は携帯電話の分野のための学習教材と一緒に行きたいと思います、それはそこの主要な不動産です。電話エミュレーターを備えたIDEをセットアップし、アプリをプッシュできる電話を彼に提供します

現実世界での使用とハッキングのために彼をセットアップし、あなたの本から彼を導くいくつかの理論を補足します。良いサンプルがあることを確認してください。


必要なハードウェアを提供するための+1。それは情報よりも問題になるでしょう。
ジョリスメイズ

2

大学時代なら学校に行きます。高校時代なら、私はそれを高校に連れて行くでしょう。

私には使命があり、それに応じてカリキュラムを14に調整します。

多くの人がこれについて私を怒らせますが、Visual Basic .NETは一部の人にとっては簡単だと思われます。入門者以外の多くの人にとってはそうであるように思われます。


3
兄貴が手伝うことができたり、地元の高校がそれを使用することができれば、それはより多くの利益かもしれません。今、私は.NET IDEがウェブサイトの構築を容易にし、必ずしも選択された言語であるとは限らないと考えています。初心者でも簡単にC#を習得できますか?北京語は難しい言語ですが、中国の幼児は大丈夫です。
ジェフ

2

Web開発から始めるのはいいアイデアです。あなたが真の初心者であっても結果を得ることができ、あなたが台無しにした場合、それは大した問題ではありません。

Html / CSS + Phpと言います。ジェフがコメントで述べたように、自分のサイトをホストすることは重要であり、Phpのホスティング事業者は高価ではなく、多くの場合無料です。

理論に関しては、私は今のところそれを単に忘れます。私がそれを理解する方法で、彼は主に楽しみを持ちたいと思っています。それに直面してみましょう、理論はあまり楽しくありません。それに、もし彼がプログラミングが好きなら、彼は学校でそれをたくさん持っているでしょう。

明らかに私たちはすてきなコードを気にしていますが、もし彼が遊んでいるだけなら、彼のコードが乱雑であるとしたら何が問題になりますか?


+1初心者のための素早い結果の必要性について言及し、面倒なことをせずに混乱させるため。
10

2

ウェブ/デスクトップ/モバイル/サーバープログラミング?私のように思えます、彼はすべてに興味があります。しかし問題は、彼が何かから始めなければならないことです。

もちろん、これに対する「正しい」答えはないので、多くは同意しませんが、私は彼にPythonに関する本を買います(Learning Pythonは、彼が長い間忙しくするのに十分なほど厚くて徹底的です)彼が私が学んだことと目を楽しませること(つまりそれで達成できること)の良い比率を彼に与える言語。上記の多くの開始点としても適しています。

その後、彼が上記のほとんどを支持しているものを見て、その方向でアドバイスを与えて彼をさらに指示します。


2

彼の高校はコンピューターサイエンスの授業を提供していますか?たとえば、米国のAdvanced Placementプログラムには、コンピューターサイエンスの基本的な概念(制御の流れ、基本的なオブジェクト指向開発手法、ループなど)をかなり通すコンピューターサイエンスクラスがあります。

基本的に4年間(入門コースから基本的なLIPS、MIPS、Open GLまで)のコンピューターサイエンスコースを提供する高校に参加することができました。大学の基礎をテストして、上位レベルのコースで他の多くの言語とトピックを再学習しました。14〜17歳の脳は、18〜22歳の脳がやったよりも、理論を包み込むのがはるかに困難だったと言えます。再帰、ポインター演算、低レベルプログラミング、ネットワークトポグラフィ、関数型プログラミングなどのトピックは、高校に入学するのに長い時間がかかりましたが、大学では2回目だったので、たぶん簡単だと思いました。

困難ではありましたが、14からCSを考えることは非常に役立ちます。教師なしでそれを行うことは、それが複雑だったようです。当時(そして今)やりたいことだったので、楽しみのためにWebページの開発に時間を費やしていましたが、その時点で楽しみのためにポインター、再帰、LISPを教えたことはありませんでした。


1

個人的には筋金入りの理論から始めませんでした。理論のいくつかの要素と混ざった実用的なプログラミングから始めます。それはもっとやる気を維持し、彼を怖がらせることはありません。

たとえば、音楽学校の場合です。学生の大部分は、理論に飽きて、やがて興味を失うために辞めます。

その上、練習で手を汚す前に学んだとき、理論はそれほど良くありません。それをいつ、どのように適用すればよいかわかりません。

しかし、もしあなたが何らかの理論的知識を持っていれば、多くのことを実践した後、ITの真剣なコースはあなたを別のレベルに押し上げるでしょう。そうでなければ、大学で過ごした年月はろう者の年に無駄になります。

その順序で:

  1. ハードウェア、コンピューターアーキテクチャ、およびそのハードウェアのプログラミングに関する基本的な理論。ただ基本。

  2. その後、実用的なものを開発します。興味を引く基本的なアプリケーション。最初にローカル、次にグラフィックのあるもの。サーバー側のプログラミングをデモンストレーションしたいため、Webページはまだありません。多くの場合、データベースなしでは役に立たないでしょう。

  3. 彼にいくつかのデータベース知識作物を落としてください

  4. ローカルアプリケーションをデータベースに接続します。次に、Web開発を試してください。

  5. コースを調整します。


0

私が今知っていることに基づいた私の論理的な好み:

  1. 物事が今どのように機能するかを理解する-あなたは彼が技術的に傾いていると述べている間、彼はこの時点でコンピューターがどのように機能するかをどれだけよく理解していますか?たとえば、彼はマークアップとスクリプトの違いを理解していますか?これまたはそれを行うための小さなスクリプトを書くのはどうですか?これは、私たちの周りにあるものを分かりやすく説明することが、かなり自由に探索できるすべてのものを考えると、良い出発点であるため、出発点に対する私の提案です。

  2. 言語、IDE、およびソース管理を選択します。今、これは誰かに投げつけるのはかなりのように見えるかもしれませんが、これらは少し基本的なツールであり、少し練習すればより大きなものに進むことができます。「Hello World!」の作り方を理解する JavaScriptにメッセージが埋め込まれているWebページは、ここでもう少し具体的なものが必要な場合、悪い出発点ではありません。

  3. 次に、より難しいものをいくつか追加し始めます。ループまたは条件の実行方法 これはまだそれほど空想的ではありませんが、ここでのビルディングブロックの段階を理解しているところです。最後に、クラスのアイデアと、このコンセプトの背後にあるアイデアを紹介します。

誰かが私のスキルセットのいくつかの基本を取得したいなら、それらは私が始めるところです。


0

私はこれを言うとは思わなかったが、彼にアリス3.0を手に入れた。

私は千の太陽の燃えるような怒りでアリスを嫌いますが、まともなチュートリアルと組み合わせると、プログラミングの基礎(ループ、ステートメント、関数など)を教える上で間違いなく良い仕事をします。

彼が基本に固執したら、より実用的なテキストベースの言語に移ります。


0

彼をPython、Ruby、PHPで始めたいと思います。Webにアクセスしたい場合は、HTML、CSS、Javascriptなどを学ぶ必要もあります。

これは理にかなっているようです。基本的なスキルをいくつか与えて、彼が興味を持ち続ける挑戦的なプロジェクトのアイデアを具体化するのを助けてください。

彼の最初の経験は完璧である必要はありません。実際、彼が多くの間違いを早期に犯した場合に役立ちます。あなたは彼が彼の知識を広げることに興味を持ち続けることを確実にしたいだけです。彼が限界に達したとき、彼は援助を求めます。彼がまだ参考資料に分岐していないなら、あなたは彼を正しい方向に向けることができます。


0

テスト駆動開発に関する本を彼に手に入れてください。それは彼に堅実なユニットテストを第二の性質にするでしょう。私は、テストをプログラミングの核として正方形から始めたいと思っていました。


0

私は彼をCベースの言語で始めました。私は彼らにとってより役立つリソースがあることを発見しました。また、コードの設計とフォーマットの方法に関する本を入手して、彼が優れたコーディング原則を使用して始めることもできます。私はそれに専念したクラスがあり、「Clean Code」と呼ばれる本と、正しく覚えていれば「Software Development:Design Principles」というタイトルの本を使用しました。また、早くこのサイトを紹介してくれたらと思います。

しかし、私を最も助けたのは、大学でのキャリアの初期にインターンシップを取得することでした。私は新入生としてキャリアフェアに出かけ、2年生のインターンシップを受けました。また、私は常に取り組んでいるプロジェクトをしようとしていますが、私は今まで経験したことのないことをしたいので、学び続けることができます。現在、私はRaspberry Pieの使用と、ホームオートメーションシステム用のAppleのSiriの実装に取り​​組んでいます。

基本的には、楽しみを保つために必要なことは何でもします。イライラしないでください。休憩を取る。本に夢中になりすぎないでください。学ぶための最良の方法は、それを試して、試行錯誤を繰り返すことです。

ああ...そしてGoogleの使い方を学んでください:)


0

  • c
  • C ++
  • 基本的なプログラミングまでのPython
  • 次にHTML
  • CSS
  • javascript
  • 非常に重要なJavaScriptを最小検証レベルまでCSSで一生懸命
  • その後、html用のsrart pythonとURLを取得
  • その後、すべての段階が正常であればフレームワーク


    レベルは次のとおりです

  • 基本的な解剖学を理解するためのコマンドプロンプトを備えた基本レベル
  • アプリケーションレベル
  • マウスグラフィックレベル
  • Webレベル
  • 設計レベル
  • データベースレベル


    あなたが教えるときに物事をモジュール化することを忘れないでください、彼はC / C ++またはPythonなどを知っているまでjavascriptを理解しません

  • 基本的なプログラミングを知ったら、簡単にHTMLを実行できるようになります
  • htmlを知ったら、cssが好きです
  • しかし、CSSを停止して、新しいアイデアが生まれるので、プロジェクトを始めるために助けが必要だと感じたら、プロジェクトを完了するためにデータベースでjavascriptとpythonを学習しようとします。



    2013年4月7日に追加

    14歳で最初にプログラミングを試してみたいときは、タスクやプロジェクト、または基本的なガイドラインを完了するために必要なリソースを理解する必要があります。プログラムまたはソフトウェアがループと条件でどのように機能するかを理解するには、次にすべてを理解すると思うが、どこかをクリックしたときにマウスにアクセスしたり何かをする方法を知らないので、グラフィックやマウスなどのライブラリを試してみてくださいこれがどのように機能するのか、次の質問はボタンを配置してイベントを追加してコードとやり取りできるようにする方法が頭に浮かぶので、イベントプログラミングを学び、この段階を完了すると、次の質問が発生しますコードと私はその関数を少し複雑にする方法を知らない次に、アプリケーションのモジュール化、オブジェクト、クラスを試します。

    その後、私は基本的なアプリケーションを構築する方法を知っていると思うが、データベース用のアプリケーションを作りたいと思うと、データベースが頭に浮かぶ、あなたは学びたいが、問題はあなたがデータベースに取り組むためにコードに接続するのが難しいと感じることですコマンドプロンプト、

    そのプログラム的アプローチは信じています、私は同じ方法で学び、基本を明確にしているので、
    あなたがあなたのことを理解し、自信を持ってデスクトップのアプリケーションがHTMLの同じスキルを試せるようにしたら、ルーチンまたはプログラムがどのように機能するか を理解できます


    htmlを試してみると、基礎に多くの時間を費やしたからといって、何よりも簡単に学ぶことができます。
    HTMLで、構造とコードの仕組みを理解し、このことを知ったら、アプリケーションの検証とデータベース接続を提供し、試してみて1日に成功し、フォームの場所ボタンを簡単に作成して、 javascript、あなたは自分に質問をしますが、私はすべてを作りましたが、インターネットで見るものと一致しないように見えるので、cssで一生懸命頑張ってください。 hTML / cssを愛してください。

    HTMLを使用して簡単なアプリケーションまたはWebを作成するのに十分です。
    ある時点で、ハイパーリンクが適切に機能することがわかっているときに動的にする方法を自分に質問します。 、


    はい、私のポイント、レコードの表示、レコードの挿入、レコードの削除、Javascriptとサーバーサイドプログラミングを使用したデータベースのローカル再生、その他の概念が自動的に思い浮かび、ユーザー、検証、セッション、ユーザー履歴、国際化など
    を作成しますベースが明確であり、タスクを完了するために必要なリソースとリソースがわかっているため、ガイダンスなしで先に進みます


    それはすべての段階です。基本は非常に重要であり、適切なステップです。あなたは基本を知っていれば、あなたは簡単に別の言語に一つの言語から別の言語や移行を学ぶことができます
    読んでくれてありがとう

    2013年4月7日に追加

    progarmeは、毎日のルーチン、目覚め、入浴、昼食、仕事、夕食、寝るなど、一連の指示とルーチンに他なりません。
    しかし、タスクのいずれかを誤ると、あなたは仕事がないか休暇中の日が日曜日である場合、条件が変化し、毎日のルーチンもあるので、あなたは他のことと一致します、それはプログラミングアプローチのようなものです本はあなたに伝えるものからではなく、実用から、本は参考のために良いが、私たちが反応する方法を自然に理解し、if-elseステートメントの助けを借りて働く一度に1つ、最初に1つを選んで完了したら、家に帰ることができます。2つ目を選んだ場合は次の5時間働く必要があります。


  • 2
    あなたの答えは詳細に重きを置いていますが、正当化には軽微です。この道がベストだと思う理由を説明すれば、あなたの答えはより強くなるでしょう。
    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.