Sequencing and Paradigm-Transition Evidence in Object-Oriented Programming: A Systematic Review
16件の研究を対象としたこの系統的レビューは、「オブジェクト先行型」のシーケンシングは「オブジェクト後置型」のアプローチに対してわずかな優位性を示すものの、その証拠は視覚的ツールや小規模なサンプルによって混同されており、学習の成功にはシーケンシング単独よりも、手続き的知識からオブジェクト指向の概念へと明示的に橋渡しをすることがより重要な要因であることを示唆している。
原論文は CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
オブジェクト指向プログラミングは、20年以上にわたり大学のプログラミング教育における主要なパラダイムとなってきましたが、その最適な教え方については依然として激しい議論が続いています。この手法では、学生は、物理的な特性と振る舞いの両方を持つ現実世界の物体のように、データとそのデータを使用するための指示の両方を保持するデジタルな「オブジェクト」を作成することで、ソフトウェアの構築方法を学びます。この手法は、現代の世界を動かしている複雑なソフトウェアシステムを構築するための標準となっています。しかし、教育者たちは数十年にわたり、これが学習を始めるための最善の方法であるかどうかを議論してきました。ある人々は、より抽象的なオブジェクトという概念を導入する前に、まずはステップバイステップの定型的な手順、つまりコンピュータに何をすべきかを厳格な順序で正確に伝える基礎を学ぶべきだと主張します。一方で、最初のレッスンから直接オブジェクトに飛び込むべきだと信じる人々もいます。問題は単にトピックの順序についてだけではありません。それは、人間の精神がいかにしてコードの中で考える方法を学ぶかということです。オブジェクトという複雑な概念から始めることは初心者を混乱させるのでしょうか、それとも単純なステップから積み上げていくことが、後にオブジェクト指向の考え方に切り替えることを難しくするメンタルブロックを生み出してしまうのでしょうか。
ナイロビのデイスター大学の研究者は、これら2つの教授法を比較した利用可能なあらゆる科学的研究を集めることで、この長年の論争に決着をつけようと試みました。その目的は、個人の意見や教室での逸話を超えて、学生がどのように学ぶかについて実際のデータが何を示しているのかを見出すことでした。研究者は、アメリカ、ヨーロッパ、イスラエル、その他の地域の大学や高校の学生および教師、約200人を対象とした、1997年から2021年までに行われた16の明確な研究を精査しました。これらの研究は、オブジェクトを先に学んだか、あるいは後で学んだかにかかわらず、学生がテストでどの程度優れた成績を収めたか、どのくらいの期間コースに留まったか、そしてどのような特定の概念に苦戦したかを調査しました。
レビューの結果、概念を教える順序は、学生が成功するか失敗するかを決定付ける要因ではないようです。研究者が、オブジェクトを先に学んだ学生と、手続き型のステップを先に学んだ学生を直接比較した際、結果は驚くほど拮抗していました。これら2つの手法を直接比較した5つの研究のうち3つは、「オブジェクト・ファースト」のグループの方がわずかに成績が良かったことを示しましたが、残りの2つは達成度に差がないことを見出しました。極めて重要なことに、手続き型のステップを先に学ぶことがより良い結果につながると示した研究は一つもありませんでした。しかし、研究者は、「オブジェクト・ファースト」の優位性は必ずしもレッスンの順序のみによってもたらされるものではないことを発見しました。学生がオブジェクト・ファーストのアプローチでより優れた成績を収めたすべてのケースにおいて、その教育は、抽象的な概念をより容易に可視化する特別な視覚的ツールや環境によって支えられていました。例えば、一部の研究では、デジタルオブジェクトを画面上で操作できるソフトウェアを使用し、目に見えないコードを目に見える動的なパーツへと変えていました。全く同じツールとコンテンツを使用し、順序だけを変えて両方の手法を比較した研究では、学生はどちらのグループでも等しく習得していました。このことは、単にシラバスの中でオブジェクトのトピックを前倒しにすることが、成績を上げるための魔法のスイッチではなく、むしろ、教材がどのように提示されるか、そして学習者に提供される視覚的なサポートこそが成功の鍵であることを示唆しています。
また、レビューでは、すでに手続き型のコードを書く方法を知っている学生がオブジェクト指向プログラミングを学ぼうとする際に何が起こるかも調査されました。データによれば、彼らの既習知識は学習を妨げる障壁にはなりませんが、新しい教材の理解の仕方に影響を与えます。手続き型プログラミングの背景を持つ学生は、しばしば古い思考のショートカットを新しいシステムに適用しようとします。彼らは、コンピュータプログラムは常に単一の直線的な経路で実行されると想定したり、プログラムの異なる部分がどのように相互作用するかを誤解したりすることがあります。これらの古い習慣は、クラスの定義とそこから生成された実際のオブジェクトを混同したり、複数の選択肢が存在する場合にプログラムがどの指示を実行するかを理解するのに苦労したりといった、具体的で予測可能な間違いにつながります。研究によれば、これらの困難は、学生がオブジェクトを先に学んだか後で学んだかにかかわらず持続します。オブジェクト同士がどのように関連し、どのようにリンクし、どのように動的に振る舞うかという核心的な理解は、すべての人にとって依然として困難な課題なのです。
最終的に、証拠が示唆しているのは、プログラミングを教える最も効果的な方法は、どのトピックを最初にするかを議論することではなく、概念がいかに学生がすでに知っていることと結びついているかに焦点を当てることです。もし学生が手続き型プログラミングを学んでいるのであれば、教師は、学生が自力で気づくのを期待するのではなく、新しいオブジェクト指向のアイデアがそれらの古い習慣の上にどのように構築されているか、あるいはどのように異なるのかを明示的に示すべきです。この研究は、学生がC言語のような言語を学んでからより複雑な言語へと進む機関にとって、最善のアプローチは両者の間に明確な架け橋を築き、データと指示がどのように扱われるかの違いを明示的に教えることであると結論付けています。レッスンの順序よりも、説明の明快さと、コンピュータの目に見えない論理を学生にとって目に見えるものにするツールの活用の方が重要なのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。