見出し画像

プログラミングもレール指導

 教員を退職して12年が経過した72歳の老人です。現役と再任用で62歳まで荒れた中学で不良を追い出し、校内に秩序を打ち立てることに心血を注いだ。しかし、最近は秩序を保つための方法として不良との対決姿勢を貫いたことが間違っていた様な気がしている。ただし、あの時の方法としては追い出す以外の方法は、未だに見つからない。
 不思議なことに、私が退職した頃から不良は見かけなくなった。その代わりに、不登校生徒が増え、それに加えて授業に集中できない生徒が荒れていた当時の不良の割合を上回るほど増えている現状を見ていると、学校が生徒の能力を伸ばす機関としてうまく機能しているとは思えない。荒れていた当時と同様に良い方法は思いつかないけれども、50年以上、学校を眺めてきた者からすると、小中学校と高校の指導方針の大元が変わらない限りは学校は児童生徒の成長には役に立たない気がしている。そこからいろいろ考えてみた。自信はないけれども、学校が目指すべき姿に関して自分なりの考えを作文にすることを思い立った。

 現役時代は中学校技術科で「プログラミング」を教えてきた。再任用を辞めても67歳まで非常勤で働いた。それから教員を辞めてICT支援員をしている。ICT支援員を続けながらも「プログラミング」の指導だけは続けたくて週3時間だけ特別支援学級の中学技術で細々と教えていたが、それも体力的に厳しくなって昨年3月で辞めました。
 私がプログラミングにこだわるのは、プログラム作りを続けたおかげで人並みの知性・思考力を身につけることができたと思うからです。私のプログラミング学習と同様に児童生徒に学習させればいい。しかし、私の経験したプログラムを作る活動と学校で行われているプログラミング学習は別物だと思えて仕方がない。まず、その違いを論じたい。

 いまだにICT支援員として小中学校から離れられずに生活している私に、最近、小学校での「プログラミング」授業を支援員として手伝う機会ができた。

 市から委託された◯◯氏が行う「プログラミング」授業では、小学校低学年でviscuitを使い、中学年ではscratchを使い、高学年ではmBlockを使って指導している。授業はどの学年も整然と楽しく行われている。学級担任が◯◯氏を補助して2人体制でプログラミング指導を行っている。その授業に私は時々3人目の指導者として参加させてもらっている。
 小学校のプログラミング指導は担任だけでは行えないと感じていた。教育用言語とはいえ、プログラミングを指導するためには数時間の講習会ではマスターできるものではない。プログラムの作り方だけなら講習会でマスターできる。しかし、少なくとも自作ゲームが作成できるところまで教師のスキルが到達しなくては、適切なサンプル・プログラムを考えることも、児童の質問に答えることもできない。できるために教師は休日に5時間から10時間以上は集中して自己研修に取り組む必要がある。そんな時間的余裕が教師にあるとは思えないし、時間があってもプログラミングに興味がもてない先生もいる。それに加えて、実際の授業では予想もしないトラブル、例えばWi-Fiやタブレットのトラブルが起きることを考えると、ある程度の指導経験を積まなければ指導効果を上げることは難しい。
 ◯◯氏は充分なプログラミング能力を有しているし、彼の示すサンプル・プログラムは優れている。彼の授業を見て学級担任も勉強になる。プログラミング指導に特化した指導員◯◯氏が市内全小学校を巡回して指導するシステムは効果的だと思われる。

 小学1年生で◯◯氏が指導する様子を紹介する。
 まず、◯◯氏がviscuitの起動方法を説明する。担任も一緒に説明を聞いているので起動できない児童の支援ができる。しかし、児童の中に1名、タブレットのデスクトップにviscuitのアイコンの無い児童がいた。この種のトラブルの対応は担任では難しいことが多い。今回はICT支援員である私がアプリの再インストールを行ったのでアイコンが現れて、その児童は授業に復帰できた。
 ◯◯氏が電子黒板を使ってパックマンのように口を動かしながら移動するアニメーションを作ることを知らせ、サンプル・プログラムを見せると、児童は大喜びする。その後でキャラクターの作り方を説明して、児童が作り始める。ただ説明だけではペンの太さや色の変え方が理解できない児童は多く、指導者3名で個別指導を行う。しばらくして、担任が私に支援を求めた。それはキャラクターを完成させた後で、再び修正したいのだけれど、キャラクター作成画面に戻る方法がわからないというものであった。この対処法を担任は理解していないので、私が教えた。解決方法は完成したキャラクターを長押しするだけであり、これは一斉指導の中で触れておくべきだと◯◯氏に伝えたので、次回の授業からは説明に追加するはずである。このキャラクター修正方法を担任が知らないのに我々2人が出来るのは、我々がviscuitを使った自作プログラムを幾つも作った経験があり、その過程でキャラクターの修正方法を見つけて知っていたからである。我々とて簡単に見つけた訳ではない。プログラムを幾つか作る過程で偶然見つけたり、検索機能を使って調べた経験があったからである。また、前述したアイコンがデスクトップにない児童への対応がうまくいったのは、ICT支援員としてその様なトラブルを解決した経験から対処できた訳であり、もし講習会を受けただけの担任だったら対応は難しかったと思われる。担任は諸々の経験を◯◯氏のプログラミング指導を通じて獲得していけばいい。とにかく、◯◯氏のプログラミング能力と経験と支援者が2名いたこともあり、授業はスムーズに進んだ。
 ◯◯氏はキャラクターが完成する頃を見計らってサンプル・プログラム「パックマン」の作り方を説明した。児童はプログラムを作り始め、しばらくすると幾つか歓声が上がるけれども、タブレットを睨み続け、途方にくれる児童もいる。困った顔をしている児童の横に行き、間違いを修正してやる。2人分のプログラムを修正したところで授業終了のチャイムが鳴った。担任の「日直さん」の指示に、日直が立ち上がり、
「起立」
「1時間目の授業を終わります。」
「ありがとうございました。」
日直に続いて全員が「ありがとうございました。」と唱和する。すると、すかさず担任が言う。
「放課中はタブレットを閉じて、使いません。」
担任の命令に従ってタブレットを閉じる。どうやら放課にタブレットを触ってはいけない決まりになっているらしい。また、持ち帰りも許されていない。
 放課が終わり、やがて、授業開始のチャイムが鳴り、「起立」と「お願いします」のセレモニーが終わって、アニメーション制作が再開される。指導者3名はキャラクターが思い通りに動かない児童の横に座って間違い(バグ)を修正する。完成した者には2つ目のアニメーションを作らせる。全員が完成したところで発表会を行う。希望者を指名し、書画カメラにタブレット画面を写して電子黒板に反映する。
 viscuitでもscratchでもアニメーションの段階で躓(つまづ)く児童は少ないけれども「繰り返し」や「分岐」の命令が加わると指導が大変になる。
 2週間後、同じクラスのプログラミング授業に参加させてもらった。次に示す「1から7」が◯◯氏の用意したサンプル・プログラムである。
1 卵が同じ場所でグラグラ揺れる。
2 指で卵に触れるとヒヨコに変わる。
3 ヒヨコが動く。
4 ヒヨコを触るとニワトリに変わる。
5 ニワトリが動く
6 ニワトリを触ると卵になる
7 1にもどる
サンプル・プログラムを見せて、児童に「卵とニワトリ」と同じストーリーを考えさせるために紙を配って、絵コンテを書かせた。絵コンテが描けたところで全員やめさせて、viscuitの起動方法を説明して、起動させる。次に、前に行ったキャラクターの作り方を説明して、キャラクターを作らせる。その後で「グラグラ揺らす方法」と「卵を触るとキャラクターが変身する」プログラミング方法を解説して、プログラムを作らせる。この段階から指導者3名はにわかに忙しくなる。プログラムがうまく動かず、どうしていいか分からない児童が続出するからである。
 自力で計画通りに完成できるのは5分の1程度で、大方はトラブルに見舞われる。

  • 卵を触ってもヒヨコに変わらない。

  • キャラクタが動かない。

  • 思う方向に動かない。

  • キャラクタが現れない。

  • キャラクタが途中で消える。

教師側の支援は間違い(バグ)を見つけて直してやることである。時々、どこにバグがあるか分からない場合がある。こんな場合は児童の作ったプログラムを全て消して、児童にストーリーを聞きながら最初から作り直してやる。ところが、直すことのできない時がある。小学1年生の描いた紙コンテを見てもストーリーは分からないし、質問しても説明がうまくできない時である。おそらく、サンプル・プログラムのストーリーと児童の考えたストーリーがかけ離れているらしい。このような場合は、ストーリーを細切れに切って、質問しながら、サンプルのようにプログラムを再構築してやる。
「卵のように揺れるキャラはどれですか?」

  • 「A=たまご」と「B=たまご」だよね?

  • 「A」を左のレンズに入れて、「B」を右のレンズに入れる。

  • 次に2つ目のメガネを用意する。

  • 「B」を左のレンズに入れて、「A」を右のレンズに入れる。

  • これで「A」と「B」が交互に表示されて、卵が揺れているように見えるね。

  • 次に、3つめのメガネを用意する。

  • 左側のレンズに「A」を入れて、右側のレンズに「C」を入れる。続いて、左側のレンズにある「A」の上に「指マーク」を置く。この「指マーク」は、もし「A」を触ったら「C」に変わるという命令だよ。


viscuit画面
  • 4つめのメガネを用意する。

  • 左側のレンズに「B」を入れて、右側のレンズに「C」を入れる。続いて、左側のレンズにある「B」の上に「指」を置く。この指は、もし「B」を触ったら「C」に変わるという命令だよ。

  • これで(たまご=AとB)が(ヒヨコ=C)に変わる

  • 今度は、(ヒヨコ=C)を動かすわけだから、5つ目のメガネを用意して左側のレンズに(ヒヨコ=C)を置く。右側のレンズにも同じ(ヒヨコ=C)を置く。この時、真ん中に置かずに少しだけ左側に寄せる。そうすると(ヒヨコ=C)は左側に動いていくよ。

こんな感じで◯◯氏が全体に指導した説明を再度、個別に行う。修正してやれば、生徒は自分で作ったような気になって喜ぶ。最初から作り直してやっても喜んでくれる。発表会も盛り上がる。最後にアンケートに答えさせて反省も書かせて授業は成功裡に終わる。1年生の授業は年間で4時間だから今度viscuitを触るのは1年後になる。2年生では「ぶつかったら」の条件分岐や音を入れるサンプル・プログラムを作成すると思われる。
 ◯◯市では3年生と4年生もviscuitがscratchに変わり、センサーが出てくるだけで指導手順・指導方法は変わらない。5・6年のmBlockもキャラクターが車やロボットに変わるだけである。サンプル・プログラムを使う指導は謂わば「レールの上を走らせる指導」に他ならない。レールの上を走らせる指導は実にスムーズに楽しく授業が展開される。しかし、私が授業をすると騒がしく収拾がつかなくなる。私もサンプル・プログラムは示すが「その通りに作れ」とは言わない。サンプルは「こんなことができるよ」と示すだけで、決して進ませるべき方向にレールは敷かない。指導していない命令を自分で見つけて使ったり探して使ったりすることも自由にするし、誰かのプログラムを真似て作ることも許可する。この指導法だと行き詰まった子供のプログラムの設計図は児童生徒の頭の中にあるから教師が見ても簡単には理解できないし、直してやれない。
「ここが間違っていると思う。どうやって直すかは自分で考える。」
「全部壊して、最初から作り直したら、どうだ。」
こんな不親切なアドバイスに徹する。放課に作りたければ作ればいい。家で作ってもいい。
 私は自分が経験したプログラミング学習を生徒にも期待している。私のプログラミング学習はできる人に質問はしたけれども、進んで教えてくれる指導者や間違いを修正してくれる人はいなかった。無闇矢鱈と思いついた方法を試しながら、自分で解決方法を探して見つけた。失敗を重ねるうちに法則のようなものが理解できるようになる。いつも目標は自分で決めて、それを達成するための方法を探した。やがて、無闇に思いつきを実行する前に考える様になった。経験のおかげで考える事の重要性を理解したのである。だから、児童生徒にも目標を持たせたい。サンプルを示してその通り作るうちに、児童生徒は自分だけのストーリーを思いつく。たとえば、
「飛び上がらせたい」
「2つのキャラで競争させたい」
サンプル・プログラムは目標が思いつかない児童生徒のためにあるもので、自分の考えた目標ができると「目標を達成するための方法」が知りたくなる。この問題を解決する過程で試行錯誤が生まれ、やがて思考力が身に付く。レールの上だけを走らせ疑問が生まれないように指導はしたくなかった。私の方法で指導すると、授業はいつも騒がしくなり、作品が完成できない生徒ばかりで、指導者としての満足は得られない。授業の評判も良くない。
「(タブレットのない時代)授業後、コンピュータ室で続きを作ってもいい。」
「放課にタブレットを使って、作って来なさい。」
「(持ち帰ることができたり、家のパソコンが使える人は)夏休みを使って、作ってきなさい。」
時々、居残りを志願したり、夏休み明けに自作のプログラムを見せてくれる生徒が稀にいた。また、教員人生最後の6名の情緒障害児を集めた特別支援学級では私の望む方法で指導して、私がプログラミングを会得したのと同じ方法で考える力を身につけたと思われる生徒も現れて幸せな教員人生を終えることができた。
 プログラミングに精通している◯◯氏は私の考えに賛同してくれるかもしれないと思いつつ、委託されている授業が騒がしく、プログラムを完成させることのできた児童が皆無であれば、責任を問われかねないと思って、仕方なくレールの上を走らせているかもしれないとも考える。だから、私の考えは伝えず、レールの上を走らせる指導の手助けに徹している。また、私の指導法では授業が騒がしくなるし目に見える成果は得られないから、強く主張する自信がない。
 私自身の学生時代を振り返る。高校卒業までの授業は、覚えることや与えられた問題を解くだけで、「キャラクターを飛び上がらせたい」「競争させたい」など自分で目標や問題を作り出したことがない。また、当然、その解決方法を試行錯誤して解決した経験もない。いつでも、決められたレールの上を走らされた。
「それで良いのかもしれない。」
とも思う。プログラミングなど学校で経験しなくても、学校以外で自由な時間があり、その時間を利用してプログラミングに興味を抱く児童生徒が現れている。実際、私自身が学校でプログラミングを教えられた訳ではない。技術科の教員であることがプログラムを学習する圧力になった。それと同様に学校で行われるレールの上を走らされる指導も同じ圧力と考えることができる。
 GIGAスクール構想はプログラマーの資質を身につけさせるのが目的だと想像するのだが、日本の学校でそれを行えば、レールの上を走らせる指導になってしまう。学校でサンプル・プログラムを作って興味を持ち、自由な時間に興味を起こし目標を作って独学すれば、学校での「レール指導」でも意味はあるとも言える。
 それにしても、日本の学校は画一的な指導から抜け出せない。プログラミング指導でさえ画一的な指導になってしまう。
(続く)

この記事が気に入ったらサポートをしてみませんか?