九州地区

教育システム情報学会 2019年度学生研究発表会

小学校のプログラミング教育におけるScratch 操作履歴を用いた活動状況の可視化手法
Visualization of Activity Status Using Scratch Operation History
in Programming Education at Elementary School
長久保 美咲, 尾崎 剛, 広瀬 啓雄
Misaki NAGAKUBO, Takeshi OZAKI*, Hiroo HIROSE
公立諏訪東京理科大学 経営情報学部
Department of Business Administration and Information, Suwa University of Science
Email:h116041@ed.sus.ac.jp
あらまし：本研究の目的は，2020 年にプログラミング教育の必修化に向けて，プログラミングの授業中の教員を支援し，負担を減らすことである．そこで，Scratch での授業を念頭に置き，適切な Scratch の操作履歴の取得方法を考察し，児童の活動状況を把握する指標を明らかにする．また，操作履歴を分析した結果をもとに可視化システムを構築する．操作履歴を取得することによって，停滞時間の検出や学習状況の推定が可能であることが分かった．さらに，教員が操作状況を把握するのに適している停滞時間が 20秒であると分かった．これの結果をもとに，Scratch の操作履歴を取得し，状況を可視化するシステムを構築した．
キーワード：プログラミング教育， Scratch，初等教育, 学習分析

1.

はじめに

2.

文部科学省の小学校学習指導要領 (1)が改定され，2020 年度より「児童がプログラミングを体験しながら，コンピュータに意図した処理を行わせるために必要な論理的思考を身につけるための学習行動」を計画的に実施することとし，小学校でのプログラミング教育の導入が決定された．しかし，小学校教員のプログラミングに関する知識や経験が少ない，授業の準備に当てる十分な時間が不足しているなどの問題点があり，授業の指導体制が整っていない．
文部科学省の調査(2)では，小学校のプログラミング教育実施に向けて，約 93%の教育委員会が，2019年度までに各校に 1 人以上，教員に実践的な研修を実施，または教員が授業の実践や模擬授業を実施済
み・実施予定と回答した．一方で，約 7％の教育委員会においては，最低限必要と考えられる指導体制の基礎が整っていないと回答した．
さらに授業中の学習者の状況を把握し，教員を支援する方法として大盛らは，プレゼン資料作成時のPC 操作情報を取得し，操作の停止時間を，ヒートマップを用いて可視化するシステムを構築した(3)．ヒートマップによる可視化とデスクトップキャプチャによる可視化を比較した結果，ヒートマップによる可視化システムの方が，有用性が高いことが分かった．しかし，この研究では，プログラミングの授業を想定していないため，Scratch のようなビジュアルプログラミング言語を用いた授業における操作履歴の取得方法を再考する必要がある．
そこで，本研究の目的はプログラミングの授業を行う教員を支援することであり，Scratch を用いた授業の操作履歴の取得方法を考察し，システムの構築を行う．

Scratch 操作履歴の取得

2.1 Scratch3.0 の特徴
Scratch3.0(4)は，プログラミングを行う際，ブロックをスクリプトエリアに追加すると， 対 応したHTML 要素が生成され，Scratch カテゴリや，ブロッ
クの内容などが属性として設定される．スクリプトの順番は，HTML タグの親子関係で表現され，実行中・停止中などの情報も取得可能といった特徴がある．以上のことから，プログラミング中の HTML ソースコードを取得することで，生成された要素の個数を知ることが出来る．

図 1:Scratch のブロックと対応する HTML タグ
2.2 操作履歴取得プログラム
本研究では，Scratch の操作履歴を取得するためにPython3.6 と Selenium モジュールを利用した．
Scratch3.0 は，プログラミングを行う際，ブロックをスクリプトエリアに追加すると，図 1 のように対応した HTML 要素が生成される．このため，プログラミング中の HTML ソースコードを取得することで，追加されたブロックの個数を知ることが出来る．
本研究では，HTML ソースコードを取得するためのブラウザとして Google Chrome を利用し，バッチフ

238

九州地区

教育システム情報学会 2019年度学生研究発表会

ァイルを用いて Python プログラムを実行した． 本
プログラムで取得するデータは，経過時間と総ブロック数のみであり，学習者の個人情報等は一切取得していない．

3.

ピークとは十分時間が離れているため，異なる事象だと考えられ，間隔が停滞時間とほぼ一致していることから，通常の追加平均時間が 2~3 秒，悩んでいる時間が 30~40 秒であると考えられる．
これらのことから，教員に対して児童の操作状況を知らせるにあたって，20 秒の間隔で状態が推移していると推定した．教員へは，この間隔で状況を表示することが有効であると考えられる．
この結果を受けて，図 4 に示すような可視化システムを構築した．可視化システムは活動状況を教員に PC モニターにて提示する．活動状況は，パソコンに見立てた四角の背景色を，停滞時間が 20 秒を越えるごとに変化させる．色が濃くなる毎に指導の必要性を知らせるものとした．

実験2019 年 7 月 27 日(土)に本学が主催するサイエンス夢合宿にて，長野県内の小学校 5,6 年生 11 名を対象に，Scratch の基礎学習と簡単なゲームを作る体験
授業を行い， 2 章に述べたプログラム を 用いてScratch の操作履歴を取得した．

4.

結果取得したデータの結果をグラフ化したものが図2 と図 3 である．

図 2:総ブロック数の増減
図 2 のグラフは，ブロック数の増減の時間変化を表しており，各線はそれぞれ児童のブロックの推移を表している．丸で囲んだ箇所のように，ブロックの増減が無い箇所がいくつかある．これは，児童が思考している時間，もしくは動きを確認している時間だと考えられる．また，グラフの傾きは総ブロック数の増加スピードを表しており，傾きが急であるほど総ブロック数が短時間で増えていることが分かる．

図 4:活動状況可視化ページのデモ画面

5.

まとめ

本研究では，Scratch の操作履歴を取得するシステムを構築した．その結果，操作履歴の取得，停滞時間の検出が可能であることが分かった．また，停滞時間が 20 秒以上経った児童を指導の対象として知らせることが，教員が捜査状況を把握するのに適していると考えられる．
ただし，活動状況を把握する目安として 20 秒が適切であると言えるのかといった点が検証できていない．さらに，活動状況を可視化した授業の検証も出来ていない．これらを検証するためには，より多くのデータの取得や，可視化システムの評価実験を行う必要がある．
参考文献(1) 文部科学省：“小学校学習指導要領” (2017)(2) 文部科学省：“令和元年度 市町村教育委員会における小学校プログラミング教育に関する取組状況調査の結果について” (2020)(3) 大盛将，垣内洋介，松本慎平：“授業における PC 操
作情報を用いた活動状況可視化手法”, 教育システ
ム情報学会誌，Vol.36，No.2，pp.107-117 (2019)(4) Scratch< https://scratch.mit.edu/ >，2020 年 1 月 31 日
確認

図 3:ブロックの追加頻度
図 3 のグラフは，児童 11 人のブロックを追加する間隔を表している．グラフを見ると，ブロックの追加頻度が一番高い時間帯が 2~3 秒，また小さい山がいくつかあるが，もう一つ追加頻度のピークが 36秒付近であることが分かる．このピークは 2~3 秒の239