
大学における共通教科情報科のリメディアル授業の開発 ~大学の学びで必要な、コンピュータによる問題解決のレディネス向上を目指して~
――具体的な授業の展開を教えてください。micro:bitとブロックプログラミングを使うのですね。
オリエンテーションに続いて、第2講と第3講では、教育用小型コンピュータボードのmicro:bitを用いたプログラミングに慣れるための授業を行います。まず基本操作として、基板上に配置されたLEDで図形を表示し、ボタンを押したり離したりすると図形が点滅する基本的なプログラムの作り方を学び、次にボタンを押すとコインの音が鳴るプログラムを作らせます。その後、音を別のメロディに変えたり、コインの数をカウントしてその数だけ音が鳴るようにしたり、とステップを踏みながら徐々に複雑な動きを加えていきます。この作業を通して、学生はプログラミングの基本的な考え方である「変数」「条件分岐」「繰り返し」の使い方を学ぶのです。
なお、この基本演習の題材は、鎌田先生が考案したものを全面的に採用しました。学生が興味を持って取り組むことが期待されたからです。

この活動には、ブロックプログラミングを用いました。学生たちの高等学校までのコンピュータ経験を見る限り、最初から全員がコーディングをするのは困難だと判断したからです。また受講生の中には、高等学校で「情報Ⅱ」まで履修したけれど、コンピュータが好きだから本授業を受講する、という人もいます。そうすると、第4講でグループワークを実施する際に、経験の乏しい学生がグループ内で置いてけぼりになったり、得意な学生に極端に任せきりになったりするリスクがあります。そうなってしまっては良くないので、ここではあえてブロックプログラミングを用いました。

第2講では、最後に「micro:bitで『何か面白いもの』を作る」という課題を出しました。「変数」「繰り返し」「条件分岐」のうち、2つ以上の要素を使ってmicro:bitを動かすプログラムを作り、スクリーンショットを撮ってプログラムの内容の説明文(日本語で記述します)と並置して、次の講までに提出させるものです。
インターネットなどで見つけたものをそのまま貼り付けるのでなく、「自分なりの工夫があって、練習になっていればよい」としましたが、学生は非常に興味を持って取り組んでおり、制作を通して学びを深めることができていました。
第3講では、グループ対抗でmicro:bitで動くロボットを用いたカーリングゲームをしました。ここでは、前講で学んだプログラミングの考え方を応用して、カーリングロボットを制御するプログラムを協働で考えます。この活動を通して、小規模な開発とリファインを繰り返すデザイン思考の基本形を実践すること、定型解のない問いに取り組むことの大切さを学びます。こちらも、神奈川県情報部会の教員研修で行われたテーマを参考にさせていただきました。
学生には、事前にカーリングの基本ルールや、授業で用いるツールに関するオンデマンドコンテンツを視聴させておき、授業内では、まずグループ内で「ボタンAを押したらまっすぐ4秒走る」「曲がりをなおす」などの基本的なプログラムを実装します。この段階で練習試合を行います。

その後、グループ内で作戦を練りながら、障害物をよける動きを加えたり、ひたすら相手のストーンを押し出す動きをするプログラムを考えたりして、それぞれのストーンに実装していきます。そして実際に1回戦を行い、その結果を踏まえてプログラムを修正し、2回戦を行います。
これは、グループでどのような戦略を立てるか、それぞれのストーンをどのように動かし、そのためにはどのようなプログラムを作ったらよいかを話し合うことで、皆で問題解決の提案をし合う活動です。学生は非常に盛り上がりましたね。