Javaを使用したプログラミングコースの紹介を定期的に教えています。生徒たちに興味を持たせたり、面白く見つけたりできる刺激的な課題を与えたいです。少なくとも、理にかなっていて、内部にまとまりのある割り当てが必要です(たとえば、一部の非常に悪いプログラミング演習は、最新のプログラミング構成を使用する必要があるために不自然に思えます)。
あなたのスコープのアイデアを与えるために、ここで覆われているものです。
- 割り当てはJavaで行う必要があり、外部ライブラリを使用して実行できますが、完全なフレームワークではなく、単純なAPIである必要があります
- 変数、プリミティブ、および文字列
- コンソール入出力
if
、for
、while
- 算術演算子と論理演算子
- 線と形状の描画を備えたシンプルなグラフィック
- 静的メソッド
- 一次元配列
生徒は高度なトピックに進みません(たとえば、再帰なし、継承に重点を置きません)。したがって、私は複雑なプロジェクトを探しているわけではありません。「それらにCコンパイラを作成してもらいます。5歳のときにやったので、それが唯一の学習方法でした!」
スコープよりも高度なアイデアがある場合は、これではなく、以下にリンクされている「挑戦的な」質問に投稿してください。
代わりに、私が探しているのは、短いプログラムで達成できる興味深いアイデアです。例えば:
学生は「スターウォーズ名」ジェネレーターのコンソール版を書くことができます。これは文字列を効果的に読み取り、を使用
substring
していますが、楽しいと思います。同様のバリエーションは、「Mad Libs」プログラムです。私はこれを5年前に使用しましたが、おそらくすでに「古い」ものです。提供されたいくつかのトリガーを使用して、生徒は通常のポリゴンを描画し、興味深いスパイラル形状を作成できます。
また、ほとんどのコードが提供されている単純なアニメーションクラスを使用することも問題ではありません。また、単純なAPIでアクセスできるTwitterまたはFacebookサービスを知っているなら、知りたいと思います。
この質問は、「初心者向けの挑戦的なJavaの質問」の質問とは異なることに注意してください。私はそれ自体がやりがいのあるものを探しているのではなく、ただ面白いものです。学生が「なぜそれをプログラムしたいのか」と簡単に答えることができる何かに取り組むと思います。その後、彼らはより良く学びます。
1ガロンあたりのマイル数を計算するような単純な問題でも良い場合があります。ただし、関連性を高めるために更新する方法があれば、それでもなお良いでしょう。他の場所(本またはWebサイト)からのエクササイズがある場合は、ソースを引用してください。
今日の典型的な新入生について考えるのを助けるために、Beloit Mindsetリストをチェックしてください。