高校情報 ビットと2進数
 
本時の目的
2進数を漠然とでいいので、理解してもらう。

 指導過程

教室に入る。生徒が起立、礼、着席を終えるのを待ってから話し始める。

「今回も前回に引き続きコンピュータの仕組みを勉強します。まずは前回の復習をしましょうか。前回はどんな事を勉強したか覚えていますか?」

生徒に挙手を促して、挙手する生徒がいなかったら適当に2、3人の生徒を指名して答えてもらう。

 

予想される生徒の反応

「ディジタル信号」、「アナログ信号」、等。

 

「そうでしたね。ではアナログ信号とはどんな信号でしたか?」

 

予想される生徒の反応

「数値の変化で表現する信号」、「情報を連続的に表現する信号」、「学校の時計」、等の教科書に書いてある内容を適当にアレンジ、またはそのまま棒読みしたような回答。

わからない人にはアナログ信号について書いてあるページを教えて黙読でいいので読むように促し、間をあけてから再度聞いてみる。それでも無理なら次の人を指名する。

 

「そうでしたね。数学なんかで扱うグラフはほとんどがこのアナログ信号にあたるんですよね。ではディジタル信号とはどんな信号でしたか?」

 

予想される生徒の反応

「電圧の高さで表現する信号」、「情報をとびとびの数値で表す信号」、「コンピュータが使う信号」、等の教科書に書いてある内容を適当にアレンジ、またはそのまま棒読みしたような回答。

わからない人にはディジタル信号について書いてあるページを教えて黙読でいいので読むように促し、間をあけてから再度聞いてみる。それでも無理なら次の人を指名する。

「はい、そうでしたね。コンピュータは、このディジタル信号の数値が高いか、低いか、で動いているんでしたね。では今日はこのディジタル信号に、高いか、低いかに0、と1、の数字を割り当てていきましょう。この0と1だけの数字を2進数、といいます。この中で2進数という言葉を聞いたことが有る人はいますか?」

 

生徒の反応
たぶんみんな知っている。私の経験上、小学校や中学校の算数や数学の授業で、軽く遊び半分程度でよく2進数は扱われる。しかし、それでも、もしかしたら知らない生徒が居るかも知れないので、授業ではそのような生徒を対象に授業を展開していく。

 

「ではまず普段みんなが使っている数字は何進数か知っていますか?」

 

生徒の反応

 「10進数。」高校生のクラスなら、おそらくみんな知っていると思うのだが・・・。

杉浦コメント:まだまだ甘い。かつてやったとしても忘れている、もしくは自信がなくて答えないというのが普通。

 

「そうです。10進数です。現に使っている数字は0,1,2,3,4,5,6,7,8,9の計10通りですね。しかしディジタル信号を使っているコンピュータは0と1までしか使えません。では皆さんはこの0と1の2つの数字で、一体どこまで数えることができると思いますか?」

 

生徒の反応

教師の理想は「0,1,終わり」または「わからない」だがおそらく多数の生徒が知っていると思う。そもそも10進数だって、数字は10個しかないのに、みんなの財布の中には100円玉なんて代物が入っているくらいですから。教師は模範解答のような回答が返ってこないことを願うのみである。

 

「では2進数と10進数を並べて数えてみましょう。」

 

板書

10進数

 

2進数

 

 

 

 

 

 

 

「さて10進数の2は2進数ではどう表現するのでしょう?」

 

生徒の反応

授業を進める過程で答えられると困るので「知っている人は手を挙げて」とか「わからない人は手を挙げて」など意思表示させる程度にとどめて発言は求めない。

 

「そうですか。ではこのままよくわからない2進数は置いといて、みんながよく知っている10進数を先に数えていきましょう。」

 

            10は上に書くようにする。

板書            ↓

10進数

0    10

 

2進数

0     ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

「はい。10まできましたね。ではこの黒板を見て何か気づいたことはありませんか?」→杉浦コメント:ちょっと質問があいまいかな?答えにくいです。

 

生徒の反応

 さっきの質問でわからない答えた生徒中心に聞く。知っている答えた生徒の反応では、わからないと答えていた生徒たちが、ついていけなかったりするような回答が返ってくる可能性があるため。「10進数と違って2進数は1までしか数えられない。」、「10進数のほう便利」等。

 

「なるほど、なるほど。みなさん色々考えていますね。しかし不思議に思いませんか?10進数は0〜9までしかないのに、実際は9の後の数字も数えられますよね?なんたって10進数というくらいですから。何故なんでしょうねぇ〜?」

 

生徒の反応

 「10進数は10があるから9の後も数えられる。」、「10進数なのに10が数えられなかったら話にならない。」、「そんなこと考えたこともないし。」等。もちろんノーリアクションもある。

 

「へぇ〜。けど10って別に9を使ってないよね?っていうか使う数字って0と1だけですよ。」

 

ここ一拍間を空ける。

 

生徒の反応

 知っている人 → ニヤケル。

 知らない人  → (こいつは)何が言いたい。

 

「では、では2進数って一体どういう数字でしたっけ?」

 

生徒の反応

 ディジタル信号な数字 ・・・ @

0と1しか使えない数字 ・・・ A

 

@    の反応が返ってきたとき

「うん。そのディジタル信号な数字ってどんな数字やったっけ?」

とAまたはAに近い返答がくるまで待つ。

 

「そやね。0と1しか使えない数字やね。じゃあここにある10は2進数で書けるんちゃうの?」

 

生徒の反応

 「うわっ、3とか無視?」、「0,1,10ってまた無茶な。」等。基本的に「何言ってるの?」的な反応。

 

「ほな、とりあえず2進数のところに10って書こうか。」

 

板書

10進数

0    10

 

2進数

0    10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

「2進数で10は書けたけど、2〜9はどうなるんやろな?」

 

生徒の反応

 「いや、お前が無視して話進めたんやろ!」、「やっぱし2進数って使えんな。」、「0,1,10って無茶苦茶やな。」等。

 

「まあ、10が書けたことやし、とりあえず、次は20まで書いてみよか。2進数で11〜20までになんか書ける数字ってあるかな?」

 

生徒の反応

 「えっ?何かあるかな?」、「11やね。」、「っていうか何の意味があるん、これ?」等。11という回答がくるまで待つ。

 

「そやね、11は1しか使わないから書けるね。ほな書こか。」

 

板書

2進数

10

20

10進数

10

 

11

 

 

11

 

 

12

 

 

 

 

13

 

 

 

 

14

 

 

 

 

15

 

 

 

 

16

 

 

 

 

17

 

 

 

 

18

 

 

 

 

19

 

 

 

 

「それじゃ、次に2進数で書ける数字って何が来ると思う?」

 

生徒の反応

 「何やろ?」・・・@、「次は・・・100ちゃうか?」・・・A、等。反応が無いときは「0と1だけで書ける数字ってどんなのがあります?」とか「とりあえず0と1だけ使って数字かいてみたらいいやん。」等のヒントを与えてAのような返答がくるまで待つ。

 

「100やね。100は0と1しか使わないから。けど100で終わりかな?100の次は何が来るかな?」

 

 

生徒の反応

 「101」、「110」、「111」、「わからない」等。ここまでくれば誰かしらが正答を言ってくれるだろうから、そのつもりで聞く。

 

「はい、そうですね。みんなわかってきたやんか。ほな2進数のところを書き換えようか。?なんて書いててもしょうがないし。」

 

板書

2進数

 

 

10

 

11

 

100

 

101

 

110

 

111

 とりあえず、生徒に聞きながら、111まで書進める。

 

「じゃあ、111の次は何がくるかな?」

 

生徒の反応

「1000」、・・・、1111まで聞く。そこで「4桁ではここまでやな。」など言って区切る。またここまでくれば生徒はどんどん勝手に答えてくれると思う。というより最初分かってなかったけど、今は分かるといった状態の生徒が勝手に一人ででも調子よく言っちゃうと思うし、そういう行動を制限するのは、その生徒にとってもよくない対応だと思うので、ここまできたらその場の生徒の反応に任せる。

 

「1000か。隣の10進数はまだ8までしかいってないな。それに比べて2進数はずいぶん大きい数字になったな。うーん、このままでは分かりにくいし黒板ちょっと書き換えるで。」

ここは8を少し強調していう。

 

生徒の反応

「8?」、「アレ?」等。

 

 

板書

10進数

10

2進数

1010

 

11

 

1011

 

12

 

10

1100

 

13

 

11

1101

 

14

 

100

1110

 

15

 

101

1111

 

 

 

110

 

 

 

 

111

 

 

 

 

1000

 

 

 

 

1001

 

 

「はい、2進数の書けたところまで書き直してみました。あれ?さっき10のところ、2進数はなんて書いてたっけ?」

 

生徒の反応

 「10」。ここは生徒が10と答えるまで指名する。

 

「そやね。10やね。ほな今はなんて書いてある?」

 

生徒の反応

 「1010」。

 

「そうやね。何で変わったんやろ?」

 

生徒の反応

 ここで、こちらの意図に気づく生徒が出てき始めると思われる。これは知っている者が考える思い込みかは自信なし。「わからん」、「あれ?10は?」、「間詰めて書いただけやん。」等。

 

「別に10が消えたわけや無いよ。ちゃんと3のところにあるやろ?(生徒に確認を求める感じで)」

 

生徒の反応

 「そやなぁ。」、「そんなん分かってるわ。」等。

 

「えーと、ほな僕らはなんで最初こんな図を書き始めたんやったかな?」

 

生徒の反応

 「忘れた。」、「0と1でなんかする。」、「0と1だけで何ができるか。」等。

 

「うんうん、そんな感じやね。0と1でどこまで数えられるかやったね。はじめは1までしか数えられなかったのに、(ここで黒板を指しながら)なんか知らん間に15数えてるで。」

 

生徒の反応

 「エー、適当ちゃうの?」、「何言うてんねん。」、「いいの、これで?」等。疑わしい感じの雰囲気が漂うと思われる。

 

「なんかみんなの視線が冷たいな。いやけど適当ちゃうよ。じゃあ変換は次の授業でするつもりやったけど、軽く説明しよか。10進数を2で割ったら2進数に変換できるのさ。」

 

生徒の反応

「えっ?何で?」、「急に何を言い出してんねん。」等。この程度の説明では相変わらず疑いは晴れないだろうが、2進数を全く知らなかったような生徒には1コマ(50分)するのは、ここら辺までにしておかないと、理解しにくいと思うので、ここから先(基数変換)は次の授業に持ち越すべきだと考える。なのでこの後の時間は軽く流す感じでまとめにかかる。

 

「だって2進数って0と1しか使えないんやろ?だから2で割って10進数を0と1に分けるわけ。まあここから先は次の授業のお楽しみということで。」

 

生徒の反応

 「ごまかしよった。」、「適当やな。」等。

 

「ええやん(このええやんは生徒の反応に対するリアクションではなく、そのまえの次の授業のお楽しみ、にかかる)。現に2進数だって10進数と同じくらい物が数えられそうやってことは納得してくれたやろ?(黒板を指しながら)」

 

生徒の反応

 「まあ、そこらへんはね。」、「数えられるか知らんけどきり無いで。」、「そこらへんも結局流したんちゃうの?」等。できるだけ、この問いに好意的に反応してもらえるような授業を目指す。

 

「今日やったことはかなり大切なんで何をやったかもう一回説明しておくと、0と1しか使えない2進数でも別にいくらでも数えられるということさ。(杉浦つけたし:それはどういうことかというと、電源のオンとオフで数字が表せるということです。2進法があるから、コンピュータが今あるのです!)。ああ、そうなんやなぁ、と思ってくれるだけでいいし。じゃあ今日の授業はこれで終わります。次の授業ではみんなが疑問に抱いているあろう10進数と2進数の変換をやりましょう。」

 

起立、礼、を促して教室を出る。

 

まとめ

生徒が2進数を知っている前提では短すぎる授業かも知れないが、知らなければこれくらいのペースの方がよいと思う。本当は10進数を2進数に変換するか、前回の授業と絡めて、何故コンピュータはディジタル信号なのか、をしようかと思ったが止めた。というのも2進数は慣れていない人にとってはとっつき難い、または拒否反応を示しかねない内容だと思うからである。なのでここはゆっくりしてペースいいと思う。ただ次は変換でいいとしても画像や音の表現に進む前に、なぜディジタル信号というのはやっておくべきだと思う。ただし2進数より先に信号(アナログ信号、ディジタル信号)をやるのは正解と思う。やはり新しいことをするにはビジュアル的に始める方がよいと思う。あと提出した教科書のコピーは弟の教科書のコピーなのですが、僕は「信号→2進数→画像または音声」の順番のほうがいいと思ったので、教科書のコピーと順番はあっていません。というのも先ほど言った理由により、最初に信号、そして次は2進数をすべきだと思ったからです。2進数はコンピュータに関する全てに基礎に関係してくる考えかただし、ディジタル信号もそれ(2進数)に絡んで大切だと思うからです。

 

おまけ

教育実習内諾の面接を受けに母校に行ったんですが、そのときこんな話を聞きました。まず情報の授業は黒板を使わすPowerPointを使って授業をするので、マイクロソフト製品の習熟は必須だそうです。どれくらい使えるようになっておくべきかというと、生徒が起こすエラーに即座に対応できる程度には、ということでした。あとビジュアル用のプログラミングとして、VBAJAVAスクリプトをマスターしておくようにとのことでした。後は授業計画書のチェックを一発で通るように練習しておかないと、とても授業の準備なんてしていられないそうです。まあ杉浦先生なら知っていて当たり前のようなことかもしれませんが、いちよう書いておきました。後、生徒がつまずくポイントとしては、プログラミングの「i=i+1」なんかが鬼門だそうです。「何故ii+1がイコールやねん!」、「そのイコールは同じという意味ではなく代入という意味で、君の言うイコールは==(イコールイコール)とかくのさ。」みたいなやり取りがあるそうです。他にもWordで貼り付けた画像の横のスペースに文字が書けないとか。後、時間的余裕が無いらしく、例としては4コマでバブルソートやクイックソートのプログラムを作らせるとか(プログラミング知識ゼロ、アルゴリズム知識ゼロから)。さすがにこの話を聞いたときは引きましたね。無理でしょ、それは。アルゴリズムの説明に、各ソートの説明に、プログラミングの文法の説明に・・・って生徒にプログラム組ませる時間作れないでしょ!?と聞きましたが、先生はそれをやらなきゃならないんだよ。と言っておられました。

 

 杉浦コメント:二進法の仕組みが分かりやすく教えられている。生徒の反応がまだ甘く、滞りそうなところもあるけれど、うまくいじり系の発問を使って、どんどん進めば生徒参加も可能になる計画になっています。でも、上のコメントからすると、悠長にコンピュータの仕組みをやっている時間はなさそうですね・・・。