プログラミング教育を行う先生へ
指導の観点 /評価 /試行錯誤 /固定化された評価だけでない
プログラミングの評価は、お手本とアレンジ
プログラミングの授業評価を、学習指導要領で定められている「知識・技能」「思考・判断・表現」「主体的に学習に取り組む態度」の 3つの観点から考えていきましょう。「知識・技能」は「何を理解しているか、何ができるか」ということで、「思考・判断・表現」は「理解していること、できることをどう使うか」ということ、「主体的に学習に取り組む態度」は「どのように社会と関わり、よりよい人生を送るか」と説明されています。
プログラミングを扱う授業の形態には、大きく分けて 2つの種類があります。ひとつは数学の練習問題と同様に、正解がひとつになるようなプログラムを生徒全員で作る形です。授業では、このような課題プログラムを扱うことが多いと思います。このようなプログラムの評価としては、「実行したときの結果が正しいかどうか」という評価と、「プログラムが指示した内容で書かれているかどうか」という評価を見ることになります。たとえば画面に 4つの文字列を表示する場合、「print文を 4個並べて書く」書き方と、「for文などで 1つの print文を 4回繰り返すように書く」書き方が考えられます。これらはどちらの書き方をしても結果は同じになりますが、反復の授業であれば、「正しい結果が表示される」ことに加えて、「for文を使っているかどうか」が評価の観点になります。
もうひとつの種類の授業としては、プログラムの書き方についての基礎を学んだ後で、発展的な課題として、生徒の一人一人が異なるプログラムを自由に発想して作る「作品制作」を行うことも考えられます。題材としては、パソコンやスマートフォンのアプリを作成したり、アニメーションやゲーム等の作品プログラムを作ることが考えられます。このような作品プログラムでは、共通の正解はありませんので、評価としては「生徒同士が作品を見たり使ったりして評価する」「先生が生徒のプログラムを動かして評価する」などの形で総合的な評価を行うことが考えられます。また、生徒の書いた作品プログラムを評価する場合には、「プログラムのコードを先生が目視で確認し、行数などの分量を見て作業量や努力した量を評価する」こともできますし、「授業で学んだ反復や分岐、関数などが使われているかどうか」といった評価ポイントを設けて評価を行うことも可能です。
デバックを通して主体的に取り組む
プログラムは、プロのプログラマであっても、「長いプログラムを一度に書いてそのまま動く」というものではありません。ソフトウェア開発では、デバッグと呼ばれる「動作の確認とプログラムの修正を繰り返す作業」が重要な作業工程になっています。プログラミングの授業においても、主体的に学習に取り組む態度として、「プログラムを書いて、エラーが出たらあきめてしまう」のではなく、「自分のプログラムと向き合って、間違っている原因を発見し、それを修正しながら完成に向かって継続的に取り組む」という態度が非常に重要です。先生としては、授業の中で励ましも含めて「プログラムというものは、書いた後に誤りを発見して修正することを繰り返すものだ」というイメージをきちんと伝えてあげることが重要です。また、可能であればそのような主体的で継続的な取り組みの態度を評価してあげることも重要です。
プログラミングの学習を通して、このような「あきめずに、自分の学習を見直しながら改善する態度」を養うことは、他の教科の学習にも良い影響を及ぼすことが期待されます。
適性や興味を見つけてさらに伸ばす
プログラミングは高校生になってからはじめて体験する生徒も多いと思います。他の教科と同様に、プログラミングについても適性がありますので、「興味や関心を持てるかどうか」「プログラミングは自分に適しているかどうか」を授業を通して生徒自身が判断できることは貴重な体験です。授業では、苦手な生徒に分かりやすく説明することを行うと同時に、プログラミングに高い興味・関心を持つ生徒や、プログラミングを論理的に考えられる生徒に対して、より高いレベルで段階的に学んでいくための手助けをしたり、教材を示してあげることは重要です。また、情報の授業が終わってからも、大学入試に向けてプログラミングや情報科学の学習を深めたり、授業の課題以外に自分でさまざまなプログラムを作ってみる、という自発的な学習活動につなげることができます。そのために、本教材が大きく役立つことを期待したいと思います。
技術・家庭科技術分野でのプログラミングはより高度化し、高等学校での情報の授業では、プログラミングとデータ分析が必修の内容として設定されました。
大学でも、文系や理系に問わず AIやデータサイエンスを学ぶ動きが広がっています。データサイエンスの名前をつけた学部や学科も増えてきました。このように各教科でデータの分析、さらに活用の学びが、プログラミングの学びと共に展開されてきています。