ペア プログラミングを使用すると、学生は同じコンピュータまたはタブレットで横に並んでコーディング プロジェクトに取り組むことができます。 この考えは、頭は 1 つよりも 2 つある方が優れているというもので、ペアになって共同作業することで、学生はコンピュータ サイエンスの概念をより深く概念的に理解し、コーディングの楽しみが増し、自分のパフォーマンスについてより肯定的な見方ができるようになります。1 ペア プログラミングは、すべての VEX プラットフォームのコーディング アクティビティで使用できます。
ペアプログラミングとは何ですか?
ペア プログラミングは、生徒が個別ではなくペアでコーディングする共同学習方法です。 ペア プログラミングでは、学生は同じコンピューターまたはタブレットで共同作業してコーディング タスクを完了します。 2 人の学生が一緒にコーディング プロジェクトを構築し、協力してプロジェクトを改善し、問題を解決します。
生徒のペアは、「運転手」と「ナビゲーター」2 の 2 つの役割を交互に行い、頻繁に役割を切り替える必要があります。 「ドライバー」はキーボード、マウス、またはタッチスクリーンを使用して、コンピューターの主な動作を制御します。 「ナビゲーター」は、質問に答え、コードの潜在的な問題を指摘し、改善の機会を特定することでドライバーを支援します。
- 「ドライバー」は、プロジェクトの次の内容、言語構文、制御構造などの当面の詳細に集中します。
- 「ナビゲーター」は、書かれているコードをチェックしたり、プロジェクトがアクティビティの目標にどのように結びつくかを考えるなど、全体像について考えます。
これらの役割は定期的に切り替わり、学生がそれぞれの役割の恩恵を受けられるようになり、両方のプログラマーがプロジェクトのあらゆる側面に対する責任を共有します。
ペアプログラミングを実装するための戦略
ペアプログラミングは、学習環境や生徒の年齢、使用している VEX プラットフォームによって異なる場合があります。 ただし、戦略的にペアを割り当て、明確な目標と期待を持つことで、すべての学生が成功に向けて準備を整え、あらゆる VEX プラットフォームにわたるコーディング タスクやプロジェクトに集中できるようになります。 次の提案は、ペア プログラミングを開始して実行するのに役立つように設計されています。
- 同様の経験を持つペア パートナーを割り当てる - 他の形式のコラボレーションと比較したペア プログラミングの有効性に関する研究で、M. ルイスは、経験の浅い学生が、経験の浅い学生とペアを組んだ場合、課題に積極 に参加しない可能性があることを発見しました。はるかに多くの経験を積めます。 彼らは、より経験豊富なパートナーのコードを受動的に監視する可能性が高く、パートナーが理解できないことをしたときに質問する可能性が低くなります。 ただし、経験の浅い学生が自分の経験レベルに近い学生と協力すると、プロジェクトの評価でより成功します。 同様のコーディング経験を持つパートナーを割り当て、パートナーを頻繁に切り替えて、すべての学生が積極的に参加できるシナリオを提供します。 たとえば、VEXcode VR を初めて使用する 2 人の学生をパートナーにすることは、すでにいくつかの VR アクティビティや課題を完了した別の学生とパートナーを組むよりも良い経験になる可能性があります。
- 生徒と一緒に役割を定義する - 生徒がプロジェクトに積極的に参加し、パートナーシップ内の衝突を防ぐことができるように、各役割の責任を明確に理解していることを確認します。 ペア プログラミング セッションを開始する前に、責任を掲示して生徒と一緒に確認してください。
-
- たとえば、学生が VEXcode VR アクティビティに取り組んでいる場合、ドライバーは VEXcode VR でプロジェクトを構築し、何をしているかを説明し、ナビゲーターの提案に耳を傾ける必要があります。一方、ナビゲーターはトラブルシューティングを行い、プロジェクトが目標を達成しているかどうかを確認します。 VR アクティビティに記載されているとおりに、提案を共有します。
-
役割を頻繁に切り替える - 生徒がそれぞれの役割の利点を享受できるように、また、両方のパートナーがタスクに積極的に関与できるようにするために、ペア プログラミングでは役割を頻繁に切り替えることが不可欠です。 学生が運転していないときは注意力が散漫になる可能性があるため、目標は、ドライバーとナビゲーターの両方が作業を継続できるような時間間隔を確立することです。 役割を切り替える頻度は、生徒の集中力の持続時間によって異なります。 最初は 5 分の間隔から始めて、生徒の成績に応じて間隔を短くしたり長くしたりしてください。
-
役割切り替えルーチンを確立し、実践する - 他の教室ルーチンと同様に、生徒がいつどのように役割を切り替えるかを定義し、実践する必要があります。 このルーチンを明確に定義すると、スムーズな移行が保証され、学生はコーディングに集中できるようになります。 たとえば、設定された間隔でタイマーを設定し、役割を切り替えるための視覚的な合図を用意します。 タイマーが鳴ると、ペアのパートナーは席を移動し、必要に応じて視覚的な合図を参照できます。 生徒がペア プログラミングと役割切り替えの経験と自信を深めたら、厳格な時間間隔を元に戻し、自分のペースで役割を切り替えられるようにします。
- 積極的なコミュニケーションとコラボレーションを奨励する - ペア プログラミングで促進されるディスカッションの種類を生徒に明確に理解してもらいます。 明確な境界を確立する 1 つの方法は、ペア プログラミングの規範を確立することです。 生徒と協力して規範を作成し、生徒の賛同を高め、教室に掲示して定期的に参照します。 以下は、教室でペア プログラミングの基本ルールを伝える方法の一例です。
- 生徒向けの問題解決戦略を確立する - 慣れ親しんだ問題解決プロセスを作成することで、生徒が問題を特定して自主的に前進できるようになり、それによって混乱やフラストレーションが最小限に抑えられ、回復力が促進されます。 学生がプロジェクトのトラブルシューティングを行い、独自の解決策を見つけられるように、次の問題解決サイクルを使用してみてください。 問題解決や課題に対する回復力を高める方法の詳細については、この記事を参照してください。 この記事は STEM ラボに焦点を当てていますが、特定された戦略はさまざまな状況でペア プログラミングに簡単に適用できます。
- ペアでトラブルシューティングを行う - 問題解決やトラブルシューティングを行う際に、教師に関与させる前に、生徒がまずパートナーに質問する手順を確立します。 若い生徒の場合は、「私の前に 3 つ試してください」のような呼び名を付けると便利です。生徒は講師に助けを求める前に、考えられる解決策を 3 つ試す必要があります。
ペア プログラミングを実践すると、学生が協力し、互いの専門知識を強化し、一緒に楽しく学ぶ機会が生まれます。 コンピューター サイエンスのクラスで、コーディング タスクに取り組む最善の方法について「ドライバー」と「ナビゲーター」の間で活発な議論が交わされているところを想像してみてください。 ペア プログラミングは、学生が協力して問題を解決し、自分たちのプロジェクトに責任を持つことを奨励します。 足場を組んで定期的に練習すると、ペア プログラミングは学生と教育者の両方に楽しい経験を提供できます。