2008-08-25 9 views
8

非常に頻繁にプログラミングに取り入れられている人のためのコースは、コードプロジェクトを含んでいます。しかし、そのようなプロジェクトはしばしば人工的すぎると感じるので、作業にはあまり価値がありません。*完全な初心者のためのコードプロジェクトの報酬

コードプロジェクトに報いるあなたのアイデアは何ですか? (できるだけ早く始めるのが簡単で、上級者は自由に拡張できる!)。

編集:

@マーク:リンクのおかげで、私はプログラミングに完全に新しいしている人々のためのプロジェクトに、より興味ものの(リンクは、少なくともで、すでに精通している人々に、よりを参照しているようです1つの言語、そして新しいものを学ぼうとする - 私が言っている典型的なSOの聴衆 - :))。

@ Kevin、Vaibhav、gary:私は1つの言語でプログラミングを学んでいる人たちを考えていたので、コースの始めには制御構造について何も知らない。しかし、私は非常に大きなプロジェクト(通常1〜10kのコード範囲、おそらく2〜3人のグループのグループ)で考えていました。これは私の学校では初心者の方々のために行われたものですが、彼らの仕事の大半が作業に飽き飽きしていたことを除けば、彼らにとってはうってつけのようでした!

答えて

4

数回述べたように、初心者に教えることはプロジェクトにとって非常に重要です。このような何か計画するためのあなたに

私のアドバイス:

1)を楽しみに構築する一方で、コンピュータゲーム

にコンピュータゲームを作る避け、それはだ(早い段階で結果をプログラマに報酬を与えるはありません非常に複雑)。あなたは、Port Scannerのような小さくても役に立つアプリケーションプログラムに集中したいと思っています。この例は少し複雑ですが、これは私がウェブで見た中で最も優れた学習プロジェクトの1つです。

それは早い段階であなたの労働の成果を見ることがやりがいだし、それはあなたがさらに行くために動機早い

2)教えグラフィック。 WinForms、MFC、Win32 API、OpenGL、DirectXのいずれを使用していても、早い段階で教えてください。

3)深さの情報を持つ多くの小さなレッスン

この原理は上記のリンクポートスキャナプロジェクトに続いて、それがうまく機能しています。各部を徹底的に教え、初心者がレッスンを吸収する時間を与えてください。私はZophusXが情報を与えるための良いフォーマットを持っていたと思う。彼はほとんどが彼のサイトを放棄しているのはあまりにも悪いです。

4)時間がかかります

物事を急ぐことはありません。誰も数週間で恒星のプログラマーになれません。レッスンを簡単にしてみましょう。魅力的で、前のレッスンとは違った作り方をしてください。

5)早期のフィードバックを取得し、多くの場合、

あなたは、プロジェクトは非常に興味深い、または特定のレッスンや、あると思うかもしれないが、あなたは1回の学習ではありません。あなたの学生は、あなたが物事がどのように進行しているかを早期に尋ねるとき、そしてもっと知りたいと思っていることについて、非常に感謝します。あなたはそれらの要求のいくつかを受け入れることができるように十分な柔軟性を備えています。

6)楽しんでください。

楽しんでください。情熱は伝染性があり、あなたの学生があなたがどれくらい楽しんでいるかを見るなら、その熱意のいくつかも同様に擦り減ります。

私はそれが助けてくれることを願っています!

+0

このサイトでは、ポートスキャナコードへのリンクが壊れているようです。万が一あなたはまだコピーを持っていますか?私はサイトに連絡したが、彼らは返信しなかった。 – Steve

0

本当に初心者に教えているかによって異なります。シンタックスを教えようとするなら、単純な "Hello World"プログラムと1から100の間のすべての奇数を吐き出すプログラムは、それらを起動させるのに問題ありません。あなたがデータ構造を教えようとしているなら、おそらく20の質問のゲームや単純なソートプログラムのようなものでしょう。あなたが再帰を教えようとしているならば、おそらく幅広い最初の検索プログラムです。データベースの操作を教えようとしている場合は、オーダートラッキングシステムのようなものが適切です。

1

あなたの会社の新しい人員を訓練している場合は、それらを実働プロジェクトのインターンリソースとして添付することは非常にお役に立ちます。

これは、主な開発者の作業負荷を少し増やします(彼らは、インターンが行うすべての作業をレビューする必要があるためです)が、人の訓練と開発の点ではかなり時間がかかります。

2

いくつかの良いやりがいのプロジェクトは、あなたが学び、その複雑さの点で、非常にスケーラブルであることができるかという点で、機能は次のとおりです。

  • ゲーム
  • 旅行や輸送の予約/予約システム
  • 百科事典や用語辞典、記事
  • 変換電卓(通貨、単位など)

プロジェクトのタイトルを見ると、その機能の一部がすぐにわかるように、プロジェクトは簡単に選択することが重要です。実際に思考が与えられると、それに追加できる機能がさらに明らかになります。

このプロジェクトでは、その機能が初心者の手の届かないところにあるように思えます。

1

もっと複雑なバージョンを開発するための大きな範囲を与えることができるので、ゲームやパズルは始めるのに適していると思います。たとえば、tic-tac-toeプログラムは、最初に2人のプレイヤーがゲームをプレイできるようにする簡単なコマンドラインプログラムとして構築することができます。

この手順は、単純なデータ構造または配列がゲームボードを表現する方法、ユーザーコマンド/移動を取得するための簡単な入力方法、ゲームボードとプロンプトなどを表示する簡単な出力方法を示すために使用できます。アルゴリズムを使用してプレーヤー対コンピュータモードを可能にすることができる。私はtic-tac-toeの単純な魔方陣の数学アルゴリズムが好きで、非常にの簡単な数学に基づいています。この後、空が限界であり、UIが向上し、ファイルI/Oを使用してゲームを読み込んで保存します。コンピュータをよりうまくプレイさせる高度なアルゴリズム。テキストモードやシンプルなグラフィックを使用して、より複雑で満足なゲームを作り出すことができます。

私は、長年にわたり多くのテクニックを示す手段として、Sokobanゲームを使用しました。

私が使用した最も単純なゲームは、番号リストの逆転ゲームです。これには、1-9の数字が混在しています。プレイヤーは、リストの左側で反転する桁数を指定することができます。目的はソートされたリストを取得することです。これは絶対初心者には最適です。ゲームの各部分は、別々に作成してテストすることができます。

0

テキストアドベンチャーのコード例を見てみましょう。

  • それはあなたがそれが楽しいですし、あなたがプレイするために他の人にそれを与えることができ、いくつかの有用なことを行う必要があり、在庫、マップや部屋の状態を保持し、入力
  • を解析しますコンソールアプリケーション
  • です! :D
関連する問題