G6-1

モバイルデバイス用数式入力インターフェースの開発
Development of the Math-Input Interface for Mobile Devices*1*2

中村 泰之 , 中原 敬広*1*2
Yasuyuki NAKAMURA , Takahiro NAKAHARA*1名古屋大学情報科学研究科*1
Graduate School of Information Science, Nagoya University*2
合同会社三玄舎*2
Sangensha LLC.
Email: nakamura@nagoya-u.jp
あらまし：ｅラーニングのオンラインテストで，PC での利用だけではなくスマートフォンなどのモバイルデバイス環境を提供することは，ドリル的な練習機会を増やすことにつながると考えられる．我々は，数学オンラインテストシステム STACK を活用した，計算問題などのドリル的な練習環境を提示することを目的とし，モバイルデバイスでも容易に数式入力可能なフリックキーボード式のインターフェースを試作したので，デモを交え報告する．
キーワード：数式入力インターフェース，STACK

1.

はじめに

近年，多くの教育機関で学習管理システム（Learning Management System, LMS）を活用した教育が実施され，その利用方法の一つとして，学生の理解度を確認するためのオンラインテストの実施が挙げられる．一般の LMS に備わっているオンラインテストの形式は多肢選択型，正誤判定型，数値入型の問題タイプがほとんどであったが，そのような問題タイプに加えて，自然科学教育などで求められる，数式で提示された解答の自動採点を行う，いわゆる数学オンラインテストシステムも最近注目されるようになってきた．Maple T.A.（1），MATH ON WEB（2），STACK （3-5）などはその例であり，実際に様々な教育機関で数学，物理学の演習問題を実施するために活用されている．
このようなオンラインテストは，学生の理解度を確認するためのテストとして活用するだけでなく，自動採点により即座に正誤評価される利点を活かして，多くの問題をドリル的に解いて練習していくという活用方法も考えられる．問題の設計によっては，パラメータをランダムに生成することにより，同類であるが異なる問題を繰り返し練習することも可能であり，これもドリル型の学習には相応しいと考えられる．
オンラインテストをドリル的に活用する場合，PCだけでなく，スマートフォンなどのモバイルデバイスを利用して，いつでもどこでもテストに取り組むことができれば，活用範囲は広がると考えられる．
一方で，選択型や数値入力型ではなく，数式を入力する場合，入力の煩雑さという問題点に直面する．
例えば，(𝑥 + 2)(𝑥 + 3)を展開せよ，という問題に対して𝑥 ! + 5𝑥 + 6と解答する場合，多くのシステムでは x^2+5*x+6 のように「一次元的」に入力する必要がある．しかし，数字と記号が混在し，スマートフォンのキーボード画面を何度も切り替える必要が生じ，その操作も合わせて 19 回のキータッチを求められる．
実際，スマートフォンの利用に限らず，PC での利用の場合でも数式入力は課題の一つとなっており，次節で紹介するように，いくつかの試みが見られる．
今回我々は，スマートフォンなどのモバイルデバイスを活用して，数学オンラインテストシステムによる計算問題のドリル学習を効率的に行うことを目指し，モバイルデバイス用数式入力インターフェースを試作した．

2.

数式入力インターフェースの例

先述のとおり，数式入力の効率を上げるために，いくつかのインターフェースが提供されている．例
えば，Maple T.A.では「数式エディタ」が用意されている．これは，入力した数式が「2 次元的」（例：!!!
𝑥! +）に表示されるものであり，指数や分数の!

認識効率を高め，またスマートフォンやタブレットでの入力もサポートしているが，入力するために，英数字や記号のキーボードの切り替えは必要であり，入力の煩雑さを軽減するものではない．
また，STACK の数式入力の効率化をねらって，
MathTOUCH（6），MathDox を利用したインターフェース（7）などが提案されている．これらは，主に PCでの利用が想定されており，MathTOUCH は Java プラグインとして動作するために，モバイルデバイスの OS によってはサポートされず，MathDox を利用したインターフェースも，モバイルデバイスには対応していない．
我々は，モバイルデバイスでの数式入力の煩雑さを軽減するために，主にモバイルデバイスで利用されているフリック入力を応用することができないかという着想のもと，STACK での利用を想定して，フ― 401 ―教育システム情報学会 JSiSE2015
第 40 回全国大会 2015/9/1～9/3

リック入力式数式入力インターフェースの開発に着手した．このインターフェースの開発により，数学オンラインテストのドリル的な活用機会が増えると期待している．

3.

な演算子のフリック入力を用意している．

フリック式数式入力インターフェース

開発にあたり，利用するモバイルデバイスの OSの依存を最小限にするために，JavaScript で実装した．
また，入力された数式を表示するために，同じくJavaScript で開発された MathDox と連携する方法を選択した．本節では，インターフェースの概要と，簡単な例を用いてどのように数式が入力されるのかを紹介し，最後に入力効率について，従来型のキーボードによる直接入力とのキータッチ数を比較した．
3.1 インターフェース概要
図 1 に基本のインターフェースを示した．左列の「123」キーで数字，「𝑥𝑦」キーでアルファベット・ギリシャ文字のキーボードに切り替えられ，「𝑓𝑥」で三角関数，指数関数などの関数がポップアップで現れる．右側の列に基本演算キーが割り当てられている．

図 3 演算子のフリック入力
3.3 入力効率
表 1 にいくつかの数式の入力に対し，数式入力に必要なキータッチの数を比較した．なお，直接入力の場合アルファベットのキーボードの状態から始め，フリック入力の場合図 1 の状態から入力を開始することとした．また，アルファベットのキーボードのまま，数字切り替えキーを押しながら数字を選択する方法は用いないものとした．表 1 からわかるように，明らかにキータッチ数は減っており，入力の軽減につながっていると考えられる．関数の入力において，それは顕著であることが伺える．
表 1 整数の表現
入力すべき数式
直接入力
フリック入力198𝑥 ! + 5𝑥 + 62𝑥36
13
3𝑥 ! − !
𝑥 +1 !
237
2𝑥 cos 𝑥 !

4.

図 1 基本インターフェース
3.2 入力例(𝑥 + 2)(𝑥 + 3)を展開する問題で，𝑥 ! + 5𝑥 + 6を解答する場合の数式の入力の様子を図 2 に示す．𝑥をタップし上方向にフリックすることにより，𝑥の指数入力待機状態となるので（図 2 左），数字の 2 を入力する．その後+を入力した後，5 をタップし左方向にフリックすることにより5𝑥が入力される（図 2 中）．
そして，+，6を順番に入力し，数式の入力を終える（図 2 右）図 2 𝑥 ! + 5𝑥 + 6の入力の様子
図 2 中のように比較的よく入力される数値と𝑥あるいは𝑦の積をあらかじめ用意することにより，入力の手間を省く工夫をしている．また，図 3 のようまとめ数学オンラインテストを受験する場合，PC での利用だけではなくスマートフォンなどのモバイルデバイスでの利用環境を提供することは，ドリル的な練習機会を増やすことにつながると考え，我々は，数学オンラインテストシステム STACK の利用を想定して，モバイルデバイスでも容易に数式入力可能なフリック式の数式入力インターフェースを試作した．
このインターフェースを利用することにより，同じ数式を入力する場合でも，キータッチ数が少なくなることが確認できた．
参考文献(1) Maple T.A. - Web-based Testing and Assessment forMath Courses – Maplesoft,
http://www.maplesoft.com/products/mapleta/(2) 大阪府立大学高等教育推進機構, MATH ON WEB
Learning College Mathematics by webMathematica,
http://www.las.osakafu-u.ac.jp/lecture/math/MathOnWeb/(3) maths/moodle-qtype_stack · GitHub,
https://github.com/maths/moodle-qtype_stack/(4) Chris Sangwin: “Computer Aided Assessment ofMathematics”, Oxford University Press (2013)(5) Ja STACK.org, http://ja-stack.org/, （2015.6.8 閲覧）(6) 白 井 詩 沙 香 ， 福 井 哲 夫 : “ 数 式 自 動 採 点 シ ス テ ム
STACK における数式入力方法の改善”, コンピュータ＆エデュケーション，Vol. 37, pp. 85-90 (2014)(7) 中村泰之，稲垣佑亮，中原敬広: “MathDox を活用した STACK への数式入力インターフェースの追加”,
PC カンファレンス論文集, pp. 188-191 (2014)― 402 ―