事例285

ビジュアルプログラミングはテキストプログラミングの学習に生かされている? ~授業内アンケートによる探索的検討~

相模女子大学中学部・高等部 堺和貴子先生

今回の発表に至ったもともとの動機は、「Scratchのようなビジュアルプログラミングを経験した後で、Python(テキストプログラミング)に進むと、Pythonの学習が進みやすくなる」といった言説が、はたして本当にそうなのかなあ、と思っていたことがもとになっています。私としては、特に証拠はないものの、なんとなく、それは違うのではないかと思っていたのです。その疑問を明らかにするため、2つの授業で行ったアンケートを通し、実際に生徒はどのように感じていたのかを発表します。

 

1つめのケースは、以前勤務していた高校での授業です。その学校は高校単体の学校で、1年間プログラミングに特化した学校設定科目(2単位・2年次配置)があり、1学期にScratchによるゲームの作成を、2学期に文法事項を中心にPythonによるプログラミング演習を実施しました。この受講生全員(39名)を対象に、振り返りのアンケートを行って、Scratchを学んだ効果があったかを聞きました(→ポスター「ケース1」)。

 

現在の勤務校は中高一貫校で、中学部で「プログラミング」という独自科目が3年間1時間ずつ設定されています。「プログラミング」の授業では、Lego Mindstorms EV3、micro:bit、Pepperプログラミングを行っており、中学部から高等部に内部進学した生徒は、中学段階でビジュアルプログラミングの経験をしています。

 

一方高等部では、「情報I」を1年次で配置して、文部科学省の授業・解説動画 [1][2](※1)を題材に、6コマ程度でPythonによるプログラミングを行いました。プログラミングの授業を行った後に、内部進学生39名を対象に振り返りアンケートを実施ししています(→ポスター「ケース2」)。

 

※[1]「100連ガチャをプログラムして作ろう!」

   [2] 「公平な方法で発表の順番を決めよう!」

 

ビジュアルプログラミングの経験は、テキストプログラミングの学習内容の参考になったか?

[ケース1 同じ年度内でビジュアルプログラミング→テキストプログラミングを学習]

 

まず1つ目のケースです。私自身は、基本的にScratchの後にPythonでのプログラミングに入っても、スムーズに学習が進むわけではないのでは、となんとなく思っていたのですが、結果的はちょっと裏切られたというものになりました。

 

 

こちらのケースでは、同じ年度の1学期にScratchを、2学期にPythonを学習していますので、「1学期で学んだことは2学期の学習内容の参考になりましたか」という質問をしたところ、「参考になったと思う」という反応(「5」と「4」)が約45%と半数近くになりました。

 

それぞれの理由を自由記述で聞いたものこちらです。最初にこのデータを見たときは、いろいろな理由があるなあという印象で、先の質問の回答にかかわらず考えは人それぞれなのかな、と感じていました。でも、「3」と答えた人であっても、「直接的には参考にならなかったけど、プログラムを組む上で参考になった」と書いていたりします。これは参考になっていると解釈できる回答で、ひょっとしたら、評価項目で理由をグルーピングするよりも、理由の言及別にグルーピングをしてみるとある程度の傾向性がみえるのではないかと考え、どういった発言・言及があったかということをまとめてみました。

 

※クリックすると拡大します

 

 

先の質問の評価ごとに、言及内容別の割合をグラフ化したのがこちらです。「3」から「5」と回答した生徒、つまり比較的ネガティブではない評価をした生徒は、「学習内容を関連付けられた」「考え方が利用できた」と回答する割合が高く、逆に評価「1」「2」とした生徒では、Scratchとの関連性が感じられなかったり、「プログラミングツールが異なる」と回答していました。中でも、「ブロックを組み合わせて作るのと自分で1から打ち込むのとでは違う」といった言及が見られました。

 

 

[ケース2 中学校でビジュアルプログラミング→「情報I」でテキストプログラミングを学習]

 

こちらは、現在勤務している中高一貫校の高校1年生のうち、内部進学生を対象としたアンケートの結果です。中学校でのプログラミングの経験が、「情報I」のプログラミングの授業に役立てることができたか、ということを質問しています。

 当時は、将来的にこの場で発表しようとは思っていなかったので、ケース1と回答項目がそろっていないことはご容赦ください。このケースでも、「そう思う」「どちらかとそう思う」が過半数を占めました。

 

 

ただ、「あまりそう思わない」「そう思わない」という人も、約25%ほどいました。もともと、回答者が39人しかいない中での25%なので、人数は少なくなりますが、「役に立ったとは言えない」という反応は一定数あるようです。

 

こちらも自由回答について、言及内容別に分類を行いました。

 

※クリックすると拡大します

 

 

「中学部のプログラミングの授業で学んだことは、今回のプログラミングの授業に役立てることができましたか?」という問いに対して、「そう思う」「どちらかというとそう思う」と答えた生徒では、

中学校の学習内容との関連性や、プログラミングの考え方を利用できた、ということに言及している人が多いです。

 

プログラミングの考え方として、プログラミングの流れを思い出せたり、利用できたという記述がありました。

 

一方、「そう思わない」「あまりそう思わない」と答えた生徒は、こちらも授業内容やプログラミングツールが異なることを理由に挙げています。

「中学校では英語ではなく、日本語のブロックだったため」という理由や、「ロボットを動かす」経験と「パソコンだけ」でプログラミングを行う授業に差異を感じているような記述が見られました。

 

 

テキストvs.ビジュアル 表層上の違いにとらわれず、構造的な考え方の類似性を意識させる指導が必要

 

ここからは、アンケート結果を受けて、どのように授業を行っていくのがいいのか、というお話です。

当初の予想に反して、Scratchやビジュアルプログラミングの経験がPythonの理解の役に立った、と感じている生徒が多かったことから、ビジュアルプログラミングの学習自体は全く意味のないものではないと考えます。

 

しかし、だからといって、単に「どんどんやればいい」というだけではダメだろう、と思います。ビジュアルプログラミングの経験をテキストプログラミングに活用できている、と考える生徒は一定数いることはわかりました。そして、プログラミングの考え方の類似性に気づいている場合は、テキストプログラミングの学習が促されると認識されると考えられます。

 

一方で、プログラミングツールが異なるといった、表層上の違いに注目している場合は、テキストプログラミングへの学習に、ビジュアルプログラミングが活用されたと感じることは少ないようでした。この点で、ビジュアルプログラミングとの考え方の類似性を補足したり、その類似点に気づかせたりするといった工夫をすることで、「役に立った」と思えるような方向付けが出来るのではないかと思います。

 

生徒の回答をご覧になって、評価の理由を言語化していく中で、生徒の考えが整理されたのではないか、というご指摘をしてくださった先生もいらっしゃいました。言語化した時点で、考え方が似ていることに気づいた可能性もあるのではないかと捉えているのですが、そういったことも踏まえて、ビジュアルプログラミングをただやるだけではなく、テキストプログラミングとの関連性を意識させ、構造的な考え方の類似性を発見できるような授業内容の計画や、自分で気づかせる工夫が必要ではないかと考えています。

 

第16回全国高等学校情報教育研究会全国大会(東京大会) ポスター発表より