コンセプト演習


演習(コンセプト演習)は、ある言語で開発するために必要な主要なスキルを学習者に教えることを目的としています。その言語でよくある操作のやり方(たとえば文字列の操作方法)と、その言語に特有の事柄のやり方(たとえばモナド、オブジェクト指向、高階関数)の両方を扱います。

コンセプト演習には、次のような特徴があります。

  • それぞれに明確な学習目標があります。
  • 特定の言語に固有のものであり、汎用的なものではありません。
  • 学習者が演習で不要なコードを覚えたり書いたりしなくて済むように、スタブやボイラープレートを用意します。

コンセプト

演習は、教えられ、学ばれたコンセプトに基づいて解放されます。 各コンセプト演習は、1つ以上のコンセプトを教える必要があります。 また、コンセプトに対する前提条件を持つこともあります。その場合、前提となるコンセプトを教えるコンセプト演習を完了するまで、その演習は解放されません。

難易度

トラックが進んでも、コンセプト演習そのものが本質的に難しくなるべきではありません。 言語Xの経験豊富なエンジニアなら、そのトラックのすべてのコンセプト演習を、1つあたり5〜10分以内で解き進められるはずです。 各演習は、誰かが初めてあるコンセプトを使えるようにすることに焦点を当てているうえ、経験豊富なエンジニアはそのコンセプトを言語Xですでに理解しているので、そのような人にとって演習は比較的簡単に感じられるはずです。 言語Xに不慣れなエンジニアにとっては、後半の演習のほうが難しく感じられるかもしれません。しかしそれは、その演習が教えるコンセプト自体がより複雑だからにすぎません(たとえば、ループをある言語から別の言語に置き換える場合と比べて、再帰のほうが初めて学ぶ題材としては複雑だと、ほとんどの人が認めるでしょう)。

フィードバック

コンセプト演習ではメンタリングを行いません。 学習者がコンセプト演習のテストに合格する解答を提出すると、フィードバックを行うためのAnalyzerやRepresenterがあるかどうかを確認します。 どちらも見つからない場合は、その解答は承認されます。 これにより、教える責任は演習側に移ります。演習は、教える対象のコンセプトを学ぶための明確な道筋を提供しなければなりません。