跳到主要內容

發表文章

目前顯示的是有「APCS」標籤的文章

資工系特殊選才是怎麼回事?還是先考APCS吧!

每隔一陣子就會有家長問我:「我的孩子很聰明,但不喜歡念書,能不能讓他走特殊選才?」。這是天大的誤會, 特殊選才是要甄選特殊才能的學生,不是特別不喜歡念書的學生 。 國立資工相關的特殊選才名額(再加上保送、推薦等),一年在100人以內,也就是說資訊領域前0.1%的優秀高中生才有機會,幾乎都是學業成績很好的明星高中生。只適合天份跟努力兼具, 喜歡寫程式勝於玩手機的學生 。看到這裡,家長可以死心了。 接下來我粗略地把資工系特殊選才,分成「頂大資工特選」,跟「其他國立資工特選」來看。頂大就是一般通稱的台清交成。其他的部分有包括中央、師大、中山、中興、中正等等,雖然每年可能都有變動,大致上來說,海洋資工是國立資工特選最末一個志願。私立大學特選在此不討論。 很多人以為,特選就是把自認的優良表現都拿去給教授選,也有學生問我能不能做個遊戲去報特選。其實不是這樣的,頂大資工特選,99.9%的高中生連報名資格都沒有。粗略的來說,需要在三大程式賽當中(資訊奧林匹亞、資訊學科能力競賽、網際網路程式設計大賽)進到全國決賽才能報名,這是明列在招生簡章上的。大約要有APCS實作五級的實力,才比較有機會進全國決賽。而最終要特選錄取的話,有APCS實作五級的水準都不一定上。所以 對頂大資工有興趣的學生,就是先往APCS準備,考到實作四級前都沒必要去想特選的事 。以我過去學生的經驗,如果高一上學期就能考到實作四級,那很適合往頂大特選的方向準備,最晚高二上考到還有一絲機會。 而「其他國立資工特選」,難度比頂大降了一級,因為大部分資訊能力優異的學生,都是學科有相當水準的明星高中生,所以挑戰頂大特選失敗後,大部分不會跑去其他資工特選,而是改走學測拚頂大。這些學校的招生簡章,也不會把全國決賽當作主要資格限制。譬如海洋資工特選的招生簡章,APCS實作四級就有報名資格,錄取機率也不低。若學生們評估自己學測真的比較弱,對資訊科技願意投注很多時間,是可以往這方向努力。 關於特選的更多細節,請直接去查各校系的招生簡章。或者吧,其實也不用去查,沒有考到APCS實作三級之前,通通不用去想資工特選的事。 先考到實作三級,學習歷程的絕對優勢先拿到,再看剩下多少時間, 就知道該拚特選還是學測了。 歡迎加入 高中生 學程式FB社團 、以及 愷哥電腦科普頻道 ,跟我一起學程式、學人生。 【愷哥程式APCS班】 熱烈招生中喔!

在學校學不好程式,不敢走資訊系?

今天一個家長緊急來找我,簡而言之,已經快學測了,孩子對於走理組還是走文組,還在三心兩意,要加強國文還是自然就很兩難,很難定下心來。 這類的問題我以前我在 【文理都有興趣?有個科系讓你進可攻退可守】 有談到,卡在文理中間的學生,我建議讀資管系。簡而言之,資管系比大部分文組科系薪水高、工作機會多,相較資工又沒有這麼辛苦,有時間去平衡文組興趣,又因為分數比資工低,可以填到好一點的大學。 但這個高中生不太敢往資訊方向走,因為在校學習程式的經驗很不好 ,全班都學得不好。是,這確實是全國大部分高中生,真實面臨的困境。 其實資訊相關科系的畢業生,很少進到學校裡面當老師,原因很簡單,因為資訊產業的薪水,動輒是學校的兩倍以上,若頂大資訊系畢業生選擇教職,那絕對是做功德。所以學校裡面教程式的老師,多半是其他數理老師,自己進修之後,再來教學生。試想,如果你是數理老師,經過幾年努力進修,具有業界等級的程式水準,想繼續留在學校作育英才,還是改走業界賺高薪? 即使想要過輕鬆穩定生活,對於薪水要求不是太高的人,想留在學校面對惡魔學生恐龍家長,各種網路不通電腦當機都來找你當工具人,還是去考個高普考當公務員? 喔對,資訊專長考公務員很容易,我在 【資工畢業的工作很操?女生不適合念資工?】 有詳述。 除了師資之外,學生也是很大的問題。一則學校同班同學們對於程式的起始程度不一,雖然老師可以一律從零開始教,但同學對於程式的態度不一,這點就難以解決了。因為程式不是學測科目,不是所有人都願意花很多時間在程式上,而程式又需要大量練習才學的好,老師作業出的多也不是,出得少也不是。 因此,高中生在校普遍學不好程式,完全是合情合理的。 那,學生怎麼辦? 高一高二就趕快找愷哥學啊,APCS能考到實作二級以上,個申二階甄試就有相對優勢(如果三級就有絕對優勢),確認適合讀資訊相關科系。如果考不到實作二級,也是很好的收穫,表示你這方面沒有天份,可以堅決的去探索其他途徑,不需猶豫不決。 若已經高三還沒好好學過程式怎麼辦? 正常高三要拚學測、分科,已經沒有空學程式。但有不少學生,是學測考完了,才開始煩惱選系,來找愷哥學程式的。這也是一個亡羊補牢之道,雖然時間上已經來不及在二階甄試前考APCS拿來加分,但可以確認自己的合適性。可以很肯定的說,如果愷哥程式APCS基礎班的作業能好好完成,去念資訊科系都會念很好的。再如果學測考不好必須

怎麼判斷孩子程式方面的興趣天份?是否要學APCS ?

金門資工陳教授說( 參閱 ):「和聯考時代相比,升學系統裏,多出了一些《眉角》。所以如果學生不懂善用這些《眉角》,就可能會錯失機會。但高中生經常是和家長最不能溝通的年紀,所以家長常常會錯失幫助兒女的機會。例如:1. 判斷兒女是否想走資工系,而且有程式方面的天分,然後讓他去練 APCS 或資安...」 所以,怎麼判斷孩子程式方面的興趣天份,讓他去學APCS ? 我的訣竅是,不要等到高中才開始,高中生是不會任父母擺布的,你越要他做他就越不做。必須要在小學就做這件事。 做什麼事? 許多家長來問我,是否要從小開始學程式,尤其是學Python、C++等等正規的程式語言,越早開始越多時間練習,贏在起跑點上。 不是這樣的,我看到的都是越早開始效果越差。 國中小學生不需要學「程式語言」,該學的是「運算邏輯」跟「互動創作」 。白話點說,「運算邏輯」就是學習把真實世界的問題,化為精準的、可重複的流程,因此做一次跟做一萬次的成本都相同,這是極有價值的能力(做一次工,賺一萬次的錢)。「互動創作」的意思是,相較於畫畫、作文等單向的創作型態,程式賦予了互動創意的可能性,可以創作遊戲、互動式故事等等。再更具體說, 國中小學生只要學好Scratch,就非常足夠了 。 每次我講到這裡,就會有家長說:「老師,孩子已經學過Scratch了喔,接下來是不是該學Python或C++了?」。 重點不是「學過」阿,大家都有「學過」英文,那能跟外國人溝通嗎? 在學校都有「學過」美術音樂,都畫的漂亮、歌唱的好聽嗎? 我所謂「學好」Scratch,就是 能自行發揮創意做出好的作品 ,而不是照老師的示範依樣畫葫蘆。更進階來說,就是能勝過同儕,拿到獎項。而Scratch教學,正常小學都是有在教的,搜尋「貓咪盃」,可以看到教育部很努力在推廣,有校內賽、縣市賽、跟全國賽,學生可以逐步挑戰。 對於國中小學生,學Scratch比Python、C++更能培養多元能力。像C++這樣的程式教育僅著重邏輯訓練、解題能力,對國中小學生過於枯燥無趣。相對的Scratch能輕易的把圖像、聲音、互動納入,學生能自主性的發揮創意,訓練作品設計的完整性,兼顧 邏輯、創意、藝術、設計 的培養,對學生長期的發展會更好。如果國中小就透過Scratch做出樂趣跟成就感,到了升高中的時候,學APCS自然就水到渠成,不用家長要求了。 那,如果已經升高中了,錯過

哪種程式學習模式更有效?線上/實體/錄影/實況?

這個同學給我的回饋,我很有感觸,肯定了我程式教學的成效。曾經有家長對於我程式教材採用線上錄影的方式提出質疑,希望我做一些現場教學。但以我教程式的實務經驗,同學普遍給我的回饋都是: 「老師,在你這邊學習程式的效果比別的地方好很多!」 錄影教學的方式,受到主要的質疑是:「學習的過程有疑問時,不能當場問怎麼辦?」。不過我們來看典型的教學現場,學生們幾乎都不發問的,因為「不知道要怎麼問」。有可能是因為現場一分神就沒聽到銜接不上,也有可能是一大片根本沒聽懂,不知道要問哪個點,總不能叫老師從頭講兩三遍。顯然的,錄影教學在這方面占盡優勢。 同學沒聽懂的部分能重複看好幾遍,沒有心理壓力。 但即使能重複觀看,問題減少了,但還是有可能需要發問,怎麼辦? 這其實分成兩個層面: 學生為什麼需要發問? 能怎麼發問? 學生為什麼需要發問?其一是學生素質落差太大,老師講課不可能涵蓋所有可能,如果教簡單了,優秀的學生感覺浪費時間;如果教難了,後段學生跟不上。怎麼樣都會有一半的學生教不好,這是當老師最大的痛苦。因此我的程式課程是篩選學生的,學科能力要有國中會考3A以上(含數學),並且在報名流程上阻擋了學習動機較弱的學生。 學生素質比較齊之後,哪裡會聽不懂、需要加強解說的部分也會比較一致。所以我會收集常被學生問到的問題,更新到錄影課程裡面。如此一屆一屆下來, 學生不懂的部分也變的很少,不太需要提問了 。同時我也開闢線上文字群組,方便同學隨時提問。在這個過程裡,我意外發現這有互相激勵的效果,同學的提問可能被另一個同學回答,而其他同學看著別人討論熱烈,也會激起自己的積極心態。這種「一樣是同學,為什麼他都會?」的心理衝擊,產生不錯的共學效應。最後的最後,如果學生的問題還是搞不定,則透過一對一的視訊通話來指導。 另外一個傳統教學做的不好,但我非常重視的部分是「練習」。傳統程式老師給的練習很薄弱,僅是讓學生依樣畫葫蘆。而我給的程式作業在質跟量上都具有挑戰性,必須學生舉一反三才能解出。我們以開放軟體為基礎,自行開發了「code1程式練習系統」,讓學生看完錄影教材接續練習解題。很多學生反映,看錄影的時候都聽的懂,在code1上寫作業的時候才發現寫不出來,回去再看一次錄影就想到怎麼寫了。 「線上錄影教材」搭配「code1練習系統」,發揮了1+1>2的效果,並且不受時間跟地域的限制。 而code1不只是出題、評分

參加比賽是為了贏?

每隔一陣子就會有家長來問我:「老師,這個程式比賽/檢定難嗎?我的孩子他才學沒幾個月,是不是學個一年再去參加比較有把握?」。我的回答都是:「現在就去參加啊。放心啦,他現在去比穩輸的,比賽又不一定要贏」。 是的,參加比賽的目的不是為了贏,是為了累積失敗 我自己是一名創業者,曾獲得郭台銘董事長投資, 公司估值達2000萬美金 ,但創業是成功率僅為1%的超高難度挑戰,我經營的相當掙扎。直到有一天我聽到了一場演講,演講者是國內最快上櫃的電商公司老闆,他說:「我總共開了20個購物網站,倒了15家,只活了5家」,霎那間我突然了解, 如果我連失敗都比人家少,憑什麼成功? 東方的教育都很害怕失敗,為了避免失敗,都會希望做好萬全準備之後再上場,其實這是搞錯目標了。應該追求的並不是「避免失敗」,而是「盡快成功」。 「避免失敗」的哲學,會盡可能的避免競賽,畢竟每比一次就多一次失敗的機會,不如盡可能的避開,等到自己有萬全準備的時候再上場,這樣「成功機率比較高」。 「盡快成功」的哲學,會盡可能的上場,盡可能累積失敗的經驗,從中學到成功的方法。雖然成功率被拉的很低,但成功會來的快很多,也容易迎來較大的成功。 成功是屬於累積最多失敗的人 。這麼說或許有些雞湯,更精確地說,快速的用最低的成本、累積最多的失敗,是獲取成功最科學的方法。 應該不難設想,那些得獎的人,肯定是失敗很多次之後才贏的。如果你都不去參加比賽,在家苦練三年,然後第一次比賽就得獎,你覺得機會多大? 以APCS程式檢定來說,我自己的程式學生,每30個人去考,就會有一個實作零分。我相當清楚這些學生的實力絕對不可能零分,但是第一次上機考, 不熟悉環境、心情緊張又操作錯誤、或遇到電腦出問題 ,明明會寫卻拿零分。 所以我都跟學生說:「有得考就去考,就是要趁著還沒準備好的時候,先去把失常的配額用掉啊。 不然你要等準備好再去失常嗎? 」 但總是有學生不相信自己會失常,還是等自己覺得準備好了才去考。但第一次考的學生,經常只能發揮出平常七成的實力,只好等半年之後再考一次。 我總是為他們沒聽我的話覺得很惋惜。但轉念一想,這些學生不就是敗在這個觀念嗎?以一個小小的檢定挫敗,換來人生不會再犯相同錯誤,正是在實踐累積失敗啊! 歡迎加入 高中生 學程式FB社團 、以及 愷哥電腦科普頻道 ,跟我一起學程式、學人生。 【愷哥APCS程式班】 熱烈招生中喔!

能不能靠程式能力更強,考上更好的大學?

最近我被幾位同學問到:"老師,我APCS已經實作三級了,後面我該往哪個方向努力,可以上更好大學?"  簡單來說同學的疑問是 "能不能靠程式能力更強,上到更好的大學資工系?" 概略上來說,會問到這個問題的同學,尤其是高二以上的學生,幾乎都沒有機會了。別誤會,我講的不是程式超強沒用,我講的是程式能力 從"還可以"->"超強"中間,有一個真空帶 。 我在 考好APCS就是進好大學的保證? 這篇文章中提到,高中生的程度分成四級 資訊奧林匹亞國手,每年全國四人 資訊奧林匹亞選訓選手(準國手),30人以下,以及全國賽名列前茅者,兩者合計約40人 對於程式有興趣也學得不錯,APCS成績在實作三級分以上 APCS實作二級分以下 靠程式超強來上頂大的學生,制度上走保送推薦、特殊選材跟APCS組,就是前面的兩種人。以全國每屆約22萬高中職學生來說,錄取比例約萬分之一,是名符其實的萬中選一。這樣的程式天才,其實都不需要詢問有什麼樣的升學管道,而是升學管道會主動找上你。 這樣的程式天才,光靠努力是不夠的,一定要有超乎常人的天分(不然怎麼叫"特殊"選材)。大致上來說,如果"認真"學一年程式達不到APCS實作四級的話,就很難是天選之人。對絕大多數的高中生來說,要上好大學,就是學測成績要過一階標準,然後靠APCS實作三級通過二階甄試。這是名額最多,可行性最高的路徑。 那同學又會問說: "老師,難道APCS實作考四級、五級沒有用嗎?" 其實還是有,後段國立或私立的資工系APCS組,可以靠實作四級以上,來提高錄取率,畢竟APCS組的名額少的可憐,實作三級不一定夠。 不過我們要思考時間報酬率的問題。就考生的成績分布,APCS實作三級佔20%,四級佔3%,五級佔1%。實作三級要能夠升到四級,是一個很大的門檻,有可能投注了很多時間,卻跨不過去。就算跨過去了,天花板也只能到國立後段。 反觀東華資工一般組,學測只採計數學跟英文兩科,多念一點書就有機會多一級分,比APCS實作四級的難度更低。甚至再多念一科自然,就可以挑戰中央、台大了。這種 每一分努力都有機會上更好大學 的時間投資,對非天選之人的正常學生來說,是更為合理的策略。 綜合來說,大部分高中生最好的策略就是我在

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

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

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

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

怎麼搶到APCS秒殺報名?

APCS程式檢定的考試每年會舉辦三次,按例在每年的一、六、十月舉辦。 2021年因為疫情關係,所以開放的名額很少,分成三個身份別 1)高三生 2)高二、高一生 3)其他。三個梯次相隔幾天依序開放。通常第一梯次都可以報到,但第二梯次就剩下少數名額,第三梯次則完全沒有名額。 而2022年的考試,則是分為1)高三生 2)其他,共兩種名額。 每年考試規定都會變動,以當屆官網為準。 最近幾屆沒有限制資格梯次,APCS官方提供的考試名額總量還算充足,但容易搶不到離家近的考場,需要跑遠甚至跨縣市去考,還是會比較麻煩。 這篇是告訴大家,報名順序大概是怎樣 。 先說好,這不是什麼"保證搶到"的密技,只是事先讓你知道流程,讓你減少出錯、動作更快、更高機率搶到而已。 【報名過程】 1)以2024/6/16的檢定為例( 不見得每次規定都一樣,僅供參考,請以當次官方公告為準 ),考試前兩個月就要注意開放報名公告,2024/4/24 9:00開放報名。開放前5min,等在報名網頁,準備reload。簡單的來說,報名網頁就那一頁,只是"開始報名"的按鈕要時間到才會冒出來,所以同學就等在那個網頁,不斷reload吧! 2)輸入email並獲取驗證碼。這邊要求你輸入email,APCS官方會立刻發驗證碼給你,輸入驗證碼之後才能登入。為了節省時間,先把email address打好,到時候copy/paste比較快。而且信箱先開好,讀取驗證碼才不會手忙腳亂! 3)輸入資料 總共需要輸入的資料如下圖,注意沒打星號是可以不填的,節省時間。一樣先把姓名、行動電話、身分證號先打好,到時候copy/paste比較快。選考科目有兩科,對於升學來說,兩科成績都是必要的,我會建議第一次兩科都考。若觀念題已經拿到滿意的級分,之後也可以集中精力,單考實作題。 4)一直出現網站錯誤? 由於APCS檢定超熱門,上千人在第一時間搶,官網會出現各種錯誤訊息。不用想太多,就是網站塞爆而已,唯一解法就是重複試,慢慢試。從最近幾屆的經驗來看,試2hr都是很正常的。不用太焦慮,最近幾屆名額還算夠,當天中午前應該還是可以搶到自己縣市的考場,只是努力搶到靠自己最近的考場而已。 好了,就這樣! 這篇不是告訴大家什麼一定會報名到的後門,只是告訴大家先準備好什麼,搞清楚流程,節省個幾分鐘就比較容易搶到。加

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

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

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

許多人都想學程式,這是一個時代趨勢,但該從哪裡學?第一個目標訂在哪裡?一般人並不是太有概念。 這樣的人有許多不同的背景,也有不同的動機,我比較常遇到的是以下幾種 大學非資工系學生,想開發新技能 社會新鮮人,期待未來可以轉職 心中有一個Project,想要靠寫程式來達成的人。譬如很多人就想打造自己的股票分析程式 純粹探索興趣 有些人已經有明確的目標,更多人是探索性質的,沒有非達到不可的目標。若有極明確目標的,建議就直接朝著目標去,譬如網路上就有專教打造股票分析程式的課程。如果是探索的人,大致上是想搞清楚以下幾個問題 我適合寫程式嗎? 我要投入多少時間成本才有所成? 我該學哪種程式好?網頁、App、遊戲? 寫程式的出路好嗎? 先回答第4個問題,寫程式的出路很好,以台灣來說,普遍認為電、資、醫、牙是最好的出路,工作機會跟待遇都相對高。如果寫程式的出路算不好的話,台灣八成以上的工作都算不好了。第2跟第3個問題跟第1個高度相關,所以我們來看第1題就可以了。 學APCS是一個不錯的進入點,拿來探索自己適不適合寫程式 先定義一下"學APCS"是什麼意思,"寫程式"又是什麼意思。 寫程式是一個廣泛的領域,寫一個網頁是寫程式、寫一個App是寫程式、寫一個商業後台是寫程式、寫一個遊戲是寫程式...有太多不同 應用領域 ,而大部分的程式設計師都只專精少數應用領域。 但寫程式有共通點,就是需要 高度的邏輯力,並了解電腦運作的概念 。因此先學習程式共通邏輯,後續再鑽研感興趣的應用領域是合理的,大部分大學資工系也是這樣安排課程。 學APCS其實就是學習用程式解數學 ,也就是學習程式的共通邏輯。這樣的數學不是三角函數、線性代數那種純數學,而是偏應用性質。譬如給定地圖上的一些座標點,要求走過所有點的最短路徑;譬如給定一場棒球比賽的攻守紀錄,要求算出得分等等。這樣的題目型態,在許多的刷題網站都有,國內較有名如 ZeroJudge 。許多大公司如Google、Facebook等,招募工程師時會考程式,應徵者也會先練刷題,國外較著名的刷題網站如 LeetCode 。而各種的程式設計比賽、程式檢定,多是比用程式解數學的題型,而非比誰寫的網頁比較好看、誰寫的遊戲比較好玩。 用程式解數學 的形式,單獨存在的作用不大,必須要跟領域應用譬如網站、App結合,才能處理真實生活

APCS程式檢定的本質是什麼?

APCS(Advanced Placement Computer Science)是由教育部舉辦的一項程式能力檢定,主要用來檢定高中生的程式能力,作為申請大學入學的重要參考,官方資訊可以參考 這裡 。 若高中生有志申請大學資工、資管科系,APCS成績相當重要,大多數資工、資管科系有獨立的APCS組。以109年度的臺北大學資工系為例,APCS組相較於一般組,在學測上的要求少了九級分! 而即使是其他科系,APCS的成績能用來證明學生的程式能力,不管在任何科系的甄試方面,都是很大的加分,簡單的來說,可以把APCS視為「程式界的全民英檢」。關於APCS的評分及入學規定, 這篇 寫得相當清楚了,我在此不贅述。我要探討的是,APCS的本質到底是什麼? 我有個做教育的朋友說:「我不喜歡APCS,它的題目太刁鑽了,只是逼高中生去補習而已,又是一個填鴨式教育。」 我本身是交大資工博士候選人,並在資訊業界打滾了十幾年。APCS實作滿分是五級分,我敢斷言若是全台灣資工系的畢業生來考,差不多平均落在三級分左右。但高中生如果要錄取台清交資工APCS組,至少要考到四級分。 所以高中生要考的比大學生還高,才有辦法入學?是不是什麼地方搞錯了 是有一個地方搞錯了,許多資工系畢業的學生,根本不會寫程式就混畢業了。 他們一開始就不應該去念資工系 。 108課綱的精神是適性發展,猴子就應該去爬樹、魚就應該在水裡游,逼著魚去爬樹本來就徒勞無功。APCS不應該人人去考,應該要對程式有興趣,未來希望寫程式改變世界的人去考。APCS的考題安排很有鑑別度。如果一般有邏輯的高中生,認真學的話要實作三級分不是太難,有天分的可以到四級分。五級分(滿分)真的很難,過往紀錄只有約1%的人考到,很可能裡面多半是老師、或者資訊奧林匹亞的國手。 我並不會鼓勵學生把時間拿來拚滿級分,我認為三級分的程度,就足以寫一些有用的程式了。當學到APCS三級分的程度,就應該用心觀察生活周遭有什麼問題,自己做一個project來解決,”學”的目的是為了”用”,不是為了測驗。而我讚揚108課綱的地方在於,如果你能用的好,就能拿它來入學。 當其他同學的自傳寫著:"疫情期間當志工發放口罩",你寫的是:"開發口罩地圖app,並獲萬人使用",誰會被大學教授錄取?! 開發口罩地

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

有些朋友問我,學APCS除了升學以外,對未來就業之類的有用嗎? 我的觀點是 學APCS有用,只學APCS沒用 會發出這種疑問的,多半對APCS的題型有相當了解了,因為APCS要考滿級分真的很難,對於演算法要有相當深刻的理解,而這樣的熟練度,大多數的電腦工程師在他的職業生涯都用不到。 大部分的工程師不需要把Dynamic Programming、Greedy Algorithm玩得很熟練,能夠在30min之內解一題;只需要在程式效能不足時,知道有這個概念,然後去翻翻書,花個幾天去解它都沒關係。甚至大部分工程師,只要有能力寫一些”膠水”,把幾個現成的元件”黏”起來就好了,高深的演算法很多都有現成函式庫了,不太需要自己寫。 別誤會,我不是說這樣的工程師很遜。相反的,有能力用現成的元件,有效率的組成一個有用的系統,不要重複發明輪子,才是正確解決問題的方式。 所以學APCS對未來有用嗎?學到實作三級一定是用的到的,如果你有天分隨手考到實作五級當然很棒,但不是人人都有必要硬上五級,時間是世界上最貴的東西,應該花在更有意義的目的上面。 找到真實世界的問題,寫程式來解決,才是真正有用的能力 我 前面一篇文章 有提到,寫一個”口罩地圖App”就是很好的例子。若我要帶一組中學生來做這件事,大概有以下步驟 發掘問題 用戶訪談,確認需求 詳列規格書,把功能定義明確 小組分工,開發以下元件  使用政府開放的口罩資訊API  使用Google Map API  設計使用者介面  使用Web技術(JavaScript、CSS、HTML5),將以上黏成一個系統  利用一些工具,把Web系統包成App  宣傳這個App,讓更多人知道來使用它  收集用戶回饋,持續改善  只學APCS的學生,辦不到這件事,不學APCS的學生,也辦不到這件事。 開發”口罩地圖App”是一個簡單的例子,但真實世界裡面,光是”發掘問題”都不簡單。舉例來說,譬如參加棒球社的同學,能不能開發一個系統,把球員的數據輸入進去,幫助教練排出最有效的棒次?譬如說家裡開餐廳的同學,能不能開發一個系統,安排桌椅跟行動路線,發揮最高的坪效?社區偶爾有陌生人闖入,能不能開發一個AI系統,辨識陌生人並發出警訊? 程式能力只是解決問題的一部分,其他我講的部分,學校的老師都沒有辦法教