Q:愷哥APCS程式班的目標是什麼? 這門課會協助同學APCS考出好成績, 幫助你能申請上理想的大學 (尤其是國立資工、資管、電機相關科系) 讓同學開拓眼界,理解各種新科技與培養思考邏輯, 有能力在跟教授面試時侃侃而談,並用程式來解決人生中的難題 Q:會有什麼具體學習成效呢? 半年內讓學生通過APCS實作三級 。程式能力較強約前5%高中生會參加APCS程式檢定,通過實作三級約占25%,也就是說, 實作三級約為全國高中生前1%程式能力 ,是極為強大的學習歷程...
我常遇到學生家長問我:「孩子已經跟愷哥老師學了Python,考過APCS初級了,接下來是不是該學C++?」。這樣的思維模式是,Python比較基礎,而C++更進階,要做更厲害的事情,就得學C++。 這個觀念是不對的。 首先要知道,目前最熱門的AI應用,大部分是透過Python來打造的。而且Google、Meta、Netflix等等大公司的平台,也大量用Python來打造。Python語法簡單易學,但同時也是功能強大、建構科技世界的重要語言。C++的語法比較複雜,雖然執行效率比較高,但是寫起來比較容易出錯。兩者沒有高下之分,採用哪種要視目標而定。 而對於高中生升大學來說,什麼是最重要的? 我在 【為什麼是APCS實作三級,其他的不好嗎?】 提到, 「半年內考到APCS實作三級,把時間省下來拚學測」 ,對大部分有志電資相關科系的學生,是時間效益最好的作法。 高中生只有1%可以考過APCS實作三級 ,所以愷哥選擇教學生Python而非C++,目的是減少學習時間,增加學生考過的機率。大部分高中生能考到APCS實作三級就夠了,接下來就專心學測,或探索其他興趣。 如果確定對程式很有興趣,天份也適合,再考到APCS實作四級,已經是高中生前0.2%程式實力,可以特殊選才上中字輩資工。以上都做到了,這時候才有必要改學C++,以此去同時挑戰APCS實作五級、資訊學科能力競賽、及資訊奧林匹亞。 「先用Python考到APCS實作四級,再學C++」 ,這就是愷哥建議,高中生改學C++的最佳時機。 而有些學生會想,把「學過更多種程式語言」當作學習歷程。這其實是無效的,因為每個人都可以「學過」好幾種語言,學一天就算學過了,怎麼證明你比別人更厲害?以APCS的成績來申請大學,只看級分不看語言,因為教授都知道,程式語言之間是互通的,並沒有高下之分。用Python考過一次實作二級,再用C++考過一次實作二級,是毫無意義的,不如集中精力拿到實作三級。就如同考到全民英檢中級,再去考一個多益棕色證書,並沒有什麼意義,程度是看證書的等級,不是看同等級有幾張。 實務上很多學生來問我改學C++,是因為學校派他們去比資訊學科能力競賽。這種狀況很常見,因為我的學生們跟著我學到APCS實作三級,甚至還在二級,就能在校內程式競賽獲獎,會被勸說進校隊培訓。而資訊學科能力競賽採用C++,學生就會面臨要雙軌學Python跟C...