事例309
楽しく学ぶ!プログラミングやってみました
神奈川県立希望ヶ丘高校 海沼絵里先生
今年「情報Ⅰ」が始まって、初めてプログラミングの授業を行いました。その実践報告をしたいと思います。
ポイントは 楽しく・ペアプログラミング・問題解決・なんでもあり
本単元のポイントとして4つを挙げました。
1つ目は、「『難しいけど楽しい』を目標に」ということです。プログラミングは、どうしても苦手意識が強い生徒が多く、「難しいことをやるんじゃないか」という先入観が結構大きかったので、今回はとにかく「楽しくやろう」ということを目標に掲げました。
そのために、2つ目にあるように、基本はペアプログラミングで行いました。今までも「難しいことも、友達とコミュニケーションを取りながらだと頑張れる」という声が多かったので、そこを実践してみた次第です。
それから、3つ目として「あくまで問題解決」ということで、「今日は○○の技法を学ぼう」ではなく、「この課題を解決しよう」ということにして、毎時間「プログラミングはあくまで問題解決の手段なんだよ」ということを強調して授業を行いました。
最後に「なんでもあり(生成AI以外)」というのは、テストも制作も、何を見てもいいのでとにかく作ってごらんなさい、ということです。テストも資料の持ち込みは自由として、自分で調べてやってみよう、というスタンスで行いました。
生徒の反応は「難しいけれど楽しい」「ペアの学びは楽しい」が過半数。一方、評価には工夫が必要か
まず、授業後に生徒アンケートを取りましたので、その結果をご紹介します。
私は4クラス担当していますが、今回は時間がなくて、2クラスだけアンケートを行いました。
まず、プログラミングの授業の楽しさについては、「楽しかった」と「やや楽しかった」で約86%。プログラミングの授業が難しかったかどうかについては、「難しかった」と「やや難しかった」が約97%ということで、「難しいけれど楽しかった」という目標は及第点かな、と思っています。ただ、思った以上に「難しい」という意識が大きかったのは驚きでした。
次に、「ペアと個人で、どちらがプログラミング技術が身についたと思うか」という質問をしたところ、ここは思いのほか「ペアの方が身に付いた」という回答が半数を超えていました。「ペアと個人はどちらが楽しく授業を受けられたか」という問いに対しても、「ペアの方が楽しかった」という人が7割近かったです。理由としては、やはり「相談や協力をしながらできることで、楽しいし、自分も知識が身につく」という声が多く見られました。
一方で、「個人の方かよい」という意見は、主に得意な生徒から「どちらにしても自分が教える立場になる」「結局自分が作ることになるから同じ評価を受けるのは癪だ」とか「個人の方がどんどん先に進めるから」というものでした。ですから、評価においては何かしら工夫をする必要があるかなと思っています。
授業の流れ~Progateの予習をベースに、ペアワークを中心に自力で進める
授業の流れがこちらです。全11時間で行いました。まず夏休み前にProgate(※1)の説明をして、Stage3の関数のところまでを夏休みの宿題として各自やって 来ることとしました。
夏休み明けは、「今後のプログラミングの授業は、ペアやチームでやっていくことが多いから、意思疎通を図る必要があるよ」ということで、アルゴリズムとフローチャートの書き方について学びました。
その後、3つ目に「ペアプログラミング」(2時間)は、特講ということで、Progateでやったことを使って、いくつかのお題をとにかく自分たちで考えたり、相談したり検索したりして、苦労しながらチャレンジをしました。
4つ目の「シミュレーション」は、「プログラミングはここまでいろんなことができるんだ」ということを体験するために、こちらで作ったプログラムを配布して、その一部を書き換えていきながら文化祭の食販の値段を決める、という体験をしました。
もともとのプログラムはけっこう長いものなので、嫌がる生徒がいるかなと思いましたが、「こんなに長いプログラムなのに、意外に読める!」という声が聞こえてきたのが、ちょっと嬉しかったです。
5つ目にこの単元のメインとして、プログラムの自由制作を4時間行った後、最後に実技テストを行いました。この実技テストは、予定としては今まで授業中に作ったいろいろな資料をカンペとして、それを使って解くつもりでしたが、ここはちょっとうまくいきませんでした。これについては、後ほど話します。
※クリックすると拡大します。
自由制作では、自分たちが作りたいプログラムを形にしてみる
こちらはメイン活動の自由制作で、生徒が書いた企画書です。この人たちのテーマは、「先生の名前がわからない」ということを解決するために、先生の特徴や教科などに関する質問に「はい」か「いいえ」で答えていくと、その人が思い浮かべている先生の名前が出て来るというもので、Akinator(アキネイター)というゲームに似た仕組みをプログラムにしたものです。
※クリックすると拡大します。
こちらが実際にプログラムを組んだものです。私は全くノータッチで、「先生もわからないから、頑張って調べてみよう」と励ますと、生徒は自分達でいろいろ検索をして、「ここはどういう命令になっているのか」ということを1行ずつ考えながら、どのペアも頑張って作品を作っていました。
この作品以外にも、本校は制服がないので、学校に来ていく服装が決まらないときに組み合わせを考えるプログラムや、隣の席になった人と話が盛り上がるための話題提供プログラムを作ったグループもありました。どれも面白かったです。
※クリックすると拡大します。
実技テストは自分達で作った資料の持ち込み自由で~今後は資料の準備も習慣づけたい
こちらが最後に行った実技テストの問題です。
実際にこの6問を25分間、Google CoLaboratryで解いてもらいました。ただ12点満点で平均は6.0点と、なかなか苦戦していました。
本当はもう少し毎時間の資料を作って、それを持ち込んでもらおうと思っていましたが、現実はProgateの画面をちょっと打ち出して印刷していたりとか、すぐ使えそうなサイトを検索しておいたり、といった持ち込みが多かったようです。
ただ、実社会では自分がどこで行き詰まったのかを貯めておくというのが、自分にとってはいちばん役に立つのではないかと思っていますので、そういった資料の作り方、資料を作る習慣も付けさせたいと思っています。
※クリックすると拡大します。
学習の積み重ねを将来使える武器にするために
今回のまとめです。
まず、今年はとにかくやってみよう、ということで始めたので、ゴール設定がちょっと曖昧だったと感じています。もっとできる子が取り組めるような発展問題を準備すること、また行き詰まったときに見るための補足資料も、ある程度準備はしていましたが、もっと丁寧に準備してもよいかなと思っています。
また、生成AIやネットの検索をうまく活用するということについても、取り入れたいと思っています。
さらに将来につながることとして、資料を作る習慣をつけさせたいと思っています。
生徒達はどうしても「今、解ければいい」ということになりやすいですが、学習の積み重ねが将来使える武器になると思うので、そういった習慣をつけさせたい。そして、それが活かせるようなテストを作成するというのが、今後の課題かと思っています。
※クリックすると拡大します。
神奈川県情報部会実践事例報告会2023オンライン オンデマンド発表より