有學生來找我報名寒假班,看他寫的過往經歷我有點傻眼,他在坊間程式班學了一年才考過ITS,然後該程式班再繼續讓他上APCS初級班。 慢,真的太慢了。 愷哥在 【為什麼是APCS實作三級,其他的不好嗎?】 有提到,ITS、TQC、MTA...等等號稱國際證照,但對於升大學通通沒用,唯一由教育部主辦,明列在各大學招生簡章的,只有APCS。為什麼坊間程式班會推ITS,當然不是因為它有用,是因為它簡單啊!試想,一個程式班,從小學生到大學生都收、從會考0A到5A都收,怎麼教?當然是從最簡單慢慢教阿! 學了一年才準備要開始教APCS初級,真的是天荒地老了。 程式真的不要慢慢學,學越久越考不過 。 除了牛驥同皁的問題,還有教學方法的問題,不然明星高中校內上程式課,照理說APCS都應該考得很好才對,但實際上通過的卻很少。這讓我回想到我高中時上英文課,就是背單字、文法、造句、克漏字、閱讀測驗,每天努力強記,寫考卷還可以,但是實際寫作能力極低,沒有能力用英文表達內心想法。目前高中的程式教學模式,就類似我30年前英文課。學生背幾個程式語言的單字、文法,然後老師給一段特定的程式(如同示範文章),學生讀懂之後,然後依樣畫葫蘆。但,這樣是學不會「寫」程式的。 什麼叫做「寫」程式?就是「把某個生活化的問題,用類似英文的語法,把解決流程精確表達出來」,簡單來說就是「用程式語言寫作文」。而高中生考不過APCS程式檢定的原因,就是老師上課只教單字、文法、閱讀測驗,但程式檢定是考你寫作文。 那老師為何不教寫作呢?我高中的時候,英文老師也是很少幫我們改作文,一個學期大概只改一兩篇。回想起來也是情有可原,英文老師改完一班的作文,氣都氣飽了,頭髮都要白掉一半了,實在改不了幾篇。而目前高中或坊間程式班的教學困境,跟我30年前英文課,似乎是差不多的。 那為何愷哥的學生去考APCS,都有九成以上的通過率? 因為 愷哥從第一課開始,就訓練學生寫作文 。沒有造句、沒有克漏字、沒有閱讀測驗。教多少語法,就寫多少作文。 早期愷哥是親自改學生程式作業的,但就跟高中老師改作文一樣,一來一回,週期太久,學生進步太慢。後來我們自行開發了「code1程式練習系統」,這個系統不但能自動批改程式,還會給予同學提示、除錯線索,回饋時間從幾天大幅縮短到幾秒,幫助同學從零寫出程式;除非同學真的卡關沒辦法,才會給標準答案。 坊間的教學模式則是完全...