跳到主要內容

如果不是為了升學,學APCS有用嗎?

許多人都想學程式,這是一個時代趨勢,但該從哪裡學?第一個目標訂在哪裡?一般人並不是太有概念。

這樣的人有許多不同的背景,也有不同的動機,我比較常遇到的是以下幾種

  1. 大學非資工系學生,想開發新技能
  2. 社會新鮮人,期待未來可以轉職
  3. 心中有一個Project,想要靠寫程式來達成的人。譬如很多人就想打造自己的股票分析程式
  4. 純粹探索興趣

有些人已經有明確的目標,更多人是探索性質的,沒有非達到不可的目標。若有極明確目標的,建議就直接朝著目標去,譬如網路上就有專教打造股票分析程式的課程。如果是探索的人,大致上是想搞清楚以下幾個問題
  1. 我適合寫程式嗎?
  2. 我要投入多少時間成本才有所成?
  3. 我該學哪種程式好?網頁、App、遊戲?
  4. 寫程式的出路好嗎?
先回答第4個問題,寫程式的出路很好,以台灣來說,普遍認為電、資、醫、牙是最好的出路,工作機會跟待遇都相對高。如果寫程式的出路算不好的話,台灣八成以上的工作都算不好了。第2跟第3個問題跟第1個高度相關,所以我們來看第1題就可以了。

學APCS是一個不錯的進入點,拿來探索自己適不適合寫程式

先定義一下"學APCS"是什麼意思,"寫程式"又是什麼意思。
寫程式是一個廣泛的領域,寫一個網頁是寫程式、寫一個App是寫程式、寫一個商業後台是寫程式、寫一個遊戲是寫程式...有太多不同應用領域,而大部分的程式設計師都只專精少數應用領域。
但寫程式有共通點,就是需要高度的邏輯力,並了解電腦運作的概念。因此先學習程式共通邏輯,後續再鑽研感興趣的應用領域是合理的,大部分大學資工系也是這樣安排課程。

學APCS其實就是學習用程式解數學,也就是學習程式的共通邏輯。這樣的數學不是三角函數、線性代數那種純數學,而是偏應用性質。譬如給定地圖上的一些座標點,要求走過所有點的最短路徑;譬如給定一場棒球比賽的攻守紀錄,要求算出得分等等。這樣的題目型態,在許多的刷題網站都有,國內較有名如ZeroJudge。許多大公司如Google、Facebook等,招募工程師時會考程式,應徵者也會先練刷題,國外較著名的刷題網站如LeetCode。而各種的程式設計比賽、程式檢定,多是比用程式解數學的題型,而非比誰寫的網頁比較好看、誰寫的遊戲比較好玩。

用程式解數學的形式,單獨存在的作用不大,必須要跟領域應用譬如網站、App結合,才能處理真實生活的需求,但它是所有領域應用的基礎,不管是業界或學界,也普遍認為,如果用程式解數學都做不好的話,也寫不出像樣的實用程式。

以APCS的難度,至少要能考到實作三級,才有往程式領域發展的可能性。實作三級大約是,可以寫出比較複雜的實作、有足夠嚴謹的邏輯力、但對於演算法尚未熟悉。到這樣的程度,就足夠往應用領域學習,譬如依興趣往網頁、遊戲、App等方向鑽研。
而,學多久達到實作三級,才叫做有天份呢? 總不能學個十年吧! 我的觀察是,若每周花3hr,半年內達到實作三級算是合適;如果達不到,後續的程式路會走得很辛苦,另外探索其他方向或許會更適合。

歡迎加入高中生學程式FB社團、以及愷哥電腦科普頻道,跟我一起學程式、學人生。【愷哥APCS程式班】熱烈招生中喔!

熱門文章

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

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

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

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

讀資工系很吃天份? 我適合唸資工系嗎?

我常被同學問到:"資工系會這樣嗎?會那樣嗎?",其實這個問題很難簡要回答,因為頂大、國立、私立差別很大,同一校系的各人差別也很大。 舉例來說,網路上流傳一句話:"讀資工系很吃天份",我的學生也因此感到驚恐,明明已經APCS實作三級、高中生前1%會寫程式了,還怕自己天份不夠。 這句話來自於 一部youtube ,訪談了一個原先讀台大資工讀得很辛苦、後來重考台大牙醫的學生。ㄜ...她就念不下去,她當然說很吃天份。去訪談被物理系唸不下去的人,也肯定說物理系很吃天份。 念醫學要有背書的天份、念數學要有抽象思考的天份、念資工要有邏輯清楚的天份...每一種科系都要有天份,資工沒有特別吃天份。同時從另一個面向來看,你會害怕資工系會唸不下去,怎麼不害怕醫學系唸不下去?每年都有醫學系退學、或畢業之後考不到執照的案例阿,每一個科系都可能唸不下去啊! 若從數據來看,實務上有統計過,物理系跟數學系是最難唸的科系,這類偏理論、較抽象的科系,重修、延畢、退學的比率都是最高的。資工這一類,應用、實務型的科系,相對還是比較容易唸的。 那麼,一個學生,怎麼確認自己適合唸資工系呢? 就是高中學看看寫程式阿! 基本上台灣的高中,幾乎都有程式課程,但說實在的,很少學生在學校學得好的,大致上幾個原因 學生程度參差不齊: 不像數學課,大家國中學過什麼都是一樣的,考上同一高中的數學程度也差不多,銜接下去教就好。但程式在國中並沒有標準課程,老師很為難要從哪裡開始教、教多快、教多難。 學習態度與難度不匹配: 學程式跟學數學的難度類似,要高度專注,而且要做大量的練習題。但大部分校方跟學生,把程式課當成某種導論課,聽一聽懂個大概就好了,對於作業跟考試的要求都很寬鬆,這樣當然是學不會寫程式的。 所以,高中生怎麼判斷自己適不適合唸資工? 最明確的方法就是去考APCS APCS是教育部辦的程式檢定,學生可以藉此評估自己的程式能力,在同儕間的什麼程度,而且APCS的成績,在申請資工系的時候,被列為正式的參採項目,甚至還有APCS組有額外的招生名額。 就比例上來說,每年約10萬高中生,其中約5%有考過APCS,可以把這些人當作有心要考資工系的。而APCS分成觀念題(選擇題)跟實作題(寫程式),近年考生的成績大概是這個比例 整個評分方式來說,只要有參加考試、一題都不用答對就是一級分,也就是一

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

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

愷哥APCS程式班

  Q:愷哥APCS程式班的目標是什麼? 這門課會協助同學APCS考出好成績, 幫助你能申請上理想的大學 (尤其是國立資工、資管、電機相關科系) 讓同學開拓眼界,理解各種新科技與培養思考邏輯, 有能力在跟教授面試時侃侃而談,並用程式來解決人生中的難題 Q:所以,課程內容教什麼呢? 以Python為主。原因有二,1)Python是最簡潔易寫的語言,在APCS考試時答題最有效率。 2)用Python做Project相當佔優勢,現代最重要的應用包括網站、人工智慧等,Python都是最主流的語言。除了Python之外,也會用一點時間教學生"讀懂"C語言(不用會寫),因為APCS考觀念題需要,未來也有機會碰到。 配合APCS的考試範圍,會教授基本運算、資料型態、條件判斷、迴圈、陣列、函式、遞迴、佇列、堆疊、排序、搜尋等等內容,並搭配大量練習 講解人工智慧、區塊鍊、5G、VR、AR、駭客思維、創新創業...等最新的科技趨勢及思維模式等等,開拓同學科技視野 【閱讀完整內容】

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

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

怎麼搶到APCS秒殺報名?

2021年因為疫情關係,所以APCS開放的名額數不多,分成三個身份別 1)高三生 2)高二、高一生 3)其他。三個梯次相隔幾天依序開放。通常第一梯次都可以報到,但第二梯次就剩下少數名額會被秒殺,第三梯次則完全沒有名額。 而2022年6月的這場考試,目前則是分為1)高三生 2)"其他",共兩種名額,這篇就是告訴大家, 如果你不是高三,怎麼搶到報名名額。 先說好,這不是什麼"保證搶到"的密技,只是事先讓你知道流程,讓你減少出錯、動作更快、更高機率搶到而已。 1.報名前一天先觀察剩餘考場名額 由於報名是分秒必爭的,為了避免報名當下還在考慮選考場,耽誤幾秒鐘就搶輸了。官方會在前一天21:00公布剩餘考場名額。最好前一天就先看好,哪些是你要的志願。 2.用電腦還是手機報名? 用電腦動作會比較快,但這跟幾點開放報名有關。之前幾次,APCS官方有時會0:00開放,有時又9:00am開放。0:00開放比較單純,學生晚點睡來報名就好。9:00am開放的話,高中生那個時間要上課阿! 要不就得拜託有空的家人幫忙,要不就得用手機,事先拜託好老師可以在那個時間,給個幾分鐘讓同學報名。實際當次狀況,請以官網為準。 4.報名過程 1)以2021/11/07的檢定為例( 不見得每次規定都一樣,僅供參考,請以當次官方公告為準 ),開放前5min,等在報名網頁,準備reload。簡單的來說,報名網頁就那一頁,只是"開始報名"的按鈕要時間到才會冒出來,所以同學就等在那個網頁,不斷reload吧! 2)輸入email並獲取驗證碼。這邊要求你輸入email,APCS官方會立刻發驗證碼給你,輸入驗證碼之後才能登入。為了節省時間,先把email address打好,到時候copy/paste比較快。而且信箱先開好,讀取驗證碼才不會手忙腳亂! 3)輸入資料 總共需要輸入的資料如下圖,注意沒打星號是可以不填的,節省時間。一樣先把姓名、行動電話、身分證號先打好,到時候copy/paste比較快! 好了,就這樣! 這篇不是告訴大家什麼一定會報名到的後門,只是告訴大家先準備好什麼,搞清楚流程,節省個幾分鐘就比較容易搶到。還是希望疫情趕快過去,或者官方多開幾個考場吧! 歡迎加入 高中生 學程式FB社團 、以及 愷哥電腦科普頻道 ,跟我一起學程式、學人生。 【愷哥