Newer
Older
2023-itsuki / c121108-2023-R.tex
\documentclass[a4j]{jarticle}
% -*- coding: utf-8 -*-
\addtolength{\topmargin}{-1cm}
\addtolength{\textheight}{2cm}
\addtolength{\textwidth}{2cm}
\addtolength{\oddsidemargin}{-1cm}
\addtolength{\evensidemargin}{-1cm}
\usepackage[dvipdfmx]{graphicx}
\usepackage{url}
\usepackage{ascmac}


\pagestyle{empty}

%% タイトル %%
\title{unityによる学習アプリの提案}

%% 著者 %%
\author{広瀬研究室3年 \\C1211088 佐藤逸樹}

%% 日付 %%
\date{令和5年11月22日}

\begin{document}
\twocolumn[
\maketitle
\begin{center}
 {\bfseries 概要}
\end{center}
%% 概要 %%
 社会では2020年には小学校、2021年には中学校、2022年には高校でのプログラミング学習の必修化が始まっている。小学校、中学校の場合、実際に行われるプログラミング学習とはプログラミング言語を学ぶものではない。実際に言語を学ぶのは高校に上がってからである。しかし、後に学ぶであろう言語に触れておくことは予習という点から見てやっておいた後が良いのではないかと考えた。そのため、小学生、中校生の学習方法に近い言語学習アプリの作成を提案する。
\vspace*{2em}
]

\thispagestyle{empty}

%% 本文 %%
\section{背景}
 2017年及び2018年に行われた文部科学省による学習指導要領改訂によって、コンピュータを理解し上手に活用していくことは、これからの社会を生きていく子どもたちにとって、将来どのような職業に就くとしても、極めて重要なこととなっている\cite{tebiki}。という考えから2020年には小学校、2021年には中学校、2022年には高校でのプログラミング教育の必修化が行われている\cite{suke}。プログラミング教育と言っても、小学校、中学校では実際に文字を書くようなテキスト型プログラミング言語を学ぶのではなくプログラミング的思考を育むことを目的としており\cite{tebiki}、テキスト型プログラミング言語は高校に進学してから学習する\cite{koukou}。平成28年6月16日に行われた文部科学省の有識者会議によるとプログラミング的思考とは、自分の意図した一連の活動を実現させるためにどのような動きや記号が必要で、それらをどのように組み合わせたり改善していけばよいかを論理的に考えていく力であるとしている\cite{tebiki}。文部科学省ではプログラミング的思考を育む方法のうちコンピュータを用いる方法でブロックを積み上げるようにしてプログラミングを行うビジュアル型プログラミング言語を用いて自分が考えている動きを実現させる方法を想定しており\cite{tebiki}、実際に岐阜県の小学校では第3学年からビジュアル型教材を扱っているという実施例がある\cite{gihu}。ビジュアル型プログラミング言語は初学者にとって使いやすいプログラミング言語と考えられており、入門段階で成功を収めている\cite{bizyuron}。
%この間に文章を入れる(予習の重要性、しかし〜と始めるようなテキスト型を急に学習する難しさなど)
 しかし、ビジュアル型プログラミング言語が入門段階で成功を収めていると言っても、高校に進学後いきなりテキスト型プログラミング言語を学ぶことは学習内容を理解する上で難しい人も出てくるのではないかと考える。%例えば公益大の...。:公益大の基礎プロで履修者に対して落とす人はどれくらいいるかなどを書いてテキスト型プログラミングを初めて学ぶ難しさの根拠を書く。
 プログラミングに限らず学校で学ぶことは一度で覚えられるものばかりではないはずであるため、学校での学びで授業に遅れず理解を深めるためには予習を行うことが重要であると考えられる。%予習が重要であるという例。予習:反転授業
 そこでこのビジュアル型プログラミング言語を利用して後に学習するテキスト型プログラミング言語を学ぶことは今後プログラミング言語を学習する際の予習となるのではないかと考えた。
\section{目的}
本研究ではプログラミング学習を受けている小中学生が行っているビジュアル型プログラミング言語を利用して、テキスト型プログラミング言語を学べるアプリを開発し、学習した言語について基本的な力をつけてもらい今後プログラミング言語を学習する際の予習としてもらうことを目的とする。



\section{先行事例}
\subsection{先行サービスの例}

\subsubsection{スクラッチ}
 スクラッチは世界最大の子供向けコーディングコミュニティーでシンプルなビジュアルインターフェースを持ったコーディング言語であり、特に8歳から16歳向けにデザインされているがすべての年代の人々使われている。自宅、学校、博物館、図書館など幅広い場面で利用されている。
%スクラッチの画面を入れる
\subsubsection{ビスケット}
 ビスケットはメガネという単純な仕組みたった一つだけで簡単なプログラムから組み合わせ次第で複雑なプログラムまで作ることができるプログラミング言語である。ビスケットではアニメーション・ゲーム・絵本などを簡単に作ることができる。
%ビスケットの画面を入れる
\subsubsection{タイルズ}
 タイルズはシンプルなプログラミング言語であり使用する命令は6つのみであるため多くの命令を覚える必要がない。またプログラミングの基本を学ぶための学習テキストがついているため、学習を勧めていくのが容易である。この学習テキストの応用編では人工知能の基礎を学ぶこともできる。

\subsection{先行研究の例}
\subsubsection{松澤芳昭・酒井三四郎による研究}
 松澤芳昭と酒井三四郎の研究\cite{bizyuron}は、ビジュアル型プログラミング言語とテキスト型プログラミング言語を相互変換できるBlockEditorというシステムを用いて、ビジュアル型言語でプログラミングの基礎知識を学習し理解したあとテキスト型言語による実装へとシームレスな移行を目的としている。実験方法は、プログラミング初学者である文科系の学生を対象に15週間毎週BlockEditorのみを使って解く問題、Javaのみを使って解く問題、どちらの方法で解いても良い問題が課され、週を追うごとにどちらの方法を使って解いても良い問題でBlokcEditorがどれだけ使われているかを調べることでJavaの習熟度合いを調べるというものである。結果として、最終的に全体の80%の人のBlokcEditor使用率が低下している。またBlokcEditorを使うことによるJava習得への影響についての質問でBlokcEditorを使うことでJava構文の理解が深まると思うというものの支持率が半数程度得られた。このことからBlokcEditorがJava言語習得の足場かけとして機能しているという結論がなされている。
\subsubsection{岡本恭介・安藤明伸による研究}
 岡本恭介と安藤明伸の研究\cite{okamoto}は、ビジュアル型プログラミング言語としてBlocky Gamesを、テキスト型プログラミング言語としてPythonを利用し、その学習順序がプログラミングへの知識・技能・情意面の変化として教育効果にどのような影響を与えるのか考察することを目的としている。研究方法は、A高校第一学年を対象に『社会と情報』の単元内にて、ビジュアル型プログラミングに関する授業とテキスト型プログラミング言語に関する授業を1時間ずつ行い、ビジュアル型プログラミング言語を先に学習するグループとテキスト型プログラミング言語を先に学習するグループに分け、プログラミングに対する情意面の変化を見るための事前・事後アンケートと指導内容に対する知識・技能を確認するための事前・事後テストを行い結果を比べるというものである。結果として、どちらのグループも事前・事後アンケートの結果から情意面の意識に有意な変化はなかったが、事前・事後テストでは先にビジュアル型プログラミング言語を学習したグループの方がもう一方に比べ「全くわからない」という回答が少なくなっていたことから、先にビジュアル型プログラミング言語を学習することの優位性が示された。
\subsection{先行事例の課題点}
 スクラッチやタイルズはもともとが子供向けに作られているためプログラミングを全く行ったことがない人であってもプログラムを組むことができるがビジュアル型言語であるためテキスト型言語を習得することができない。
 ビスケットはプログラムを書く際にメガネという独自のルールに則って作業をするため、テキスト型言語を使用する際の形と大きく異なることになる。
 松澤芳昭,酒井三四郎の研究で利用されたシステムでビジュアル型言語とテキスト型言語を相互変換したときに一方のどこがもう一方のどこに該当するのかを判断する能力が必要なため、英語をあまり学習していない小中学生がこのシステム使う場合テキスト型言語の習得が難しいのではないかと考える。
 岡本恭介,安藤明伸の研究は学習内容が画像処理をする内容だったため他の学習内容で効果が得られるかがわからない。
 このことを踏まえてビジュアル型言語のようにブロックを利用してテキスト型言語そのものを学習するシステムを提案する。

\section{システムの設計}
\subsection{システムの開発環境}
\begin{itemize}
 \item unity
 
 unityとは主に2D、3Dゲームの制作に用いられるゲーム制作エンジンで簡単なゲームから複雑なゲームまで様々なゲーム開発に用いられている
 \item C#

 C#とはマイクロソフトが開発したプログラミング言語でオブジェクト指向型の言語であり、GUIアプリ開発や、Webtアプリ開発、ゲーム開発などに使われる。今回はunityにプログラムを入力する際に使用。
 \end{itemize}
\section{システムの概要}
 アプリの使用者に対し
\begin{enumerate}
 \item はじめに問題に即した説明文を表示する。
 \item 問題文を表示し、解答に使うブロックとブロックを当てはめるための解答欄を表示する。
 \item 解答欄に正しくブロックが配置されたら正解を表示する。
 \item 1から3のを別の問題で繰り返す。

 システムの大まかな例を図1に示す(図.\ref{figure:image})。
\end{enumerate}

\begin{figure}[htb]
 \centering
 \includegraphics[width=9cm]{sisutem.png}
 \caption{システムの例}
 \label{figure:image}
\end{figure}
\section{学習内容}
%研究で使用する技術は,一般的に説明が必要なものは詳細に分かりやすく書き,ある程度認知されていて,詳細な説明が不要な技術はバージョン記載だけにとどめておく(HTMLなど)。

 学習する内容はRubyとし内容はprint,変数,if文の範囲とする。
%なぜRubyを学ばせて、なぜその3つの範囲を学習させるのか。

\section{システムの提供方法}
 unityではシステムをwebサイトに投稿することができるためweb上に上げたシステムを使用者に使ってもらうという形で提供する。
\section{現在の状況}
%結論は簡潔に書く。
 今回はunityエンジン及びC#言語の使い方を覚えながらコードを書いていくことになったため画面に映し出したブロックを解答欄に当てはめるというところまでしか進めることができなかった。加えてブロックにテキストを当てはめると解答欄にブロックを動かしたときにうまくはまらないという問題が起きている。起きている。また、システムを提供したあとどのようにしてプログラミングの基礎的な力がついたのかを確かめるのかということも決まっていない。
今後はシステムを完成させること、どのように検証していくことで利用者のプログラミングに対する基礎的な力がついたと判断するかを決めるという事に重点を置いて進めていきたい。

\begin{thebibliography}{99}
\bibitem{tebiki}文部科学省."小学校プログラミング教育の手引(第三版)".2020-02.\url{https://www.sejuku.net/blog/wp-content/uploads/2021/07/20200218-mxt_jogai02-100003171_002.pdf},(参照2023-08-15)

\bibitem{suke}文部科学省."学習指導要領改訂に関するスケジュール".\url{https://www.mext.go.jp/content/20220907-mxt_kyoiku02_100002604_001.pdf},(参照2023-08-15)

\bibitem{koukou}文部科学省."高等学校 学習指導要領(平成30年公示)".2018-03.\url{https://www.mext.go.jp/content/20230120-mxt_kyoiku02-100002604_03.pdf},(参照2023-08-15)

\bibitem{gihu}岐阜県教育委員会 学校支援課."小学校プログラミング教育 実践事例集".2020-02.\url{https://www.pref.gifu.lg.jp/uploaded/attachment/238416.pdf},(参照2023-08-15)

\bibitem{bizyuron}松澤 芳昭,酒井 三四郎."ビジュアル型言語とテキスト記述型言語の併用によるプログラミング入門教育の試みと成果".2013-03-15.\url{file:///home/is/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89/IPSJ-CE13119002.pdf},(参照2023-08-15)

\bibitem{okamoto}岡本 恭介,安藤 明伸."ビジュアル型とテキスト型プログラミングにおける学習順序が教育的効果に与える影響".2020.\url{https://www.jstage.jst.go.jp/article/jjet/44/Suppl./44_S44052/_pdf/-char/ja},(参照2023-09-25)
\end{thebibliography}

\end{document}