幾天前參加了程式檢定,
一次寫對了四題,
而昨天終於看到了當天的成績分布:
六題 0人
五題 0人
四題 1人
三題 0人
二題 2人
零題 1人
這次的檢定比去年少了超級多人,
不過去年最多也是只有1人寫對了四題。
我是寫完四題後,
看時間差不多三點,
就決定去上瑜伽課而不寫了。
今天去系辦問了,
系辦右邊的姐姐聽到我一次通過四題,
就跟我說有達到畢業門檻,可以不用再報名程式檢定了。
晚上上共學班前,
先去師培中心問了關於這學期「試教」的問題,
確認任課老師不需要去現場看試教。
師培右邊的姐姐還順便問了我:
「你之前是讀數學系?」
我:「會計系。」
「我們學校的會計系?」
我:「對。」
「會計系畢業讀資工研究所?這樣轉很大欸!
所以你邊準備論文邊準備考試?你什麼時候要畢業?」
我:「今年。
就一件一件事情解決,
像我們系上有畢業門檻要通過程式檢定,我最近才剛通過。」
我也覺得事情好多,而且好像很難,
可是每件事我認為我都能夠好好解決,
最重要的是,
我不能給自己太大的壓力,
並且一步一步找到適合自己的步調去做,
只要開始做了,
就一定可以做到基本或以上的程度。
就程式檢定來說,
我是碩班才從完全沒碰過程式開始自學,
我體會到一開始還「跨不過去」的挫折感,
知道不能在一開始就做太複雜的題目(像是CPE)。
不斷記了又忘、忘了又記,
才終於抓住了寫程式的感覺。
但不是只有靠我自己,
而是我的「老師」要我在遇到問題時,
試著去畫出流程圖。
我很感謝那位在我學習上的老師,我的某位碩班學長,
讓我終於找到自己寫程式、練程式的步調,
甚至在程式檢定的前幾天,
我幾乎每天都很認真在解題,
解到半夜都不太會想睡覺的那種。
師培右邊的姐姐問我:「你是喜歡資工嗎?」
我只回答:「有興趣想試試看。」
當初完完全全沒有想到會突然走進「當老師」這條路。
或許我很不「資工」,
可是我很想讓每個想放棄寫程式的孩子知道:
「我在不久以前還是跟你們很接近的。」
最近觀課看到學生靠自己努力在錯誤中嘗試,
在努力不問其他同學的情況下寫出了「能跑出老師要的結果的程式」,
覺得很替他們感到開心,
因為我深深知道debug成功後的那個感覺。
也許我無法教太多太難的內容,
可是我從一開始教學的目標就是,
「不放棄任何一位學生」。
比起艱澀的知識,
更重要的是引發學生的思考,
盡可能激起學生的學習興趣。
剛好今天在共學班練習的兩題問答題分別是:
「沒有任何孩子落後法」和
「自我效能」。
自我效能(Bandura社會認知理論的核心概念),
指個人對自己具有充分能力可以完成某事的信念。
自我效能與個人所擁有的技能無關,
而與所擁有的能力程度的自我判斷有關。
作為一種對自己所擁有能力的信念,
自我效能決定個人在特定情境中的行為、思維方式,以及情緒反應。
高度自我效能的人,
能夠增加個人與整體的成就與利益;
將困難的任務挑戰當作磨練,
而非視為應該避免的威脅,
並且確保自己能夠掌握它。
面臨失敗,
會認為是因為自己努力不夠,
或是缺乏應該可以習得的知識或技能,
反而促使他們更加努力。
抱持高度自我效能觀點能促進個人成就,
減低壓力並避免沮喪的情緒。
相反地,
低度自我效能的人面對困難的任務會懷疑自己的能力,
先考慮自身的缺點與將面臨到的阻礙,
詳列出各種可能導致負面結果,
而非思考克服或成功的方法。
面對失敗,
會認為是因為自己能力不足以克服所有導致失敗的負面因素,
進而傾向放棄並減少努力。
低度自我效能的人更容易感到壓力、無力感與沮喪。
可能我前面寫的內容會比較讓人覺得我是自我效能高的人,
但其實很多時候是相反的。
我對數學相關學科的反應一向比較慢些,
因此在一開始練程式的過程中,
常常會因為數學問題而導致自我懷疑,
尤其是在請教學長之後,
更是會覺得:
「為什麼他想得到這樣的作法?
為什麼我就是想不到?」
剛開始練題目總是會花上很多時間,
而且卡住很久的時候,
真的相當挫折。
每次當我自我懷疑的時候,
我就會去Google:
「數學不好適合寫程式嗎?」之類的關鍵字,
希望能夠看到有數學不好的人,
能夠分享自己怎麼把程式練起來的心路歷程。
當我這次通過程式檢定,一次寫對四題後,
我想到這短短沒幾天把程式練上手的過程,
都覺得這或許能稱作「數學白癡的奇蹟」了。
有些人會認為寫程式不需要數學好,
但我的學長總是告訴我寫程式就是要有數學腦、邏輯腦。
而我自己的體悟是,
即便數學不是很好,
甚至是忘得差不多了,
在練題目的過程中總是會有數學題逼著自己去複習。
很多題目都充斥著數學的先備知識,
題目的設計就是預設你都懂那些數學了,
雖然有些題目會很好心地示範給你看它是怎麼計算的(例如最大公因數GCD),
但我認為「自己去想的過程」才是最重要的。
我的學長總是能夠一看完題目就知道題目想要考的是什麼,
也能夠判別出題目的難易度。
當強者不知道你的問題點在哪裡時,
那種感覺是很無助的,
也只能靠自己慢慢去磨。
就算今天別人告訴你能夠怎麼做,
如果沒辦法靠自己的力量去想到的話,
它永遠也不會是自己的,
下一次再遇到相同的問題時,
很可能還是會再犯同樣的錯誤。
我覺得很重要的是,
花時間好好靜下來去想,
確定自己每一步都知道在做些什麼。
在思考的過程中,
其實都是在跟自己對話,
也就是在加深自己的印象。
我很容易犯的錯誤是,
陷在同樣的思維裡而走不出去,
在debug時很容易看不到「自己壓根沒想到的地方」。
所以後來在練題目的時候,
若是真的卡了很久找不出問題時,
我才會請我的學長幫我看看問題在哪。
重點是,
學長不能直接告訴我該怎麼做,
而是用引導的方式讓我「自己想到」。
這樣下次再遇到同樣的問題時,
才會比較容易記得自己的思考過程,
而比較不會忘記要怎麼做。
我現在在觀課的過程,
看到學生遇到問題時,
也都盡可能用「提點」的方式。
我覺得寫程式真的不能讓自己太挫折,
要有正向的心態,
「沒有人是笨到沒辦法寫程式的」。
像我觀察到學生在練習Scratch遇到問題時,
他會選擇用「他知道的方法」去嘗試。
不知道要怎麼用「重複結構」時,
就先慢慢一步一步去做、去跑跑看。
這樣的過程對學習是很有幫助的!
對初學者來說,
建立信心、願意不斷去思考是很重要的,
「即使過程看起來用了很笨的方法,
但至少結果是正確的」。
實習學校的老師總是會跟同學說:
「過程不一定要跟課本一樣,
只要結果是一樣的就可以了。」
雖然在錯誤中不斷debug很辛苦,
但送出後是「AC」的感覺真的很爽快!
這也是為什麼我能夠花整個半夜在debug。
雖然未來是不是會成為教程式的老師還是個未知,
但無論如何我都希望自己不要忘記,
我曾經和這些學生是如此接近,
甚至,
我可能比他們的程度還差,
但是,
我很努力地慢慢去想了,
對,
我總是要花比別人多的時間去想,
因為我沒辦法那麼快反應過來,
而正因為如此,
我才在慢慢去想的過程中,
發現自己能夠越寫越快了。
雖然在寫程式的過程中,
我常常會漏東漏西的,
但只要整體的邏輯架構是對的,
總是能夠把所有bug改掉,
最後得到「AC」的!
我比較幸運的是,
我有學長可以問,
所以可以有那麼一個人提點我,
讓我去看到「自己未曾看到的地方」。
我希望自己的教學也能夠是充滿「引導」的。
我沒辦法想得很快,
所以我知道一定要留充分時間好好去想才行。
希望自己即將到來的「試教」能夠順利。
臨危不亂、隨機應變的能力很重要!
對了,
為什麼說我其實並不算是自我效能高的人呢?
因為在這麼多事情環繞之下,
正常人都會覺得很有壓力吧?
我不是覺得我很厲害,一定能夠全部解決,
而是一件一件慢慢來。
程式檢定只要努力練習,一定會從裡面出到題目,
所以我就開始挑題目練習,
這次很幸運的是,
六題題目中我就看過了四題,
雖然其中一題看過的是我不太會寫而在學長的建議下直接放棄的,
但我想說的是,
多花時間去想就一定有辦法解決的。
程式檢定的畢業門檻問題解決後,
剩下的主要問題就是教檢跟論文口試了。
我給自己灌輸的想法是,
教檢只要平均60分就能通過了,
花更多的時間其實沒太大的意義,
不需要給自己太多的壓力,
畢竟平均60並不會太難。
而論文的部分,
其實本來很想等教檢考完再認真處理,
但這樣會造成我無法好好待在實驗室(因為很可能會被老師關心進度),
因此循序漸進的方式就跟寫程式差不多,
「先從自己能做到的部分開始做」。
畢竟做不到的部分擔心再多也是白搭。
其實最後我想到的還是一句老話:
「慢慢來,比較快。」
不需要去擔心自己比別人笨、想得速度比別人慢,
又或是進度落後別人很多什麼的,
只要照著自己認為「舒適」的步調去做,
慢慢來其實就能夠做得到的。
寫程式若不是為了競賽,
送出錯誤被系統加了時間數又如何?
只要能夠debug出來,
送出再多次的錯誤都無所謂,
只要最後一次的結果是「AC」就夠了。
我想,
這也是一種不錯的人生哲學吧?