顯示具有 兒童學習網 標籤的文章。 顯示所有文章
顯示具有 兒童學習網 標籤的文章。 顯示所有文章

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就行了,也不會有什麼資訊安全問題,以想上傳成績的使用者來說,也不會有什麼隱私問題,可以不要寫自己的真名,只要能識別自己就行了,成績上傳的用意是讓小朋友知道「人上有人、天外有天」也許就會更認真…

2015年10月10日 星期六

開發Multiplication Chessboard紀錄

中秋節連假前的星期五(2015.9.25),我們利用下午沒有課務的時段,在圖書館辦了一場校內的研習:「桌遊在教學上的運用」,參加的就是幾位平時對於桌遊很有興趣的老師,像是内人(Spring Wu)和女兒(Irene Zheng)就是桌遊長期以來的支持者。所以在這小小的研習中,老婆帶了許多之前買的桌遊和其他老師及小朋友分享,也分享了最近在溫老師備課party中看到的資訊:有位邱老師分享了九九乘法盤遊戲的作法,大人和小孩都覺得效果很好。
剛好本人會寫點小程式,心想可以把這「寓教於樂」的想法化成程式,或二人玩或投影,若有電子白板的教室,豈不美事一件,就立刻動手…
※寫程式對自己也是很有幫助的,它可以促進腦細胞快速運動,讓一個人即使夜深了也不會累…哈哈!是隔天才會累
第一件事就是看著人家這張設計,想一下人家建議的玩法
分析原本構思者的想法很重要,它將成為程式最基本的樣子,這方面我算是還可以啦!過去也累積了許多經驗。

一開始先把想像中的畫面做出來
既為「程式」,程式碼才是最重要的,接下來就是思考畫面上的各種功能要如何佈置及靠程式碼去實現,這過程中充滿了腦海中對於未來運作程序的順序模擬,事件及動作,如果怎樣就怎樣…英文就是event→function→if xxx then else xxx,我寫程式的速度算是蠻快的(如果慢下來放著,就會不想寫了),很快地我就完成了基本樣式(約莫一二天中的空餘時間),也不能全部時間都拿來做這事,還是要上課、打球、家務事、也得睡覺…
第一階段最費腦袋的應該就是如何判斷所有三連環的情形,一想之下,情形真多…如何把它化為公式判斷是很重要的,像下方這樣:
function chk_line(user,point)
  if user == "user_green" then
    if String.Find(txt_user_green, "|" .. n-6 .. "|", 1, false) ~= -1 and String.Find(txt_user_green, "|" .. n+6 .."|", 1, false) ~= -1 then
      victory = true;
    end
  elseif user == "user_red" then
    if String.Find(txt_user_red, "|" .. n-6 .. "|", 1, false) ~= -1 and String.Find(txt_user_red, "|" .. n+6 .."|", 1, false) ~= -1 then
      victory = true;
    end
end
這大概花了我最多的時間來思考吧!
還有我也希望程式能吸引小朋友,剛好我家女兒很喜歡「Angry Birds」,所以裡頭如果能用Angry Birds圖案就不錯,但會不會有版權問題呢?上網找了一下,Angry Birds Playing CardDeck and Vector Characters,很棒的外國作者的作品,以創用CC 3.0釋出,看來應該可以使用

在程式中我也用了女兒(Irene Zheng)的手繪作品,寫程式的人特權就是愛用什麼素材就用什麼素材,可以完全客製化
玟琳喜歡畫Angry Birds(其中一張)
這個夠活化腦細胞的
經過一番努力,我完成了所謂的Beta版,迫不及待地請老婆女兒當首席測試員,看看有沒有什麼問題,果然就有問題,竟然出現了該獲勝,程式卻沒反應的情形,當然就是有Bug啦!
這程式是耍呆嗎?
這其實很平常啦!「哪有人吃燒誁餅不掉芝麻的!」寫程式哪有沒bug的,但這可又要想一下了,快速地掃視一下程式碼,果然原本的想法裡有漏洞,通常我會做筆記把情形寫下
這東西應該只有我自己看得懂
很幸運地!很快看出問題出在哪兒,就可以快速修正它,所有的邏輯思考到此應算完成了,接下來我就想為程式加些原本沒有的想法,免得遊戲太陽春了,所以我加入了進階版亂數盤面的功能和限時的功能,以及讓玩家能選擇代表圖的功能。
跑起來的畫面
先這樣吧!就Release了,這程式我放在http://163.26.23.3/app/multiplication_chessboard/,讓有興趣的同好們一起玩玩看,過二天有空,我還會繼續Update它,最終我想讓它和「兒童學習網」連接,取得學生的資訊,並可以上傳對戰歷程。
以下是一些程式中用到的畫面:都是用女兒畫的圖來做的



這是我個人最喜歡的咖菲貓

2015年5月4日 星期一

經營線上的獎品網

我想,經營店面著實不是件簡單的事,當然我說的是「認真經營」的前提下。這二天要來整理一下獎品網的獎品,有些之前建置的,店家已經沒貨了,要刪掉,有些當季的新鮮貨,我和主任前些日子去拍了許多,還帶了玟琳一起去,相機由她掌鏡。在做這些事務的同時也會發現程式管理介面不順手的地方,當下就修改程式以符合自己想要的功能…
找了玟琳來當小志工負責拍獎品照~給她Canon 550D

說起兒童學習網的緣由,十來年前因著迷於學習寫網路程式,整天東想西想可以發展成為程式的有用話題,當時流行起一種「虛擬幣」的風潮,靈光一閃,這種概念可以拿來運用於學校學生的學習激勵制度。
最近必須整理起獎品網,準備讓小朋友可以換獎,獎品的汰舊換新也是件工程
對於學生的好表現,不論功課上或是行為上,一般學校的手段就是給予獎勵,期待好的表現能夠強化或發展,而這也是大家普遍能接受的一種概念。學校有時給獎狀,有時給獎品,有時口頭讚美一下,小朋友就覺得非常受用了,但是「船過水無痕~」,大到足以有獎狀的好表現之外,小朋友更常有的是很多很多的小的好表現,可以收集起來嗎?這成為我發展「兒童學習網」的起始想法。
再者,以前學校總要儲存許多的存貨當學生的網品,我心想:是不是可以來個「買空賣空」,於是就有了線上獎品網的想法,只要找到固定的商家,談好概念,獎品就不用買來備著了,取而代之的是「拍照」,而且在網路上,學生可以看到的選擇可以更多樣化,有什麼不好呢?若要說不好處,就是要有個老師去「經營」這個「獎品網」!(當獎品越來越多,清除舊的、增加新的、尋找小朋友喜歡的又有意義的…),我可以體會網路上經營商品買賣的的店家辛苦之處,但人家是在賺錢,我們可沒錢賺!(學生換獎所衍生出來的經費是由家長會全部吸收的,實在感謝家長會,要不然是玩不下去的)
隨著我寫程式能力的進步,我以零件模式發展這組程式,套句小朋友的話,就是主核心程式產生後,其他的子程式區都是「外掛」,這組程式越來越ok,也能實際運用。但最大的難處其實並不在於寫程式的焚膏繼晷,而是我自認用這種方式可以帶給學校及學生貢獻,但事實上卻可能成為某些教學者的惡夢,主要是這個吧→「為什麼得做這種多餘的事!」,我知道我在做的這件事是學校經營者、家長、學生、少數老師都會大表認同且按讚的,但顯然很難討好另一群人…,當然沒有人是錯的,因為沒有人「犯法」!
志工家長及退休老師花那麼多時間做來贊助獎品網

退休的淑妃老師每次都提供很多作品

志工老師的手工作品很精美

根據以前的經驗,小朋友很喜歡換這些手工好物

我常在想的一件事是:如果你自己有孩子,你希望他(她)在怎樣的學習環境學習;你希望他(她)遇到怎樣的老師來教他(她),我們自己就應該去成為那樣的老師,努力地去建置好的教學場域,不是嗎?
之前我做了個簡報想要說服大家~