東海地区

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

Scratch 学習辞書を活用した初心者向けプログラミング教育―Zoom を用いた留学生への入学前教育―
Programming Education for Beginners Using a Scratch Learning Dictionary-Pre-admission education for international students using Zoom胡 石帆,飯島 康之,野崎 浩成
Shifan HU, Yasuyuki IIJIMA, Hironari NOZAKI
愛知教育大学
Aichi University of Education
Email: s220d003@auecc.aichi-edu.ac.jp
あらまし：本稿は，来年度 4 月に大学院修士課程へ進学予定の留学生を対象に，初心者向けプログラミン
グ教育を用いて行った．入学前教育の一環として，プログラミングの基礎を学び，大学院入学後には円滑に教材開発ができるようにすることを目的としている．本稿では，Zoom を用いたリアルタイム形式の遠隔授業を 90 分間，週１回のペースで，約 2 ケ月間の予定で，現在実施している「授業実践」の概要を紹介し，その授業実践で活用する「Scratch 学習辞書」について述べる．
キーワード：個別学習，scratch，ビジュアルプログラミング，computational thinking，プログラミング基
礎

1.

研究背景

本研究は入学前教育の一環として，Scratch を利用した遠隔授業の可能性を模索する．Scratch は，当初，子供に向けのプログラミング学習項目として開発されたが，使いやすさや，開発コミュニティや拡張コンテンツなどの面が充実しているため，大学のプログラミング教育も使用された．イタリアのカターニ
ア大学の Daniela Giordano と Francesco Maiorana はフローチャートと BYOB（Scratch から派生したビジュアルプログラミング言語の一種）をプログラミングデザイン入門の授業中に使用し，そして情報専門の学生たちのエラー数とプログラムの作成する時間を測定し，統計的な差が見られなかった（1）．トルコのメフメットアキフエルソイ大学の Osman Erol と同じくトルコのアナドル大学の Adile Aşkım Kurt はScratch（ビジュアルプログラミング言語）を利用したプログラミング授業と C#（コードベースプログラミング言語）を利用したプログラミング授業による情報専門の学生の動機づけとプログラミング成果に及ぼす影響を研究した．その結果，プロセス全体の終わりに C#グループと Scratch グループの両方のプログラミング達成スコアが増加することを明らかにした（2）．このように，Scratch は初心者向プログラミング言語としては他の言語と等しく有用である．
だが，Univérsidad Réy Juan Carlos の José Alfrédo
Martí néz-Valdés，J. A ngél Véla zquéz-Iturbidé，Raquél
Hijo n-Néira は大学生 1 年生の computer science1 授業
報告の中に指摘されたように，Scratch 最初は子供向けのプログラミング入門言語として開発されるため，子供向けの言語あるいはおもちゃと学習者に認識されると年齢が高い学習者にはマイナスな影響が与える可能性が存在する．また，指導案を構成する時に，学習者に明白な目標と自身の専門との関連性を示さないと，学習者は Scratch を学習するための有用性を93見出すことをできず，反感を持つ可能性もある（3 ）．
Computational Thinking（CT）は 2006 年 Jeannette
Wing が発表したエッセイから重視され始めた．このエッセイは，コンピューター科学者だけでなく，すべての人にとってコンピューター的思考が基本的なスキルであることを示唆し，コンピューター的アイデアを学校の他の科目に統合することの重要性を主張しました．CT を定義する特性は，分解，パターン認識/データ表現，一般化/抽象化，アルゴリズムです．問題を分解し，データ表現を使用して関連する変数を識別し，アルゴリズムを作成することにより，一般的な解決策が得られます．一般的な解決策は，初期の問題の多数のバリエーションを解決するために使用できる一般化または抽象化です（4）． CT の獲得は現在世界中で始まった子供プログラミング教育として育成目的の一つでもある．Scratch の学習を通じて CT 育成することができることも Maria JoséMarcelino, Teresa Pessoa, Celeste Vieira, TatianaSalvador, António José Mendes の Scratch を利用した小学生教師への遠隔プログラミング授業結果の分析報告（5）や LeChen Zhang, Jalal Nouri の Scratch を学習言語として利用した 55 例世界各国のプログラミン
グ授業のデータ分析結果（6）から示されている．
プログラミング能力を獲得するには CT 能力を身につけることが必須で，長期の実践的トレーニングが必要です． 優れたプログラマーになるための最も重要なことでもある．これを会得するには，大量な練習や問題の観察，分析，比較，要約を繰り返す必要があります．
遠隔授業は対面授業と違い，指導者は全員の進み具合やつまずきを認識するのは難しい，同時に多人数の対応も対面授業より遅い．このため，学習者にはより高い学習能力が求められる．

2.

Scratch 学習辞書

東海地区

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

Scratch 学習辞書の特徴は，プログラミング学習過程の中で，自主的学習の重要性を考慮し，遠隔授業で自主的に問題解決できるようにする．さらに，CT が提唱された特性のパターン認識/データ表現，一般化/抽象化の考え方を学べるように配慮したことである．
この辞書は２つの部分で構成されている．第一部
分は Scratch の中にある最小の構成単位ブロックの説明，第二部分はブロックを使用した動きの実例である．
第一部分のブロックの説明は，ブロックの動作，ブロックの図，プログラミング専門用語，ブロック機能説明，ブロックの変更できる部分が何を影響するかの説明，このブロックを使用した関連する実例のリンクによって構成される．
第二部分の実用例は，機能の名前，ブロックの組み合わせ，各ブロックの役割説明，実行された効果，関連するブロックの逆引きによって構成される．この部分は学習者が学習の中で，自分で見つけたブロックの組み合わせも追加できるようになっている．

3.

用プログラムを作成する．全部の授業が終了した後3 回目の CT を測定する．

4.

測定方法

5.

まとめ

今回は Maria José Marcelino, Teresa Pessoa, Celeste
Vieira, Tatiana Salvador, António José Mendes が小学校教員のプログラミング遠隔授業 （ 5 ） を使用した
Dr.Scratch（7）とイギリスの BBC で公開された KS3
コ ー ス の Computer Science の Introduction to
Computational Thinking 部分のテスト（8）を使用する．
この 2 つの結果を分析し，学習者のプログラミング能力と Computational Thinking 能力の変化を確認することで辞書の有用性を確認する．現在（原稿執筆時点），第 1 回目の授業が終了している状態である．

授業計画

授業実践の対象は 2021 年 4 月から愛知教育大学大学院修士課程に入学する中国語留学生の 2 名である．
この 2 人は過去にプログラミングの経験がない．
Scratch も初めて使用するプログラミング初心者である．2 名は大学で言語学を専攻としている，大学院入ってからは言語教育を研究対象とする予定である．先行研究（3）を参考にして，Scratch を教える実践授業を行った．2 人の今後の研究に役に立つように，Scratch を利用した音声とアニメション，構成された物語と自動採点テストの作り方とプログラミン
グ基本知識の習得を目的として設計した．授業の担
当は筆者となる．
授業は 1 回 90 分間，全部 8 回の授業として構成し，授業は全部 Zoom を利用したオンライン授業となる．
使用する教材は筆者が作成したレジメと Scratch 学習辞書である．
具体的な授業内容として，第 1 回目は授業内容と目的の説明，Code of hour の古典的迷路練習問題でプ
ログラミング体験，Scratch の基本紹介，二人現在のCT を測定する．第 2 回目は Scratch のペイント機能を利用した図形の生成であり，繰り返すに関する練習と歩くアニメションで条件に関する練習を行うことでプログラミングの基本構造を学習する．第 3 回
目は物語の作成を通じて動きのブロック，見た目ブロック，コスチュームと背景の変更，音ブロックな
ど Scratch の基本ブロックを紹介しながら，物語の 1シーンを完成させる．その後，物語を作成するための時間軸やブロック定義を紹介し，前のプログラムを改良する．第 3 回目の最後は 2 回目の CT を測定する．第 4 回目は変数ブロック，演算ブロックを説明し，選択問題や文字問題の採点問題を作り，学習する．第 5 回目は二人に自分が将来言語を教える授業をする時と想定し，手伝いながら自分で一つの実94

Scratch 学習辞書はプログラミングの遠隔授業の時，学習者のつまづきを自分で解決できるように手助けをする．さらに実用な例を蓄えることで，CT で求められている分解，パターン認識/データ表現，一般化/抽象化を練習にもなれる．今回使用する辞書は初期バージョンはexcel を利用した初心者向簡易辞書，実用例も少ない．
今後はより使いやすいようにフリーウィキペディアをベースしたオンラインやオフラインバージョンの開発や実用例を追加する予定である．
参考文献(1) Daniela Giordano, Francesco Maiorana:
Teaching
Algorithms: Visual Language vs フローチャート vs
Textual Language(2015 IEEE Global Engineering
Education Conference (EDUCON))(2) Osman Erol, Adile Aşkım Kurt :The Effects of Teaching
Programming with Scratch on Pre-Service Information
Technology Teachers ’ Motivation and Achievement（Computers in Human Behavior, 10.1016/j.chb. 2017.08）(3) Martínez-Valdés, J. A., Velázquez-Iturbide, J. Á., &Hijón-Neira, R. :A (Relatively) Unsatisfactory Experienceof Use of Scratch in CS1.( In J. M. Dodero, M. S. Ibarra
Sáiz, & I. Ruiz
Rube (Eds.), Fifth International
Conference on Technological Ecosystems for Enhancing
Multiculturality (TEEM’17) (Cádiz, Spain, October 18-20,
2017) (Article 8).
(4) Wing, J. M. (2008). "Computational thinking and thinking
about computing". Philosophical Transactions of theRoyal Society A: Mathematical, Physical and Engineering
Sciences. 366 (1881): 3717–3725.
(5) Maria José Marcelino, Teresa Pessoa, Celeste Vieira,
Tatiana Salvador, António José Mendes: Learning
ComputationalThinkingandScratchatDistance(Computersin
HumanBehavior,10.1016/j.chb.2017.09.025,page)(6) Efthimia Aivaloglou, Felienne Hermans:How Kids Code
LeChen Zhang, Jalal Nouri: A systematic review oflearning computational thinking through Scratch inK-9(Computers & Education Volume 141, November
2019, 103607)(7) Dr.scratch: http://www.drscratch.org/(8) Introduction
toComputational
Thinking:
https://www.bbc.co.uk/bitesize/guides/zp92mp3/test