Newer
Older
2022-Rino / paper / putiron.tex
@ItoRino ItoRino on 6 Dec 2022 20 KB fix:ファイルの位置変更
%#!platex -kanji=%k
%#DVIPDF dvipdfmx -f ipa.map
\documentclass{jsbook}
%\pagestyle{empty}
\usepackage[dvipdfmx]{graphicx}
%\usepackage{listings, jlisting}
%\usepackage[sectionbib]{chapterbib}
%\usepackage{ascmac}
\usepackage{here}
\usepackage{geometry}
\usepackage{url}	
\setcounter{tocdepth}{3}	% 文中にURLを書くときは \url{} で括る
\geometry{textwidth=160mm, textheight=225mm}
\renewcommand{\bibname}{参考文献}

\title{ゲーミフィケーション要素を用いたプログラミング教材の提案}
\author{広瀬研究室 3年伊藤理乃}
\date {令和4年1月11日}

\begin{document}
\maketitle

\begin{center}
 {\bfseries 概要}
\end{center}
%% 概要 %%
プログラミング言語の学習は情報教育において重要な役割を担っている。学生の時にプログラミングのスキルを身につけることで論理的思考力や想像力,問題解決能力の向上を図ることが可能である。プログラミング言語を学習し,理解する際には教員が行う講義だけではなく,講義時間外に学生が自主的に行う自学習が必要である。しかし,問題点としてプログラミング言語の自学習を行う上で学習意欲の維持・向上が難しいという点が挙げられる。そこで本研究では,継続的なプログラミング学習を行うことを目的としたゲーミフィケーション要素を取り入れたプログラミング教材の提案を行う。


\tableofcontents
\chapter{はじめに}
\section{背景}
現代社会では,AIやビックデータ,ロボットテクノロジーなどの最先端技術が高度化し,様々な知識や情報が共有され、今までにない新たな価値を生み出している。これにより,ロボットや自動走行車などの技術で,少子高齢化,地方の過疎化,貧富の格差などの課題や困難を克服する世界を「Society5.0」と呼称している\cite{naikaku}。
文部科学省は,2020年度から小学校段階でのプログラミング教育の導入を決定した。プログラミング教育では,コンピュータに意図した処理を行うよう指示することができるということを体験させながら,「知識及び技能」「思考力,判断力,表現力」「学びに向かう力,人間性等」を身につける狙いがあるとしている\cite{monbu}。プログラミング言語は講義から文法的要素やコンピューターにさせる処理を学ぶことによる論理的な学習だけでなく,学習者が実際にコードを記述することでプログラミング的思考が身につき,コードの書き方が身についていく。プログラミング的思考は演習の中でトライ\&エラーに取り組み,感覚的にコードが書けるようになることで身に付くが,数時間という講義内での学習のみではプログラミング的思考を理解するには難しく,講義時間外の自学習による反復学習が必要である。しかし講義時間外の自学習において,プログラミングを勉強し始めたばかりの学習者やプログラミングに苦手意識を持っている学習者はエラーやバグの解決に時間を取られてしまい,学習意欲が減少してしまう。エラーやバグの解決に時間を取られない手法として,Scratch\footnote{非営利団体Scratch財団によって設計、開発、維持されているシンプルなビジュアルインターフェースを持った子供向けコーディング言語。}\cite{scratch}などを用いた感覚的学習も推進されているが,プログラミング言語の文法にあまり触れることがないため,実際のコードに触れることがあまりない。学習始めたばかりの学習者や学習に苦手意識を持っている学習者の自学習による反復学習を向上させる手法としてゲーミフィケーションが挙げられる。ゲーミフィケーションとは,ゲーミングを行うことを目的としていないシステムなどに「レベルアップ」や「スコア競争」などのゲームの要素を取り入れることでモチベーションの維持や向上を図ることが期待できるものである。近年では,日本語教育\cite{nihongo}やSDGs\cite{sdgs}のように幅広い場面で課題解決の手法として利用されている。以上を踏まえ,本システムでは学習意欲の維持・向上を目的としてゲーミフィケーション要素を取り入れる。学習内容として,実践的にソースコードに触れることができるコード記入型学習機能とプログラミング言語をクイズを用いてインプットしながら他の学習者との情報交換・共有を行うことができるクイズ形式学習機能を実装する。

\section{ジュニアドクター鳥海塾}
「ジュニアドクター鳥海塾」とは,地方では学習機会の少ない理数・情報分野に関心の高い児童に、「ジュニアドクター鳥海塾」を提供し,「地域社会」と「情報技術」について,それぞれの研究を深め,地域の魅力を自ら発信し,地域と世界の橋渡しができる人材育成を行う活動である。なお,この活動は,JST(国立研究開発法人科学技術振興機構) の「ジュニアドクター育成塾」事業に採択されているものである。活動の中で,塾生はプログラミングの基礎を学び情報擬実が他分野でどのように生かされているかを知る。そして身につけた技術を使って課題解決プログラムを作成し発表する。
\subsection{受講生の学習の取り組み}
令和4年度ジュニアドクター鳥海塾では,40名の塾生が受講している。学生一人一人に一台の計算機を用意し,塾生はプログラミングの基礎を学ぶ手段として,Ruby言語を利用して学習している。塾生は講義の中で,変数や入出力処理、制御構造、配列、メソッド定義を学習する。また,地域文化、交通心理、天文学、宇宙科学の講義を受け,さまざまな分野の情報技術との関連を学ぶ。最終的にこれまで学んだ内容を活かし,課題解決プログラムを受講生全員が作成する。

\subsection{受講生の活動時間と理解度}
これからかく。課題点となる部分。
図もつける。

\section{研究目的}
本研究では現状の課題を解決するために,プログラム学習者の自学習を推進し,トライ\&エラーを繰り返しながらプログラミング的思考を理解するための,ゲーミフィケーション要素を用いたクイズ形式学習機能・コード記入型学習機能から構成されるプログラミング教材の構築を目的とする。

\chapter{関連研究と類似サービス}
本章では,ゲーミフィケーションを用いて学習者のモチベーション維持・向上に活用するために既存のシステムや関連研究の内容を具体化する。
\section{類似サービス}
本研究にて構築するシステムであるクイズ形式学習機能・コード記入型学習機能と類似している機能を搭載しているシステムを説明する。
\subsection{忍者CODE}
株式会社甲賀-KOGA-が開発したプログラミング学習サイトである\cite{ninjacode}。さまざまなプログラミング言語をクイズ形式で学べる形になっている。HTML,CSSとJavaScript,jQueryとPHPのようにWebサイトを作成する際に使用する言語のクイズに特化している。HTML,CSSのクイズが全91問あるのに対し,Ruby言語のクイズは全15問と少なくなっている。クイズの内容はは,プログラミング言語の語句を選んでいくようなクイズではなく,実際に回答者の環境にあるテキストエディタで実行して回答を導き出し,回答することを想定して作られているクイズである。そのため,回答者は忍者CODEサイトをは別にテキストエディタを使って実際にコードを実行することが必要である。
\subsection{Progate}
株式会社 Progate が開発したプログラミング学習サイトである\cite{progate}。指定したプログラミング言語の構文,メソッドについてスライド式でで学習した後,画面上で実際にプログラミングを行う。プログラミングを行う画面では,実際にコードを入力していき,問題に正解すると次に演習へ進む。図2.2のように左側に回答して欲しいプログラムについての説明があり,中央にコードを記入する場所,右側に実行結果と実行結果の見本が表示される。回答者が答えに迷った場合は,スライドを何度も見ることができ,ヒントも表示できる。Ruby言語についての学習も行うことができるが,基礎的な部分は無料で受講できるが,応用部分は有料である。
  \begin{figure}[H]
\centering
\includegraphics[width=14cm]{ninjacode.png}
\caption{忍者CODE実行画面}
\end{figure}
 \begin{figure}[H]
\centering
\includegraphics[width=17cm]{progate.png}
\caption{Progate実行画面}
\end{figure}

\section{関連研究}
ゲーミフィケーションを利用した研究は今まで数多く行われている。
\subsection{「ゲーミフィケーション要素を取り入れた小学校1年生向け電子教材の実践と評価」}
福山佑樹らの研究では,ゲーミフィケーション教材を小学校に数週間導入した際の学習効果を検討すること,小学校教員がゲーミフィケーションにどのような印象を持ち,実際に導入してどのような影響を教材が与えたと認識したのかを検討することを目的とし,小学1年生用に開発されたゲーミフィケーション教材「アプリゼミ」\footnote{DeNa社が開発した算数・国語・英語を学習できるタブレット端末上で動作するアプリケーション。}を小学校において導入する実践を行った。使用するアプリのゲーミフィケーション要素の確認として,Dichevaら\cite{daicheva}の教育研究における先行研究をもとに「アプリゼミ」のゲーミフィケーション教材としての妥当性を判断した。ゲーミフィケーション教材の実践を2つの小学校において2週間の実践を行った結果,計算分野に関して30\%以上点数が向上するなど大きな成果が見られた。ゲーム要素によって児童がドリル形式の学習を楽しんで行う事ができたことに由来する事が示唆された\cite{game1}。

\subsection{「ゲーミフィケーションを活用したモバイル・ヘルスケアサービス:ドコモ・ヘルスケア「歩いておトク」を事例として」}
藤田美幸らの研究では,ドコモ・ヘルスケアがリリースしたウォーキングを支援することで健康維持・増進を目的とした歩数計アプリケーション「歩いておトク」を利用し,ゲーミフィケーションによる外敵動機付けについて自己決定性の高低の種別により分析し考察した。分析では,同時に幾つかの動機付けを持つことを実証する理論的フレームワークとして自己決定理論(Deci\&Ryan, 1985)を利用し,自己決定性の高低の種類として1,外発的動機づけの発動 2,外敵調整 3,取入的調整 4,統合的調整 6,内発的動機づけの観点から分析を行った。分析の結果,ゲーミフィケーション要素は,ユーザーの動機づけを目的とした行動変容を促すシステムに必要な動機づけのマネジメントの方向性を示してくれ,エンゲージメントを高め行動変容を促すものとした\cite{game2}。

\chapter{ゲーミフィケーションを用いたプログラミング教材の提案} 
本章では,第2章で挙げたゲーミフィケーション要素を用いた関連研究を元に,課題点の解決を図る本研究のシステム内容を定義する。
\section{ゲーミフィケーション手法}
関連研究により得られた知見を活用し,ゲーミフィケーション要素を取り入れた手法の内、以下の4つの手法を用いて機能を作成する。
    \begin{enumerate}
        \item 論理的学習型機能における正解数や演習型機能における回答数によって達成度を可視化し,達成の度合いによって可視化された得点や称号をを用いる。
        \item 間違えても何度もやり直して回答を行える
        \item 他の学習者の名前と達成度を提示する
        \item 演習型機能には時間制限が含まれている課題を搭載する
    \end{enumerate}
    ここに関連研究で使っているゲーフィケーションの
    
\section{}    

\chapter{システムの設計} 
   \section{論理型学習機能の設計}
  学習の際に利用者は,演習型機能と論理型学習機能の2種類から選択する。演習型機能を選択した場合,応用問題と基本問題の2種類から選び,基本問題を選んだ場合には基本問題の中からも分野別に選ぶことが可能である。また,論理型学習機能を選択した場合,基本のクイズと他の学習者が作成したクイズの中から選ぶことができ,自身でクイズを作成することもできる。自身で作成したクイズを他の学習者に提供することで,共に学んでいく学習を論理的学習機能で行える。システム全体概要図は図2に示した。また,システムを作る上で利用者の使いやすさとゲーミフィケーション手法をより効果的に使う目的として,全ての機能にトップページから移動できる動線を意識してデザイン図2を作成した。システム全体を通して,利用者の学習の選択肢を増やすことを意識して作成した。

 \section{演習型学習機能の設計}
  演習型機能では,プログラミング言語であるRubyを学習内容の主体として学習者自らがサイト上でプログラミングのコードを打ち,課題に取り組んでいく機能である。本機能は,学習者の自学習の際にトライ\&エラーを何度も実行する演習を行なっていくことでプログラミング言語の学習の深い理解を目的としている。正解するごとに得点が集計され,達成の度合いの得点に追加される。また本機能では,研究対象である「ジュニアドクター鳥海塾」の講義後に講義で学習した内容の応用問題を出題する。応用問題には1時間の時間制限を設け,学習者の理解度によって差が出る問題を選択する。応用問題の評価項目では,プログラムコードの正確さによって得点をつける。応用問題の得点は,通常の達成の度合いの得点には追加されず,応用問題単体の回答数・正当数に追加される。応用問題では,集計された正当数が5増えていくごとに学習者が称号をもらえる。
          \begin{figure}[htb]
\centering
\includegraphics[width=14cm]{ensyuugata.png}
\caption{演習型機能システム概要図}
\end{figure}


          \begin{figure}[htb]
\centering
\includegraphics[width=14cm]{2022-11-22-R-3.png}
\caption{システム全体概要図}
\end{figure}

        \begin{figure}[htb]
\centering
\includegraphics[height=14cm]{2022-11-22-R-2.png}
\caption{トップページデザイン}
\end{figure}

\chapter{論理的学習型機能の設計}
  論理的学習型機能では,プログラミング言語であるRubyを学習内容の主体としたクイズを学習者が解いていく機能である。クイズを正解すると学習者の達成の度合いの得点に追加されていく。クイズは間違えても何度も挑戦できるようにする。また,学習者自身もRubyに関するクイズを作成できるようにし,学習者が作成したクイズを他の学習者が回答することも可能である。クイズを作成すると,  論理的学習型機能の通常得点の1.5倍の得点が達成の度合いに加算させる。学習者が作成したクイズに回答し,正解しても達成の度合いの得点に追加されていく。
  
\chapter{ゲーミフィケーションの適用実験}
 \section{研究対象}
  本研究では,東北公益文科大学が実施しているプログラミング学習を目的とした塾である「ジュニアドクター鳥海塾」の塾生40名の学習者を対象に,事前アンケート調査を行う。アンケート内容は以下の通りである。事前調査から塾生の現状の確認を行い,現状の改善を目標としたシステムを開発し,モチベーションの維持・向上を目指していく。
     \begin{enumerate}
        \item 自学習の頻度や時間
        \item 交流活動に関するもの
        \item 競争活動に関するもの
    \end{enumerate}

\chapter{結論}
	演習型機能のページの基盤は作ることができた。しかし,いまだ機能は不足しており,利用者のユーザー情報を作成し,ログインする機能やユーザー情報と結びつけて達成の度合いに反映する機能を作成できていない。また,論理的学習型機能の機能も不足している。まずは,学習者が演習型機能を利用し達成の度合いに反映する機能,学習者がクイズを作成し,他の学習者との競争活動を行う機能の実装を進め,システムとしての完成度を高めていく。また,「ジュニアドクター鳥海塾」の塾生の学習状況の調査を行い,本研究のシステムを使う前と使った後の自学習に関する結果をまとめる予定である。調査の結果から,本システムのゲーミフィケーション要素によって自学習の頻度や時間は増えたのかという結果を得る予定である。

\begin{thebibliography}{}
\bibitem{naikaku} 内閣府."Society 5.0".\url{https://www8.cao.go.jp/cstp/society5_0/},(参照 2022-7-05) .
\bibitem{monbu} 文部科学省."小学校プログラミング教育の手引(第三版)".\url{https://www.mext.go.jp/content/20200218-mxt_jogai02-100003171_002.pdf},(参照 2022-7-05) .
\bibitem{scratch} MIT."SCRATCH".\url{https://scratch.mit.edu/},(参照 2022-11-20) .
\bibitem{nihongo} 岩本穣志."日本語授業における、ゲーミフィケーションを用いた学習意欲向上の試み".\url{https://www.jstage.jst.go.jp/article/jlem/24/1/24_8/_pdf/-char/ja},(参照 2022-11-15) .
\bibitem{sdgs} 薮内一葉,平本督太郎."SDGsゲーミフィケーション教材を用いたプロソーシャルモチベーション向上のための手法に関する研究".\url{https://www.jstage.jst.go.jp/article/jjet/37/1/37_KJ00008721376/_pdf/-char/ja},(参照 2022-7-05) .
\bibitem{ninjacode} 忍者CODE."あなたのコードが未来を灯す".\url{https://ninjacode.work/},(参照 2022-12-5) .
\bibitem{progate} Progate."Progate|プログラミングの入門なら基礎から学べる Progate[プロゲート]".\url{https://prog-8.com/dashboard},(参照 2022-12-5) .
\bibitem{daicheva} Dariana Dicheva,Christo Dichev,Gennady Agre\&Galia Angelova."Gamification in Education: A Systematic Mapping Study".\url{https://www.researchgate.net/publication/270273830_Gamification_in_Education_A_Systematic_Mapping_Study},(参照 2022-11-15) .
\bibitem{game1} 福山佑樹,床鍋佳枝,森田祐介."「ゲーミフィケーション要素を取り入れた小学校1年生向け電子教材の実践と評価".\url{https://www.jstage.jst.go.jp/article/digraj/9/2/9_31/_pdf/-char/ja},(参照 2022-11-15) .
\bibitem{game2}藤田美幸,塚本麻紀"ゲーミフィケーションを活用したモバイル・ヘルスケアサービス:ドコモ・ヘルスケア「歩いておトク」を事例として".\url{https://www.jstage.jst.go.jp/article/jsim/38/3/38_74/_pdf/-char/ja},(参照 2022-11-15) .
\end{thebibliography}


\end{document}