プログラミングが必須科目
昔々、自分が米国の大学に留学していた時の話。
うちの大学では文系・理系(米国にはそういう概念はないのだけれど)を問わず、生徒は誰でもプログラミングの授業をとらなければいけませんでした。1980年代初頭にプログラミングが必須科目というのは、さすがIBMの国、米国だと感心しました。
米国人は得意科目と不得意科目が極端
ご存知かもしれませんが、米国人は得意科目と不得意科目がはっきりしていて、数学が苦手な人は大学生でありながら2桁の掛け算が怪しいような人もおります。
よくこんなレベルで高校を卒業出来たなと呆れるぐらいですが、他の特定の科目では大学教授並の知識がある学生もいるので侮れません。こういうところは日本のような画一的な学習ではなく、個人個人にあわせたカリキュラムというものがあるのだなと感心したりします。
プログラミングの授業にて
そんな感じの米国人がプログラミングの授業をとるわけですから、もうカオス状態です。出来る生徒はすらすら出来ますが、出来ないやつは外国語をやっている以上に意味不明と感じるようです。
プログラミングの初級コースですから決して難しいことはしません。言語はベーシックで、基本的に実習形式です。全部で26回の授業で、数回に一度簡単なプログラミングの課題が出されて、それを提出するというような形でした。
自分は幸い、高校の時にベーシックをかじったことがあったので、決して難しい授業ではありませんでした。しかしプログラミングを全く理解できない生徒もたくさんいました。
そのため、クラスは少数の”出来る組”と大多数の”出来ない組”にわかれていました。
”出来ない組”の生徒は”出来る組”にくっついて、いろいろと教えてもらいながらプログラミングを書いていました。
最後の課題
そして、そんなこんなで学期末。最後の授業で大きなプログラミングの課題を出されました。その課題はそれまでの授業で習ったことをすべてが網羅されているような、割と複雑な課題でした。
自分は提出期限の前日には作業が完了しており、その日はコンピュータ室で実際にプログラムが正常に動作するのを確認していました。
自分がその作業していると、自分の端末の隣に、同じクラスの一人の生徒が後から来て、動作の確認をはじめました。
彼は”出来ない組”筆頭だったので、彼が提出期限前にプログラムを完成したことに驚きました。彼いわく、”出来る組”の一人に教えてもらったから何とか出来たという話でした。
不要なコード
彼の言葉がちょっと信じられず、彼のプログラムを見せてもらうことにしました。それをつらつらと読んでいると、どう見ても不要なコードが入っているのです。
彼に「このコードいらないよね?」と尋ねたところ、「教えてくれたやつがこう書いていたから、自分も同じく書いただけで意味なんてわからない。」ということでした。「これ不自然だから消したほうがいいと思うよ。」と自分が提案するも、「動かなくなると困るので消さない。」と彼は答えました。
あとから彼の友人達が入ってきて同様にプログラミングの確認をしているのですが、彼らも全く同じ不要なコードが入っているのです。自分の周りにいた”出来ない組”の人達のプログラムを見せてもらうと、全員この不要なコードが入っている!
これどう見ても全員がコピーしてる(苦笑)。
プログラミングの授業でコピーはご法度で、先生も口を酸っぱくして言っていたのに。この余計なコードを消しておかないとコピーばればれだと思うけどなーと自分が言うも、でも誰も消したくないと言う(苦笑)。
どうも、”出来ない組”の一人が”出来る組”のプログラミングを丸写ししたようで、余計なコードがあるとは知らず、”出来ない組”全員にプログラムをコピーさせてあげていたようなのです。
案の定、この不要なコードを入れて提出した生徒全員はコピーしたのがばれて、後日別の課題を提出させられておりました。