小ネタ:「言語」を使いこなすために

私事で恐縮ですが、海外への留学経験があるので英語についてはある程度使いこなすことができます。そんな話を他人にすると「ペラペラなんでしょ?じゃしゃべってみてよ」とよく言われるのですが、実はこの10年強英語を話すという行為を行ってきておらず、喋るのはちょっと難しいな、と感じています。もっとも、日本語話者に英語で何か語ったところで意味も分からないでしょうしインチキ英語でも(ハナモゲラ語でもいいんですが)適当に喋ればいいんだろうな、と思うのですが。

言語は「使わない」と忘れていきますし、実はプログラム言語も同様で、使わないと忘れてしまいます。しかもプログラム言語は進化するため、新しい用語が増えていたり、死語があったり(廃止される過程にある関数などはまさに消えかけた死語の様相です)、常にキャッチアップのために「使う」必要があります。

という話を実はつい最近も別の機会ですることがありました。

初学者に対するプログラム言語の講義

ぶっちゃけて言えばそういう仕事をここ最近受注していたのですが、その中で感じたことが、「使うこと」による学習が果たして講義受講者にできていたのだろうか、という点でした。

少し観点を変えますが、学習という行為の中で、どう記憶を定着させるのかという方法として、一つには「睡眠による記憶の定着」という方法が知られています。昔から一夜漬け勉強というのは日本に限らず世界のどこでも行われていたとは思うのですが、やはり世界共通で一夜漬け勉強で学習の定着がなされたという報告は上がっておらず、テスト対策という点では有効であったとしても、全体的に学習には一夜漬けは向かず、睡眠をとることで学習の効果が高まっていく、という研究報告が上がっているわけです。

もう一つ、学習した内容が定着する方法として、「反復(繰り返し)学習」が有効であるという調査もあります。(あくまでも私見ですが)具体的に言えば、公文式はまさに反復学習で、「学ぶ→実践する→間違いを直す→再度実践してすべて正答する」というイテレーションパターンを繰り返しているわけです。学んだ結果をひたすら問題を解くことで定着させているとも言えます。業務契約上細かいことは書けないのですが、今回従事した講義プランでは、座学によるプログラミングの学習の合間にいわゆる練習問題のようなものを挟んで、「座学→演習→座学→演習...」というイテレーションは行っていました。なのですが、理解度が低ければ低いほど演習の時点で躓いてしまうわけです。そして演習によってわからないところが明確化されるまではよいのですが、その後座学に戻ってしまう、ということになってしまうわけです。

集合座学研修の限界:すべての生徒を拾えない

今回はコロナ禍の影響もあって座学研修を急遽オンラインで行うことになったのですが、オンラインであろうがオフライン(オンサイト)であろうが集合型の座学研修においてすべての生徒の理解度が異なる以上は講義型の授業ではすべての生徒の理解度を一定に保つことは無理なわけです。学校での教育はまさにそれで、小中学校などの低学年度になるにしたがってそれは顕著です。高校や大学は「受験」という篩があるのでそこで授業を受けている生徒のレベルはある一定水準を保つことが可能になるわけです。

オンラインの場合は集合座学研修のライブ配信よりはオンデマンドスタイルで分からないところを繰り返し見聞きすることができるような方法の方が講義としては向いているのかもしれないな、とは実際に研修の手伝いをしている中で感じたことの一つですが、だからと言って、聞くだけで覚えられるのか、と言えばそれもまた違うわけです。

インプット→アウトプット:食べたら出す

ちょっと汚い話になってしまい恐縮ですが、食べ物のことで考えれば、人間は食物の摂取をすることで栄養を吸収するわけですが、すべてがすべて吸収されるわけではなく、排せつという行為も同時に行っています。食物自体に栄養として吸収されないモノ*1を排せつしないままで過ごすことはできませんし、栄養の吸収にも影響が出てくるはずです。

知識に関しても同様なのではないか、と私は実は考えていて、学んだこと(入力)を何らかの形で出力することで知識が定着できるのではないか、と思っていました。おそらくそれは子供のころに体験した公文式の方法論が根底にあるのかもしれませんし、私自身の学習スタイルが「書いて覚える」であり、英会話にしても「しゃべって覚える」ことが信条であったからなのかもしれませんが。

結論

結局は「使うこと」なんだと思うんですが、実際に私も研修の仕事を終えてコーディング仕事を再開してみると、研修でいろいろな形で入ってきた情報(=インプット)が栄養のごとく指に入ってくる感覚を覚えます。かなり大げさな物言いだとは思いますが、『あ、これがこうなってるんだよね』と意識をしながらプログラムを書いているように思えます。研修で使った言語ではなく、単元としてももっとプリミティブなところだったりはしますが、指がなにがしかの反応をしているのが面白いです。

*1:食物繊維であったり余剰な水分であったり。