実験指向プログラミングプラットフォームへのゲーミフィケーションの導入と実験的評価(長谷)

実験指向プログラミングプラットフォーム

実験指向プログラミングプラットフォームとは私の造語でJupyter Notebook・Lab, Google Colaboratoryのようなプラットフォームのことを指します.

実験指向プログラミングプラットフォームで記述される実験指向なコードは以下のような性質を持ちます.

  • 短期間のプログラミングを他人に共有する
    • 特に昨今のデータマイニングや機械学習など,データサイエンス系の計算
    • 実験ノートのようなインターフェースで記述される
  • 開発者が永続性を考慮しない
    • ソリッドな設計がない
    • 試行錯誤に基づいて頻繁にコードが変更・改良される

これらの性質によって実験指向のコードは説明が記述されにくいという問題を持ちます.コードの説明が少ないことによって…

  • 内容がわかりづらく,再利用や参考にしにくい
  • 開発者当人もコードの把握がしづらく,修正が難しい

といった問題につながってしまいます.

JupyterLabのインターフェース例

目的とアプローチ

実験指向プログラミングプラットフォームにおける問題を解決するために,本研究ではゲーミフィケーションによってコードの説明の記述を促すことを目的とし,ゲーミフィケーションを用いたシステムを提案します.

具体的には以下のようなアプローチに基づいて機能を提案します.

  • A1: コードセルの説明率を可視化する機能の実現
    • 開発者にどの程度コードの説明が記述されているかを認知してもらう
    • コードの説明不足を見せ,その必要性について考えるきっかけを与える
  • A2: 説明を記述するモチベーションを高められる仕組みの実現
    • ゲーム要素によって説明の記述のモチベーション促進

ケーススタディ : JupyterLabへのゲーミフィケーションの導入

ケーススタディとして,実際に提案システムをJupyterLabに導入しました.

具体的には以下のようにコードの説明具合によってさまざまなゲーム的要素の内容が変動する機能を実装しました.

評価実験

提案アプリを導入したJupyterlab環境で被験者に開発を行ってもらうことによって提案システムの評価を行いました.

結果として,全体的なコード説明量の増加を確認できたため,ゲーミフィケーションによってコードの説明記述のモチベーションを向上させることができました.