背景デザイン画像1 背景デザイン画像2

Portfolio

空欄補充問題作成ツールをアプリ化

MENU

 概要 

今まで、ゼミとかで演習問題の代役をするときには以下のツールを使用していました。
空欄補充問題生成ツールの仕組みをメモ

今の機能でも十分良い感じなのですが、もう少し利便性を向上させたいと感じたのでアプリにします。

問題点(気になること)

気になるなと感じていることが2個あります。
  • パソコンが無いと使用できない

  • コマンドプロンプトから操作するのでツールっぽくない
ここら辺を改善したいなと思っていました。

パソコンが無いと使用できない件

空欄補充問題を自動生成・自動採点できる点までは良いのですが、パソコンを起動しないといけないので地味に面倒くさい...

スマホからも使用できれば空き時間で即使えるので利便性がかなり向上します。

コマンドプロンプトから操作するのでツールっぽくない件

自分の主観がかなり入っていますが、ツールと言ってもプログラムを一つに統合しているだけなのでツールっぽくない。

操作もコマンドプロンプトからしてるのでプログラムを実行している状態に限りなく近いです。

アプリ化してGUI操作にしたいところ



生成段階・採点段階を両方アプリ化させたいのですが、今回は生成段階の方をアプリ化します。

(採点段階は次回から取り組みます)

 実装 

フレームワークはstreamlitを使用しました。

実装コードは以下です。
Blank_Program_Apps


初期画面はこうなっています。




演習問題の選択項目はこうなっており、ワンタッチで選べるようにしました。

予め演習問題として出題しようと思っていたファイルを登録しています。(計36個)




空欄補充問題を生成」ボタンを押すとこうなります。




空欄の行:計n行」を押すと詳細を見れます。




ソースコード」を押すと元プログラムの内容を見れます。




空欄補充問題」を押すと生成された空欄補充問題の内容を見れます。




ファイルをダウンロード」を押すと空欄補充問題(prob.c)がダウンロードされます。
サンプル




バックエンド側の処理は変更してないので次の点は変更前と同じです。

項目1
生成する度に異なる箇所が空欄になるため使い回しが可能

項目2
以下に該当する場合は空欄にしない
  • 「空欄にしない構文」に出現している

  • 同じ行に別の空欄が生成されている

評価(使ってみた感想)

使ってみた感じかなり良いです。

具体的には次のような場面で使用できるようになりました。
  • 各講義の休憩時間

  • 電車に乗っているとき

  • 運転中、コンビニに立ち寄ったとき

  • 急に空いた謎の時間
手元にあるスマホで演習問題をすぐに作成できるのでアプリ化しておいて良かったです。

現在は採点の方をアプリ化しているので完成したら記事にしようと思います。