學生打字能力約要有每分鐘20個字以上,可參考之前的文章,增進打字的速度練習的方法,曾經教過學生中有打字測驗只有每分鐘8個字的學生,每分鐘就敲不到40個按鍵,眼睛需要隨時盯著鍵盤看的鍵盤才能夠打出程式中的英文和符號,這麼慢的打字速度造成問題是課程中需要經常練習各種挑戰,當別人都完成時這位學生連第一行都還沒打完。由於手機和平板的流行,學生少了接觸鍵盤的機會,我會鼓勵學生在課後有計畫的練習打字每天20分鐘練習的時間,20天或30天後就一定有效果。
多數程式語言都是由英文撰寫,python也不例外,學生對英文的基礎認識和敏感度,決定了程式的品質。英文程式不好的學生,Python關鍵字也會常拼錯,取名區域變數或者函式時拼錯字,產生語法上的錯誤,也都是學不好Python的原因之一。我會發Python常用單字表給學生,讓他們知道至少要會這些字,學習Python會比輕鬆。
Python執行環境,需要學生連打開終端機來執行,很多學生連終端機(Dos shell)從來沒有過,雖然我都會帶領他們一歩歩操作,但是對電腦陌生的學生就顯得非常吃力。解決方式是找尋線上可以執行python的環境讓他們可以在瀏覽器中學習python直接離開了環境設定的問題。像是萊斯大學教授所發展的codeskulptor就是一個很好的環境,可以使用在教學上。
坊間單位和學校開始在課程中會教Scratch,讓學生了解什麼是程式設計,學生的確在Scratch操作,可是沒有建立紮實的邏輯思考的基礎。Scratch中進階功能,像產生分身、建立列表、設計城市積木方塊,用來類比於Python語言中的物件導向class&objects、多變數的List、及函式Function。我都會問來上Python課學生之前曾經學過嗎? 通常不是自己班上Scratch人門基礎到進階上來的學生,多數學生沒有學過,更難說認識這些程式的觀念,其實可惜了Scratch作者的用心,學生一次要學習Python語法且同時要建立進階的程式邏輯觀念,對學生可能太有挑戰性,通常不容易一次可以挑戰成功。會期望學生在學習Scratch時,不只是寫寫小遊戲來玩,更能在自己的程式中建立使用分身、使用列表、建立自己方塊,累積真正寫程式功力。