跳到主要內容

學APCS程式檢定對未來有用嗎?

有些朋友問我,學APCS除了升學以外,對未來就業之類的有用嗎?
我的觀點是

學APCS有用,只學APCS沒用

會發出這種疑問的,多半對APCS的題型有相當了解了,因為APCS要考滿級分真的很難,對於演算法要有相當深刻的理解,而這樣的熟練度,大多數的電腦工程師在他的職業生涯都用不到。
大部分的工程師不需要把Dynamic Programming、Greedy Algorithm玩得很熟練,能夠在30min之內解一題;只需要在程式效能不足時,知道有這個概念,然後去翻翻書,花個幾天去解它都沒關係。甚至大部分工程師,只要有能力寫一些”膠水”,把幾個現成的元件”黏”起來就好了,高深的演算法很多都有現成函式庫了,不太需要自己寫。

別誤會,我不是說這樣的工程師很遜。相反的,有能力用現成的元件,有效率的組成一個有用的系統,不要重複發明輪子,才是正確解決問題的方式。
所以學APCS對未來有用嗎?學到實作三級一定是用的到的,如果你有天分隨手考到實作五級當然很棒,但不是人人都有必要硬上五級,時間是世界上最貴的東西,應該花在更有意義的目的上面。

找到真實世界的問題,寫程式來解決,才是真正有用的能力


前面一篇文章有提到,寫一個”口罩地圖App”就是很好的例子。若我要帶一組中學生來做這件事,大概有以下步驟

  1. 發掘問題
  2. 用戶訪談,確認需求
  3. 詳列規格書,把功能定義明確
  4. 小組分工,開發以下元件 
    1. 使用政府開放的口罩資訊API 
    2. 使用Google Map API 
    3. 設計使用者介面 
    4. 使用Web技術(JavaScript、CSS、HTML5),將以上黏成一個系統 
    5. 利用一些工具,把Web系統包成App 
  5. 宣傳這個App,讓更多人知道來使用它 
  6. 收集用戶回饋,持續改善 

只學APCS的學生,辦不到這件事,不學APCS的學生,也辦不到這件事。
開發”口罩地圖App”是一個簡單的例子,但真實世界裡面,光是”發掘問題”都不簡單。舉例來說,譬如參加棒球社的同學,能不能開發一個系統,把球員的數據輸入進去,幫助教練排出最有效的棒次?譬如說家裡開餐廳的同學,能不能開發一個系統,安排桌椅跟行動路線,發揮最高的坪效?社區偶爾有陌生人闖入,能不能開發一個AI系統,辨識陌生人並發出警訊?
程式能力只是解決問題的一部分,其他我講的部分,學校的老師都沒有辦法教。這不是老師的錯,因為學校教育必須做成固定量產的模式,才能用最低成本教出最多的學生。108課綱講究”自主學習”,把更多時間空給學生了,必修科目少了,級分制也讓分數不再斤斤計較,但學校老師沒辦法教你太多,要自主學習。
所以很多家長跟學生都很苦惱,海闊天空變成無所適從。其實這不是壞事喔,很多人都在大學畢業、甚至拿到博士之後,出了社會才發現無所適從,但已經浪費人生最精華的時間在不適合的領域了,現在108課綱把這個痛苦讓學生提早面對,早點走錯路才能早點彎回來,其實是一種社會的進步不是嗎?

歡迎加入跟著愷哥學程式中學生學程式FB社團、以及愷哥電腦科普頻道,跟我一起學程式、學人生。點擊右下角"分享"給其他家長或同學吧!

熱門文章

準高中生該怎麼安排暑假?

國中畢業是一個很微妙的階段,剛經過一場重大戰役,考上理想的高中很讓人興奮。但同時也有些緊張,上高中只是一個階段而已,三年之後怎麼考上好大學才是更重要的,於是許多準高中生就開始上高一先修班了。 等等...你知道學科考高分不再是進好校系的保證嗎? 經過這麼多年的教育改革,台灣的教育界逐漸有所共識,到108課綱定案,「適性揚才、終身學習」不再是烏托邦式的口號,而是確實納入大學招生制度裡了。 真的,如果你只會念書,在升大學這件事情上面,是吃虧的! 我在 想要考上好大學,該怎麼做戰略分配? 這篇文章中有提到,目前大學的招生名額,最大宗的是 個人申請 ,佔了7成,而 個人申請 的制度第一階是比學測成績,到了第二階甄試,基本上就是比適性揚才。即使學測過了,仍然有7成的機率在甄試的時候被淘汰。 八分準備學科、兩分準備興趣專長,才是最有勝率的戰略 那麼我們來看,什麼是準高中生的最佳暑期計畫? 我自己是很不喜歡讓孩子重複學習的,所謂的高一先修班,其實就是把高一第一個月的課程先讀過,以漫長的三年來說,作用其實不大,反而先把胃口搞壞了。 所以我給孩子的暑假安排就是三個大方向。 運動,把體魄練好、眼睛養好。 學一些好玩、自己有興趣的東西 學一些對學科有幫助,但不是重複學習的東西。 運動的部分我覺得爬山、騎腳踏車是最好的,接觸大自然能夠護眼、舒緩身心,最好是全家一起出動。練瑜珈、練氣功我也相當推崇,不但練身而且練心。Switch健身環(雖然現在大缺貨,哈!)也很不錯,雖然是關在冷氣房裡面玩,有動機每天鍛鍊就是滿分! 學好玩、自己有興趣的東西,範圍就很廣了,像我女兒對美術有興趣,就去學素描。而奶奶以前是做衣服的,跟著奶奶學做衣服也是新鮮有趣,又能促進祖孫關係! 至於學科相關,不是重複學習的部分,說他是「加廣學習」也好,「多元學習」也好,反正就是有點苦又不會太苦啦! 我推薦以下三項。 學作文 考全民英檢 學程式 學作文是不錯的一件事,一般學生在學校,一個學期寫不到幾篇作文,趁著暑假學學作文,把寫作的量提高,透過老師指正,對寫作能力會有明顯提升,對長期的人生有正面影響,畢竟表達能力實在太有用了。當然對國文成績也有幫助,也不是重複學習。 考全民英檢也是必須的,國中畢業就應該有能力考過英檢初級,高中畢業之前考過英檢中級以上的話,個人申請第二階甄試會有幫助,透過這樣的階段性檢驗,磨練抗壓力跟英文力,當然長

學習歷程增加學生壓力,還是往有興趣的方向努力?

學習歷程的制度,一些反對的家長/同學們會認為,這是一個增加工作量,導致壓力增加的制度,因此有些反對的聲浪。我們不妨來搞清楚,壓力的本質是什麼。 認真想要上頂大的高中生們,如果不需要做學習歷程,他們會把時間花到休閒娛樂嗎?肯定不會,他們會花更多時間去補習、寫參考書,做更多的考題,壓力完全沒有減輕。 壓力的本質並非是工作量,少了這邊的工作量,認真的學生(well...或者說是家長)會自發性的去創造另一邊的工作量,為什麼? 因為壓力的本質在於"競爭" 競爭什麼呢? 20年前的政府官員,誤以為是競爭上大學,壓力的來源是大學名額太少太難考,所以啟動了廣設大學的政策,大學多了很多,幾乎是考零分都可以上大學,人人有大學念,但學生的壓力卻絲毫沒有減輕。 為什麼?因為競爭的本質並非是上大學,而是 競爭成為精英 。以前是少數精英才能進大學,所以任何大學生都是精英的代名詞;後來大學變多了,國立大學才是精英;再後來大學又更多了,頂大畢業的才代表精英,才容易出國留學、找到好工作等等。只要競爭的目標是成為那頂尖的10%,不管制度跟環境怎麼變,壓力都不會減少。 個人申請制的目標是適性揚才,透過考招制度的改變,包括學習歷程的要求,引導學生朝多元化發展,同時也有降低壓力的效果。 為什麼多元化能降低壓力? 在過去的時代,醫科、電機、法律是大多數學生的第一志願,所有人都想擠同一個地方,壓力怎麼能不大?確實台灣以前比較沒這麼富裕,社會型態比較單調,學生們往穩穩賺錢的方向去選系是合理的,但反觀現在這個世代,賺錢的方法百百種,一個YouTuber、一個名廚、一個養寵物的,都可能賺的比醫生還多。透過多元化的探索,你喜歡當醫生、我喜歡表演、他喜歡動物,第一志願不同,那我們就不用爭,壓力就小了。 多樣化的第一志願 ,能疏散學生壓力,不用大家擠破頭。但這需要家長心態願意改變,打破過去的單一價值觀。 另外一個重點是, 降低學科考試比重 。現在的個人申請制,各校系僅採計相關的學科,大多為三科,也就是說,學生不用科科都拼高分,只要專注在興趣科系的考科即可。舉例來說,目前大多數的資工系僅採計英文、數學、自然三科,甚至有些國立資工系僅採計英文、數學兩科,少念很多教科書。單科封頂15級分也設了天花板,以前滿分600分,沒人能考滿分,再優秀的學生都要無止盡的念書考試,就是為了多對一題、多贏一個人。現在同級分視為

如何一魚多吃的準備學習歷程?

前一篇文章提到,「 有公信力的前30%」 ,是學習歷程最主要的準備方向(請參閱 參加營隊很重要?從數據的角度來看學習歷程 )。除此之外,高中生們還有一個很大的困擾是,光是準備學科就沒有時間了,哪來的時間處理學習歷程? 既然沒有時間,那就一魚多吃吧! 有哪個方向,既可以強化學科,又是多數科系喜歡的領域呢? 有喔,就是 英文 跟 程式 ! 英文的學科重要性無庸置疑。而所有科系都喜歡錄取英文好的學生,這樣才有能力吸收國際上最新的知識,進而用英文做國際發表。 學習程式就是學習數學邏輯,尤其像APCS這樣的程式檢定,主軸就是考驗用程式解數學的能力。在目前網路及AI的時代,不只是電機資訊等科系,包括醫學、財金、法律、商管、藝術、設計、農業、物理、化學...等,所有科系都喜歡錄取程式能力好的學生,結合領域知識及程式能力來開發各種創新應用。 英文跟程式,絕對是學習歷程最有利、最通用的準備方向! 方向有了,那 目標 呢? 前面提到「有公信力的前30%」 , 所謂的有公信力,基本上就兩個方向, 比賽獲獎 跟 檢定考試 。而主辦單位自然是要有代表性的,譬如教育部辦的全國競賽最好,最低標準是校內競賽,而巷口補習班辦的就別提了。 量化來看,概略有3%的學生拿過校內獎項,但學校間的程度落差很大,譬如說建中程式比賽最後一名,可能比他校的第一名還厲害,其實可比性並不好。 全國性的競賽是最公允、可比性最高的項目,但其難度太高,概估只有0.1%的學生可拿到全國獎項,對大部分學生來說太遙遠。 對大部分的學生來說,檢定考試是最可行的目標 。 從統計數字來看,通過全民英檢的高中生,中級以上約50%,中高級以上約10%。若 通過全民英檢中高級,在二階甄試有明確優勢 。 APCS程式檢定也很明確,實作二級以上約70%,實作三級以上約20%,實作四級以上約4%。 APCS實作三級以上就有足夠的優勢 。 這邊有個重要的概念是,除非是在該領域有明顯的資優,不然我都不會鼓勵同學往0.1%努力,只要穩穩進30%就好。畢竟個人申請第一關還是學測,第二關才是甄試,「 八分準備學科、兩分準備興趣專長 」才是比較聰明的戰略。0.1%是特殊選材的道路,大多數學生不適合。 最後來到結論,對高中生來說,以 全民英檢中高級 、 APCS實作三級 為目標,是通用性最高的作法。因為他同時符合以下需求 一魚多吃,同時強化了學科分數 具有公信力

考好APCS就是進好大學的保證?

之前看到一個朋友在抱怨:"我辛苦培養我兒子學程式,考過頂大資工APCS組的門檻,結果還是被刷下來阿,考APCS到底有沒有用?!" 考APCS當然有用,但是你要知道怎麼用 首先我們先搞清楚APCS組是什麼意思,簡單來說,各大學的資工、資管系,大約會拿出總入學名額的5%,錄取程式能力強,但是學科差一點點的學生。而APCS檢定,就是學生程式能力的證明。 高中生的程式能力,大約可以分成幾個等級 資訊奧林匹亞國手,每年全國四人,這些人不需要考APCS,而是保送直接進到頂尖大學。 資訊奧林匹亞選訓選手,約30人以下,以及全國賽名列前茅者,兩者合計約40人,APCS可以考到實作五級分(滿分)、透過推薦、特殊選材或APCS組進到頂尖大學。 對於程式有興趣也學得不錯,APCS成績在實作三級分以上的高中生 APCS實作二級分以下的話,我跟國立大學資工系教授聊過,對入學幫助不大,在此不討論。 第一種人是老天爺賞飯吃啦,這要靠天份,沒辦法強求。 第二種其實也很靠天分啦,只是運氣差一點沒當到國手而已。這些人就把頂大資工的APCS組名額佔光了。 第三種的話,會考數學在A以上的學生,都有機會培養起來。 但是你要知道APCS成績的正確使用方法。 首先要知道,APCS組不是後門,而是窄門。 如果學科成績夠的話,想要上前段國立大學資工系,就盡量不要報APCS組,名額真的很少。後段國立大學甚至私立,APCS組競爭比較沒這麼誇張。但APCS成績最高勝率的用途,其實是在一般組的申請入學。 高中生們應該知道,目前大學入學名額最大宗的是申請入學,佔了七成。而申請入學的機制裡面,分成第一階段學測成績,跟第二階段甄試。第二階段甄試會淘汰掉七成左右的人。想想看,如果你辛苦念了三年的書,好不容易達到頂大學測的標準,但第二階段甄試卻有七成的機率被淘汰,是不是很可怕? 對大多數人來說,APCS的成績,就是讓你在第二階段甄試脫穎而出用的。 反過來說,你也可以想到,有志進頂尖校系的學生,都有準備考APCS,好把你幹掉。 所以我在「 想要考上好大學,該怎麼做戰略分配? 」提到,高中生最好的策略是「八分準備學科、兩分準備興趣專長」。尤其隨著程式能力越來越受到重視,不只是資工、資管,包括電機、工程、理科、甚至商管等科系,APCS的成績都可以在第二階段甄試大大加分,幫助你進入理想的校系。 歡迎 跟著愷哥學程式 ,也

想要考上好大學,該怎麼做戰略分配?

這個時代的升學方式,跟以前的聯考有很大的不同。以前只有拚學科一條路,滿分最多600分,所以分分計較,多寫幾張練習題,多得一分,就可以比別人上更好的志願。但現在升大學最主流的"個人申請",第一階段學測滿分最多60級分,同分者非常多,即使是過了第一階段的學測門檻,也有70%的機會在第二階段甄試被刷掉。也就是說 學科考高分不再是進好校系的保證 所以,到底怎麼樣才能進到理想中的校系,學生們該做什麼樣的策略布局呢?從大局來看,大學招生名額跟考試順序大約是這樣的 10%名額給繁星推薦、特殊選材 70%名額給個人申請 20%名額給指考分發 第一種方式,適合校排名維持在2%左右的高中生,或真的有超級才能的稀有學生,譬如獲得國際奧林匹亞獎牌。第三種方式,是前兩種都沒錄取到理想校系的最後手段。而在這篇文章裡面,我會著重在名額最多的 個人申請 。 108課綱的精神在於"適性揚才",要是理組的學生一律比物理、化學,文組的同學一律比歷史、地理,就顯得呆版不符時代了。個人申請的作法就是,第一階段學測比一個門檻就好,第二階段再透過甄試,錄取真正適合該校系的人才。 舉例來說,台大資工108年的錄取標準是,(英文+自然)共27級分,數學15級分,過第一階段學測門檻的人,再走第二階段甄試淘汰掉約7成的人。總成績裡面,學測佔20%,甄試佔80%,也就是說,就算學測滿分,也有很高的機率沒辦法上榜,甄試的成績很大比例的決定了勝敗。 各校系的甄試標準不一,但簡單來說,都是同一個思維     教授:"為什麼應該錄取你來讀我們科系?"     學生:"因為我對這個科系有興趣。"     教授:"既然你說有興趣,那你有什麼成果嗎?"     學生:"......" 是啊,每一個申請這個校系的學生都有興趣啊,憑什麼錄取你? 所以要考上好的大學,必須在中學的時候,就已經探索出自己的興趣,並累積出成果。如果沒有特別的興趣的話, 我建議往資工、資管方面 準備,接下來我就以國立資工、資管系為目標,規劃大戰略。簡單來說 八分準備學科、兩分準備興趣專長 學科還是優先的,畢竟第一階學測門檻過不了,也沒資格去甄試。而兩分興趣專長,就是 學習寫程式 ,讓你在甄

參加營隊很重要?從數據的角度來看學習歷程

學習歷程是許多高中生跟家長很困擾的事,尤其是 多元表現 的部分。學科成績反正就是努力念,成績不好就去補習,補了還是不好也就認了。但是多元表現? 連題目都不確定的東西,是要怎麼得高分啊?! 於是學生們去參加了各式各樣的營隊,如醫學營、法律營、電機營、程式營... 等等,真的報了這些營,就可以進這些系?  不如我們用數據來推敲看看。 個人申請制,考慮篩選倍率跟超篩等狀況,大致上我們可以說,通過學測門檻的學生,在二階甄試的時候,有3成的機會被錄取。 問問你身邊的同學,多少人沒參加過營隊? 參加過營隊的學生數量遠大於3成,從量化上來說,大部分參加過營隊的人都不會被錄取。也可以 再參考 台大電機葉丙成 教授 及 中山生科顏聖紘教授 的質化 看法 。 別誤會,我不是說參加營隊沒有用,我是說參加營隊,跟會不會被錄取是兩回事,但營隊是一個很好的探索過程,讓你提早發現,你看到血會昏倒,不適合當醫生;整天看螢幕會眼花,不適合念資工;很討厭背書,不適合念法律。當然更正向的是,你從營隊裡面找到自己的興趣,先在那個領域做出成果,那甄試的時候就能夠鶴立雞群。 我還是很建議高中生們多參加營隊,真實的探索自己的興趣。 高中生資訊網站 有很多相關資訊,很建議大家去看一看。 然後,我們先來看看,站在教授的角度,他們怎樣決定錄取誰。 個人申請制的情況,大致上我們可以說,一個系大約有300個人進到二階甄試,也就是教授們要看300份學生的備審資料、面試等等,最終錄取約30%的人。 你覺得教授會花多少時間,來看一個學生的備審資料,包括學習歷程呢?答案是, 5分鐘以內 。 不要覺得教授很混,就算一個人花5分鐘,300份備審資料就25小時了,教授除了原先的日常工作,還要騰出25小時,審上兩週算快了。而且5分鐘其實足夠分辨出誰是較優秀的那30%了。 重點在於,「公信力認證」 舉一個例,學生A做了一個網站,學生B也做了一個網站,千萬不要以為,教授會花個把小時細細觀看,比較網站技術、內容等等誰做得比較好。一則教授沒有時間,二則大部分好壞都差不多,三則真正傑出的學生一秒鐘就可以判別出來了。 學生A:專長網頁設計,網址是xxxxx 學生B:專長網頁設計,曾獲全國網頁設計比賽冠軍 是不是秒選? 當然全國冠軍很難,通常也不需要全國冠軍才能進到30%,但譬如說有沒有拿過市賽獎項?是不是有累計數十萬瀏覽數?都是具體量化,可以明確比

最適合高中生選的科系是什麼?

個人申請 已經成為高中生進入大學最重要的管道,大約7成的入學名額都來自於此,個人申請有個特色是,只能選六個志願校系,六個都沒中就是落榜。有人會說:「我就是興趣廣泛啊,不能選100個志願校系嗎?多元入學怎麼這麼不多元。」 有喔,可以在 指考分發 填100個志願,不過一則指考只佔約2成的入學名額,二則個人申請先舉行,不幸沒有錄取的話還是可以考指考,一般的學生都不會放棄個人申請。 個人申請這麼小氣的只開放六個志願,背後的原因是要倡導「適性發展」,如果學生早點確定興趣科系的話,再依照學測成績來做預估,六個志願不會太難填。 問題就在於,九成的高中生都不知道自己的興趣科系是什麼? 沒有提早佈局而去走個人申請的話,非常吃虧。 在學測通過門檻的情況下,個人申請還是有7成的機率會落榜。 舉例來說,一個高中生一直都把時間花在念學科,要填志願時,想想對多媒體還算感興趣,就填了大眾傳播相關科系,兩手空空的去參加甄試;另一個高中生,已經累積製作了數十則youtube影片,並有數千名訂閱者。顯然的,後者被錄取的機會高太多了。 可是如果真的不知道興趣在哪裡的話,該往哪個科系去佈局呢? 我會推薦資工、資管科系 主要有以下幾個原因 資工、資管是一個相對好念的科系: 一般大學裡面,理學院學的東西比較抽象,通常是最多人念不下去、被退學的科系;電機系的三電一工也是一堵高牆。相較資工學的東西,通常有一定邏輯就能理解,比較不抽象而且應用性高。從另一個面向看,物理系念的東西,是在想辦法理解上帝的發明,而資工系是在理解人類的發明,後者當然好懂很多。 資工 、資管 是最好找工作的科系之一: 資訊業界有相當多非本科系的人,由於他們的本科系畢業之後不易找工作,自學轉職成電腦工程師,可見電腦領域的人力是供不應求的,本科系畢業的當然極為吃香。電腦相關的工作很多而且很廣,從不太寫程式的MIS(資訊管理)、需要大量溝通的PM(產品或專案經理)、專門寫程式的programmer、軟硬整合的Maker等等,資工畢業的人即使各人強弱項不同,都還是能在資訊產業找到適合的工作,是學有所用比例很高的科系。 一台電腦發大財: Google、Microsoft、Apple、Facebook這些科技巨頭的創辦人有什麼共通的特色?他們都是電腦科系的中輟生,書唸到一半發現更有價值的事就離開學校了。寫軟體有個特