[程式家教] 對不同身份與學習目的的學生因材施教
我已經教寫程式一段時間了
大約教過三四十位學生左右
下圖是我所教過學生的身份圓餅圖

我的教學在中間有過一兩次大轉型
在前期時我的學生大多是社會人士
有的是工作需求
有的自我進修
或是為了轉職目的
學習的語言多半是 C、C++、Python
學習C、C++的人他們所需要的較高專業度以及深度的語言技巧
我教的內容會著重於三點
1. 計算機概論的熟練
2. 指標的應用
3. 資料結構實現
但學習 Python又是另外一種情形
為了轉職目的的他們正在探索他們是否能在程式語言的世界裡存活
這個時候我會給予他們更多的樂趣去探索語言的藝術
1.去體會與機器對話的思維
2.去擅用理性描述解決生活上的難題
3.使用邏輯思維找出問題的來源
下圖是我教過學生的程式語言選擇圖

可以看到學習 C 和 Python 為大宗
但學習 C++和 JAVA 也不少
這其實是因為我在後期收了不少高國中學生
他們多半是歐洲學校或是其他國際學校
以他們學校的課程都會使用 JAVA 為主
有一些普通高中會使用 C++
面對學生身份的同學
我會以啟蒙式教學的方式
有幾點重點會是學生所需要的
1. 學生對於程式語言學習感受
2. 學生對於語言邏輯的敏感度
3. 學生對程式能夠實現事情的想像
4. 解決問題演算法與生活中的連結
每位學生都是一塊璞玉
要學生馬上就能自己去尋找答案或許太過痛苦
給予其自由的想像空間才是他們所需的
並不是每一位學生未來都是會走工程職
但學習程式對於頭腦的訓練絕對是有幫助的
對於處理事情能夠有條理並且具備邏輯地解決生活上的難題
這才是對於頭腦正在啟蒙中的學生最好的幫助
這也是程式教育列入必修的原因之一
並不是讓他們一直接受考試與洗文憑
希望有心讓孩子學習程式的家長們能夠以孩子的立場思考這點