事例372
micro:bitの授業をしてみました~写経と創造の間で課題のテーマに悩む~
神奈川県立上鶴間高校 相馬臣彦先生

今回は、「micro:bitの授業をしてみました~写経と創造の間で課題のテーマに悩む~」というタイトルでお話します。最初に授業の内容をご紹介して、生徒の振りかえり、そしてまとめという流れで進めていきます。
初めに、この授業についてお話しします。
この授業は、3年生の「情報」の選択科目の「情報の表現と管理」で行いました。
3年生なので、1年生の「情報Ⅰ」で、プログラミングの基礎は学んでいるから知っているだろう、という前提で始めました。また、この授業を取っている生徒からも、「またプログラミングをやりたい」という要望がありましたので、授業の内容を検討をして、micro:bitを使った授業にチャレンジしました。

micro:bitを使って写経→創造のステップを踏む
授業の流れがこちらです。
最初の段階で、micro:bitの基本操作の説明をします。こうやって操作するんだよ、このようにつなげて、こんなことができるんだよ、ということを確認しました。その後、基本課題を4つ設定しておき、順番に作っていきます。最初の課題1「じゃんけん」は、「写経」、つまりコードを写せば作れるものです。
課題2の「おみくじ」も、また写経です。課題3が、このおみくじをベースに少し改良するとできる「サイコロ」で、ここでは条件に合うようにどのように改良したらよいのかを考えてもらう設定にしました。
4つ目もまた写経ですが、今回は多少長くて複雑なプログラムを作ってみよう、ということで、落下ゲームのようなものを考えてもらいました。
この4つの課題ができて、動くことを確認したら、応用課題として「オリジナルプログラムを作ろう」を行いました。

一つひとつの課題をご説明していきます。
まず課題1の「じゃんけん」のプログラムでは、このようなプリントを配り、手順を分かりやすく伝えました。プログラムリストとして右側にあるものを見せて、「まずこの通り作ってごらん」ということで、Aボタンを押すと音が鳴って、マークが表示されるプログラムを作りました。
※クリックすると拡大します
課題2の「おみくじ」は、課題1よりも少し複雑なプログラムリストを提示しました。
こちらは、Aボタンを押すと「大吉」「中吉」「小吉」「凶」が表示され、さらに「ミステリー」ということで、何かマークが出てくる、という乱数を使った占いのプログラムを作りました。
これは先ほどより分岐が多くなってやや複雑ではありますが、シンプルな構造だったので、これも生徒達はうまく作れたかな、というところです。
※クリックすると拡大します
この課題1、課題2で作ったプログラムの構造の理解をベースとした課題として、課題3「サイコロ」を設定しました。

※クリックすると拡大します
最後の課題4「落下ゲーム」も写経です。ただ、これは様々なブロックに分けたプログラムをたくさん作り、さらに変数を取り入れたので、ここでは変数の説明をした上で作ってもらいました。
※クリックすると拡大します
「写経」は簡単だが、変数が入ると難しいと感じる
生徒の振り返りです。
まず課題1の「じゃんけん」は、写経だったので簡単だと感じた人が多かったです。課題2の「おみくじ」も、ちょっと数字が変わるところがありますが、やはり簡単だという印象を持たれたようです。

課題3の「サイコロ」は、分岐が1個増えただけで、最初に作った「おみくじ」や「じゃんけん」と構造は一緒のですが、それだけでも「難しい」と答える人が出てきました。感想に、「やっと普通のレベルになった」と書いてきた生徒もいました。
そして、課題4の「落下ゲーム」は、写経ではありますが、少し長いプログラムで、少し考えてもらう要素があり、そこに変数が入ってきたため、変数という要素がなかなか理解しづらかったのか、「難しい」という印象を持った人が多かったです。

4つの課題の印象をまとめたものがこちらです。

自分の組んだプログラムが目に見える形で動くことが達成感につながる
次に、応用課題のオリジナルのプログラム作成についての振り返りです。生徒の印象は、自分で作るというところで少しハードルが上がったようで、「難しい」と感じた人が6割近くいました。
難しく感じた理由として、まず自分のアイデアをプログラムで表現することの難しさに直面した、ということがあるようです。

生徒の振り返りを見てみると、今までプログラミングの経験はあっても、実際にmicro:bitを動かすのは初めてで、「自分の組んだプログラムが目で見える感じで面白かった」という人が多かったです。
つまり、ブロックを組み合わせてプログラムを作る、という手順は同じであっても、最後に自分が作ったプログラムをコンピュータに転送し、機械を触って実感できることで、プログラムを作った達成感があった、ということを言ってました。ここがmicro:bitの利点であることを実感しました。
一方で、鋭い指摘をしてきた生徒もいました。「(プログラムを)書いてある通りに作れば簡単だ。『こういうものを作ってください』というようにすれば、考えることもできて覚えられると思う」と。
まさにその通りだと感じました。「入力はこのように、出力はこのようにしてください」といった条件を提示した上で、「あとは自由に作ってね」という形式にすれば、生徒はより工夫して、面白いものを考えて取り組むことができるのではないかと感じました。
※クリックすると拡大します
反省としては、写経からスタートしましたが、まずはどのように動くのかということを理解させてから、その後「こんなふうに改良してね」とか「こういう条件を満たすプログラムを作ってね」といった要素を取り入れていく、というステップが重要になることを感じましたので、今後はその要素を取り入れていきたいと思いました。これは、先ほどの生徒の振り返りのコメントの助言があったからこそ気づけたことです。
生徒は写経して、動かして、楽しかった、ということ以外でも、「なぜそうなるのか」ということを考えたい、と思っていることがわかったので、ステップを上がるにつれて考える要素を少しずつ増やすっていうことも重要であると思います。
さらに、micro:bitは、結果が見える・体験できるということが大きいと思います。画面に文字が、ぱっと出てくるだけでなく、LEDがピカピカ動いたり、本体を傾ければセンサーが動いて何かしらの反応する、といったことで、作ったプログラムがちゃんと動いてるかどうかが実感としてわかることこそが、micro:bitを使うメリットではないかと思います。

写経の意味付け、試行と創造のバランスが重要
最後にまとめです。
写経をするにあたっては、その後に続く意味があるものをさせる。そして、条件を与えて試行させること、最後に自分達で創造させるという、この3つのバランスが重要になってくると思います。
今回はプログラミングの基礎知識があることを前提に授業をしました。1年生時に学んだことを思い出してもらいつつ、写経を通して、順次、選択といった基本構造を理解させるようにしました(繰り返しは今回扱いませんでした)。
これらの組み合わせでできるプログラミングの課題として、まず、順次、分岐、繰り返しの構造が理解できる写経を行い、その上で、条件を設定し、少し改変する課題を設定しました。これらの課題を通して、プログラムの3つの基本構造が理解できるのではないかと考えています。
さらに、この3つの構造から「これは繰り返しが使えるな」「これは分岐が使えるな」ということが明確な課題を設定します。そして、最後にオリジナルプログラムで問題解決させるという流れが効果的だと感じました。
micro:bitは、何かしらのアクションや動きがあり、作ったものを実感できるという点が、授業において有効な学びのツールになると考えています。

今回の取組みは、ぜひ「情報Ⅰ」でも使っていきたいと思っています。私の授業の取り組みは、ポートフォリオサイトやYouTubeチャンネル「そうちゃんねる」のほうで発表していますので、ぜひご覧ください。

神奈川県情報部会実践事例報告会2024オンライン オンデマンド発表より