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