Skip to main content

教師用ツールボックスのアイコン 教師用ツールボックス - コード効率の紹介

学生は特定のタスクを達成するためにコード シーケンスを書く練習をしました。次は、そのスキルをコード シーケンスを読んで評価することに応用するように求められます。 このアクティビティでは、生徒には「遊び」セクションのものと同様のマップが与えられ、3 つのコード シーケンスを見て望ましい解決策を選択するように求められます。 各シーケンスについて、生徒は 3 つの質問に答えます。

  • このコードはタスクを達成できますか?

  • 機能する場合、このコードには他のコードと比べてどのような利点がありますか?

  • 他のコードと比べて、このコードの欠点は何ですか?

次に、すべてのシーケンスを見て、学生はコード効率の考え方を紹介され、効率と自分の好みに基づいて、好ましい解決策は何かと、その理由を説明するように尋ねられます。 これは、コーディングの効率と正確さについてクラス全体で議論するための出発点となる可能性があります。

コードシーケンスを読んで望ましいソリューションを選択する

クラスが「遊び」セクションに取り組んでいたとき、提示された同じ問題に対してさまざまな解決策があることにおそらく気づいたでしょう。 プログラミングの世界ではよくあることです。 何かを行うにはさまざまな方法がありますが、誰もが好む方法や解決策を持っており、それは多くの要因に基づいている可能性があります。 このアクティビティでは、グループは問題に対して考えられる 3 つのコード ブロック ソリューションを検討し、それらが意図した方法で機能するかどうかを判断し、グループから望ましいソリューションを選択し、それを選択した理由を説明します。

問題: ロボットが開始点から開始すると、3 つの教室すべてに (任意の順序で) 出入りし、終了点に戻るシーケンスを作成します。 ロボットは階段を迂回する必要があり、マップ画像上の小さな四角形でマークされた出入り口を通過できます。

  • 以下の各ソリューションについて、エンジニアリング ノートで次の 3 つの質問に答えてください。

    • このコードはタスクを達成できますか? なぜ、あるいはなぜそうではないのでしょうか?

    • 機能する場合、このコードには他のコードと比べてどのような利点がありますか?

    • 他のコードと比べて、このコードの欠点は何ですか?

  • ほとんどの場合、プログラミングは効率で評価され、可能な限り最も効率的な方法で目的を達成するソリューションが推奨されます。

下のソリューションをクリックすると、大きな画像が表示されます。

溶液 A (インチ)
溶液 A (インチ)

ソリューション B (インチ)
ソリューション B (インチ)
溶液 C (インチ)
溶液 C (インチ)
ソリューション A (メートル法)
ソリューション A (メートル法)
ソリューション A (メートル法)
ソリューション B (メートル法)
ソリューション C (メートル法)
ソリューション C (メートル法)

コード効率とは何ですか?

キッチンから 3 つのものを入手する必要がある場合、3 回に分けて旅行するのではなく、おそらく 1 回の旅行で 3 つすべてを取りに行くでしょう。 なぜ? そのほうが効率が良いからです。 効率的とは、「最小限の無駄な労力や費用で最大限の生産性を達成すること」を意味します。 では、それがプログラミングにどうつながるのでしょうか?

コードの効率性とは、その仕事を行いながら、最小限の作業量またはステップを適切に使用して、適切かつ迅速に動作するようにプログラムが作成されていることを意味します。 これは、プログラムが適切に機能せず、その周囲で実行されているプログラムの他の部分に問題を引き起こすリスクを軽減するため、重要です。 コードの効率は品質の尺度となり得ます。VEXcode IQ ブロックでプロジェクトを作成するとき、多くの場合、最も「効率的な」プロジェクトを優先ソリューションとして探します。

基本的に、コード効率とは、可能な限り少ないコマンドまたはブロックを使用して目的を達成するコードを作成することを意味する原則です。

エンジニアリング ノートブックで、次の質問に答えてください。

  • コードの効率性を考慮すると、どのソリューションが推奨されますか?またその理由は何ですか?

  • それが最善の解決策だと思いますか、なぜそうしないのですか?

教師用ツールボックスのアイコン 教師用ツールボックス ~ の答え

3 つの部屋を移動するシーケンスを作成するために上記で特定の寸法が指定されていないため、答えは異なる場合があります。
考えられる解決策の例については、ここ をクリックしてください 。

ディスカッションの動機付けアイコン ディスカッションの動機付け

効率は便利ですが、特定の方法で物事を行う方法や理由については、他のことを考慮することがよくあります。 学生に答えをエンジニアリング ノートブックで共有させたり、この質問を使用して効率とアクションのバランスについてのディスカッションを構成したりしてもらいます。
Q: プログラミングでは、通常、効率が好まれる方法論です。なぜそうなるのか考えられますか?
A: 答えはさまざまですが、次のようなものがあります。

  • プロジェクトをより効率的に編集することは、将来同じプロジェクトで作業する可能性のある人々に役立ちます。 たとえば、プロジェクトに取り組んでいて、数日後に友人にプロジェクトを更新して、機能を増やすためにいくつかの項目を追加するように依頼する場合、プロジェクトが適切であれば、友人は読みやすく、作業しやすくなります。効率的に書かれています。

  • プロジェクトには常にエラーが発生します。 プロジェクトがより効率的に作成されるほど、エラーが発生する可能性は低くなります。

  • プログラミングを使用して産業用ロボットを操作する個人は、会社の時間、エネルギー、リソースを節約するために、それらのプロジェクトが効率的であることに依存しています。