2015年11月1日 星期日

Arithmetic Challenge Open2015開發紀錄

今天我把以前開發給學校學生使用的算術大挑戰(Arithmetic Challenge)改版開放給校外,主要是把消息Share在溫老師的備課Party,比較起來,這兒重視小朋友學習的老師或家長還是多一點吧!
程式網站的位置→http://163.26.23.3/app/math_game_ex/
這是一個主從式的程式,意思是程式在使用者的電腦上執行,背後卻可以和伺服器連動,很多電玩不都是這樣嗎?以這個程式來說,小朋友挑戰的成績可以上傳到伺服器配合的網站程式接收,這樣可以讓小朋友們比拼一下誰厲害。
原本結合在學校兒童學習網的後端
在這次的改版中,保留原本程式中算術項目功能,「個位數加法」、「二位數加法」]、[九九乘法]、[二位乘一位]、[100以內的減法],我覺得這些項目是小學生最需要的話題,簡單是簡單,就算是一位加一位的題目,如果趕你時間,就可能會出錯囉!
我趁這個機會,就把最近用的「憤怒鳥」加到畫面裡。
程式執行起來的畫面
當挑戰者(學生)按下開始後,程式會自動出題,共20題,題目在上方,答案會隨機出現在下面的八鈕之中,學生做完一題,程式會立刻出下一題,直到20題結束。
分數的核算方法:本程式計算成績的方法依據二個部份→答對的題數及所耗用的時間,而且連績答對還會有動態加分,如此設計的原因是希望學生能同時兼顧作答的正確性及速度。
進入測驗的畫面
我覺得我之前構思的計算分數的方法是蠻不錯的想法→想得高分,得兼顧速度和正確還有連續正確…,只是過去在學校實施,有很多學生的成績會很接近,使用的秒數有一樣的情形,那是因為之前的程式,我讓它每一秒核算一次所謂的「時間加分」,當許多認真的學生出現時,他們的成績會很接近,甚至一樣。
所以這一次,我修改程式這個部份,改為每0.1秒核算一次,我想這樣子,想同分的機會就不多了。

再來就是成績上傳這件事,原來的版本,小朋友測驗完後,想要上傳成績,會跳出一個視窗要求輸入帳號密碼,會送出到兒童學習網認証並取得學生的資料,再寫入成績表,所以可以上傳成績的都是本校的學生。
想讓程式改成讓學校之外的人上傳成績,以學習的角度來說,這絕對是很棒的事,但如何在上傳成績時進行「認証」變成一件很值得思考的事,我不可能要求凡是要上傳成績的人都來系統申請帳號,因為這樣會讓事情變複雜了,而且我也不想找自己的麻煩。
最後,我想了一個辦法,伺服器上不需要保有使用者的帳密,但大家都能以自己的名稱來上傳成績,且人不會有重疊的問題,就是某部電腦上執行這支程式而想上傳成績的,請家長或老師幫學生編輯一個我提供的文字檔,自行建立想要上傳的所有人資料(不違個資隱私的),然後mail給我(tnmongo@tn.edu.tw),而我只是打開來看看有沒有使用「不雅文字」的(我們教育單位總要注意一下)

我也不用費什麼工,只要寄來的檔,沒什麼問題,我就原樣地把這個檔放上網站上的某個程式知道的位置,而我會回信給寄信者一個「特殊號碼」,如果有某個老師為30個學生建了資料,他只要跟這些學生講這個「特殊號碼」,就算在家中的電腦,學生第一次想上傳成績時就可以利用這個號碼,取得這30個學生的帳號,可選擇自己,然後上傳成績。
用特殊號碼取得帳號資料

取得後,帳號那一欄就有人可以選了

※其實「特殊號碼」就是引導程式到成績網站上載回老師建的文字檔回放在C:\cw_arithmetic中,一個叫user.enc的檔,您是不是想說:「想搞怪的,這時再去改這個檔,不是一樣」,可沒這樣簡單,因為我已讓程式將它「編碼」,改不了的!
如果,有老師日後想增減或改變帳號資料,只要重寄文字檔給我(tnmongo@tn.edu.tw),我就會再回一個不同的「特殊號碼」,使用者只要將C:\cw_arithmetic\user.enc給刪了,程式就會讓它重從取得資料檔了!
※老實說,對於想出這個方法,我自己都覺得蠻得意的。

在網站端接收程式的部份,其實就蠻簡單的,不管是ASP或PHP…都可以寫的,只要能接受傳送來的數據,寫進DataBase就行了,也不會有什麼資訊安全問題,以想上傳成績的使用者來說,也不會有什麼隱私問題,可以不要寫自己的真名,只要能識別自己就行了,成績上傳的用意是讓小朋友知道「人上有人、天外有天」也許就會更認真…

沒有留言: