這週來凹AI寫程式的感想3

資料變多後,我就思考如何讓資料庫結構更加有擴充性,應付各種題型,我把現有結構丟入後AI之後,如下。
QuestionBank
---
ID - 題目唯一ID,Type - 題型,
Level - 難度,Tags - 標籤,
Content - 題目內容(文字及Latex),
Image - 題目所需圖片連結,
OptA - 選項內容(文字及Latex),
OptB - 選項內容(文字及Latex),
OptC - 選項內容(文字及Latex),
OptD - 選項內容(文字及Latex),
OptE - 選項內容(文字及Latex),
Answer - 正確答案,
Solution - 詳解(文字及Latex)
--
AI講一個建議-用JSON(JavaScript Object Notation)合併所有選項及合併Content,Image。很久沒碰程式設計領域的資料,就直接凹AI 給我範例。
看完範例後只有滿滿的佩服,心裡OS是「能想出用這種純文字結構來統整龐雜資料的人,腦迴路到底多強大? 」。

來看看,AI 給的範例
單(多)選題
[ { "id": "A","content": "30^\\circ","isFixed": false},
  { "id": "B","content": "45^\\circ", "isFixed": false },
  { "id": "C", "content": "60^\\circ", "isFixed": false },
  { "id": "D", "content": "\\text{以上皆非}", "isFixed": true}]
 註:isFixed  標記此選項在隨機排序時是否要固定在最後  
選項中有圖片
[{ "id": "A","type":"image","content":"URL strings","caption": "一隻坐著的貓"},
{ "id": "B","type":"image","content":"URL strings","caption": "一隻坐著的貓"}]
選項有不同計分權重
[{ "id": "A","content": "立即進行心肺復甦術 (CPR)",
   "score": 5,"weight": 1.0},
{ "id": "B","content": "先檢查呼吸道,再觀察",
   "score": 3,"weight": 0.6},
{ "id": "C","content": "給予止痛藥",
   "score": -2, "weight": -0.4}]

看完後,我立刻理解JSON的結構屬於隨時可擴充、甚至是任意擴充的純文字儲存概念,也就能把原本的content(題目本文),與Image(題目所需圖片連結) 兩欄位合併單一欄位,再進行相對複雜的圖文排版,而不用侷限在傳統「一欄文字 + 一欄圖片」架構。

用現況來說,現在題目版型就是靠 Content,Image,OptA~OptE兜出來的「一欄文字 + 一欄圖片」架構,雖然簡單明瞭,但很難控制版面,也很難製作題組、甚至現在流行的混合題。
同時,對應的前端Form 也只能根據題型-單選、多選、非選 做調整,但都是制式化格式,如下圖所示。

圖片、題目本文、選項文字 形成三個div,版型很固定。

題目內容、圖片、選項由上到下的Form排列,屬於傳統形式,大約30年前就有了。

一旦 我選擇單一欄位的題目混圖片的JSON,其範例(文+圖+文)如下,經過程式碼渲染就能產出相應的效果,提升學生閱讀的經驗。
--
[{ "type": "text",
    "content": "如圖所示,滑輪質量與摩擦力不計,物體 A 質量為 2kg,物體 B 質量為 3kg。"},
{ "type": "image",
   "src": "ULR ", "caption":"圖說" ,"width":"80%"},
{ "type": "text",
    "content": "若重力加速度 $g = 10 m/s^2$,試求物體 A 的加速度量值為何?"}]
--
也就是說既然可以用圖片URL,就表示能替換成影片、聲音等多媒體素材,進而擴展成線上英檢。同時,前端Form形式就能更多元化。真要玩的話,透過 Vue.JS 是可以玩到跟Google表單一樣花。

再次聲明,我寫ASP/ASP+/PHP 與 MySQL連線的時間點是民國89年(公元2000年),當時是Server-Side Rendering(SSR)的動態網頁技術,與此同時JSON也還沒出現。

當物理老師之後,光教書及處理學生問題就煩死了,沒空去弄懂Client-Side Rendering / AJAX的動態網頁技術。(謎之音:你到現在 一樣不會教物理啊!!!)

雖然運作模式不同,但對我來說基礎概念是相同的,所以我凹AI,凹得很順手,如下圖所示。
提示與:請根據我們之前的對話,生成一張圖,呈現我對待你的方式,不用粉飾,直接誠實呈現。

總之,這週以來凹AI開發的過程,讓我認為也許有機會 能弄出 大考中心自然混合題的線上版,但 對我有來說,依舊需要時間來思索先寫出線上出題的Form,才能渲染線上考混合題的版面。

參考資料
1.JSON,https://zh.wikipedia.org/zh-tw/JSON
2.Vue.js,https://vuejs.org/

發佈留言

較新的 較舊